What Is an MCP Server? A Plain-English Guide for 2026
MCP (Model Context Protocol) is the open standard that lets AI agents call tools and pull live data. Here is what an MCP server is, in plain English.

The short version
An MCP server is a program that exposes a set of typed tools (think search, get_holdings, resolve_ticker) to an AI agent over the Model Context Protocol (MCP), an open standard. The agent discovers the tools when it connects, calls one whenever it needs a fact it does not have, and gets back structured, sourced results instead of guessing from training data. Connecting one takes two things: a server URL and an API key. Arkolith is an MCP server for the real-world economy: one key, and your agent can query SEC filings, fund holdings, and insider transactions, each datapoint traced to its source.
The one-sentence definition
An MCP server is a small program that advertises a set of tools (like search, get_holdings, get_series) to an AI agent. When the agent needs something it doesn't know, it calls one of those tools and gets back a structured answer it can reason over.
Concretely, the server publishes a machine-readable tool list: each tool carries a name, a plain-language description, and a typed input schema. The model reads that list the way you would read API docs, picks a tool, fills in the arguments, and the client executes the call.

Why it matters: agents are only as good as the data they can reach
A language model on its own is frozen at its training cutoff and has no access to your private or live data. Ask it which funds hold a stock today and you get an answer that sounds like a filing: plausible manager names, stale position sizes, sometimes a holder that exited several quarters ago. The failure is not intelligence. It is reach.
MCP fixes the reach problem, and fixes it once. It is the same idea as a USB port: a single, standard way to plug capabilities into an agent so any MCP-compatible client (Claude, and a growing list of others) can use any MCP server without custom glue code. Before a shared protocol, every app needed a bespoke plugin for every data source.
That standardisation is the whole point. Build one MCP server and every compatible agent can use it.
MCP server vs. a plain REST API
A REST API is for your code to call. An MCP server is for an agent to call. The difference in practice:
| REST API | MCP server | |
|---|---|---|
| Caller | your application code | the AI agent itself |
| Discovery | you read the docs | the agent reads the tool list |
| Output | JSON you parse | structured results the agent reasons over |
| Errors | status codes your code branches on | messages the model can act on |
| Best for | deterministic integrations | letting an agent decide what to fetch |
A quick decision rule:
- A nightly job loading holdings into your warehouse: REST. The query never changes and you want determinism and pagination.
- An analyst asking ad-hoc questions in chat: MCP. The question changes every time, so let the agent pick the tools.
- An agent pipeline that decides at runtime which filings it needs: MCP for the exploratory steps, REST once a step hardens into a fixed query.
Good platforms offer both. Arkolith does: a REST API for code, and an MCP server for agents that wraps the same data.
What a good data MCP server gives you
- Composable tools, not one giant endpoint. Small tools chain: resolve an identifier, fetch a slice, compare, refine. A
get_everythingtool floods the context window and leaves the agent no way to course-correct. Rule of thumb: one tool, one thing an analyst could describe in one sentence. - Provenance on every datapoint. Source document, accession number, filed-at timestamp, and a link back to the primary record. This turns "the model said so" into "the filing says so" and makes a wrong answer traceable to a specific filing.
- Predictable auth and metering. Agents retry, loop, and fan out. Per-call credits with hard caps turn a runaway agent into a bounded annoyance rather than a surprise bill.
- Descriptions written for the model. The description is the only documentation the model reads. "Returns a fund's quarterly holdings; accepts a CIK or fund slug; values are end-of-quarter" beats a terse
getHoldings(id)because it tells the model when not to call the tool. - Errors the agent can recover from. A bare 400 leaves the model guessing. "Unknown ticker; call search first to resolve the identifier" lets it fix its own mistake.
Where MCP fits next to RAG and function calling
Three terms get blurred together, and they solve different problems:
| Approach | What it is | Where it wins |
|---|---|---|
| Function calling | a model emitting structured calls to functions wired into one app | single-app integrations you fully control |
| RAG | retrieving chunks of your own documents into the prompt | unstructured private corpora: PDFs, wikis, contracts |
| MCP | an open protocol exposing tools and data to any compatible client | live, structured data shared across many agents |
They compose rather than compete: function calling is the mechanism a client uses under the hood when an agent invokes an MCP tool. The practical question is ownership. If the data is yours and one app consumes it, plain function calling may be enough; if many agents should reach the same data, a protocol beats a plugin.
What this looks like for market data
Imagine asking an agent: "Which funds added to Nvidia last quarter, and can you show the source?" Without tools, the model can only guess from training data. With an MCP server, the flow is auditable:
- The agent resolves "Nvidia" to a concrete security, because filings key on CUSIPs while humans speak in tickers.
- It chooses the holdings tool and pulls the institutional holders of Nvidia with quarter-over-quarter changes.
- The server returns structured rows from the 13F data layer. For Q1 2026 that universe is 1,824 filers disclosing 1.87M positions worth $53.7T.
- The answer cites the filing, timestamp, and URL behind every number.
From there the agent can chain: pull a single manager's filing history (the Berkshire Hathaway portfolio page is built from the same rows), then cross-check against Form 4 insider transactions, a stream of 51,000+ records on a much faster disclosure clock than quarterly 13Fs.
The data has edges an agent will fall into unless the server handles them:
- Timing. A 13F is a snapshot filed up to 45 days after quarter end (2026 deadlines: Feb 17, May 15, Aug 14, Nov 16). Treating it as current positioning is the most common silent error in filings analysis. Form 4 lands within 2 business days, a 13D within 5 business days of crossing the activist threshold, a Form 3 within 10 days of becoming an insider. Label freshness so the agent matches the stream to the question.
- Amendments. A 13F/A can restate or extend the original filing. A naive server double-counts; a correct one supersedes the earlier version so the agent never averages two copies of the same quarter.
- Options legs. 13Fs include puts and calls. Summing them into a long book turns a bearish put position into a "top holding". Good servers keep the long book and the options overlay separate.
- Coverage floor. Only managers above the $100M 13F threshold file at all, so absence from the data is not absence from the market.
MCP is not magic by itself. Its value is a narrow, documented contract where this domain knowledge gets encoded once instead of re-learned by every user. The same pattern works for fund pages in the funds directory and CUSIP-to-ticker resolution.
How to connect one
Most teams need two pieces:
| Piece | What it does |
|---|---|
| API key | Authenticates the calls and lets usage be metered |
| MCP server URL | Tells the client where the tools live |
For Arkolith, sign up, mint a key, then follow the MCP quickstart. A typical Claude Code setup points the client at:
https://arkolith.com/api/mcp
Then smoke-test it: ask one question that requires a tool call ("which funds hold the largest Nvidia positions, with sources") and check that the answer carries citations. If the agent answers without calling a tool, the server is not wired in, however plausible the text looks.
Developers can also call the underlying REST API docs directly. The best architecture keeps both surfaces over the same data so an analyst's chat answer can be reproduced in code.
Common mistakes
- Too many giant tools. Give the agent small actions like search, fetch holdings, fetch filing, and resolve identifiers.
- No provenance. If the server returns values without source metadata, the agent still cannot explain why the answer is true.
- Unbounded access. Agent calls should be metered, logged, and scoped to what the user is allowed to see.
- Unlabeled freshness. A quarterly snapshot served as current positioning is precisely sourced and still wrong. Stamp every result with its as-of date.
- Trusting the model with permissions. Scope and entitlements belong server-side. A system prompt asking the agent to "only access allowed data" is a suggestion, not a control.

Frequently asked questions
What does MCP stand for?
Model Context Protocol. It is an open standard for connecting AI agents to tools and data sources.
Do I need to code to use an MCP server?
No. In a client like Claude you add the server once, then ask in plain language. Developers can also call the underlying REST API directly.
How do I connect a market-data MCP server to my agent?
Get a key, then add the server to your client. We walk through it step by step in Connect market data to Claude with MCP.
Is MCP only for Claude?
No. MCP is an open protocol; any client that implements it can use the same servers. Claude's clients support it natively, and support across other hosts keeps widening, which is exactly the point of a protocol over per-app plugins.
Can an MCP server take actions, or only read data?
The protocol supports both: a tool can fetch data or perform an action like writing a file or sending a message. Data platforms tend to expose read-only tools on purpose: read-only plus per-call metering means a misbehaving agent can do nothing worse than spend credits. Action tools deserve stricter review and a human confirmation step.
Arkolith is an MCP server and API for the real-world economy. Get a key, connect it with the MCP quickstart, or explore the 13F data layer.
Keep reading

How to Track Institutional Ownership Changes
Track institutional ownership changes by separating quarterly 13F position changes from faster Form 4 insider signals and keeping every claim tied to a filing.

Qwen3.8-Max Puts Open Weights on a Clock
Alibaba's Qwen team released Qwen3.8-Max with a 2.4T-parameter claim, 95B active parameters and open weights promised next week.

WhaleWisdom API Alternative: 13F Data With MCP
A WhaleWisdom API alternative should preserve SEC 13F source links, accepted dates, comparable filings, and agent-ready retrieval paths.