How to Connect Market Data to Claude with MCP
A step-by-step guide to giving Claude (or any MCP client) live, sourced market data: get a key, add the MCP server, and start asking in plain language.

The short version
Point your agent at ground truth. There's no dashboard to learn. Your agent connects once over MCP, then asks where institutional money moved. Every answer comes back with its receipts. Add Arkolith's HTTP endpoint in Claude Code, authenticate with your API key, and check /mcp before asking your first question. Following is free; building starts with a $1 trial (300 research credits over 3 days), then $29/mo.
Three steps
1. Start the $1 trial and mint a key
Sign up, start the $1 trial, and open your credits page to mint an API key. You get 300 research credits over 3 days to run the full flow before a plan starts. Treat the key like a password:
- Keep it out of the repo. Treat saved client configuration and shell history as sensitive when they contain a key. Never copy the key into a committed file, shared prompt, or screenshot.
- One key per surface. Separate keys for your interactive agent and your server-side scripts mean a leak revokes one surface, not both.
- Rotation is cheap. Revoke, mint again, re-run the add command. Nothing else changes.
Calls are metered in credits, with costs varying by tool. Check your balance and usage in your account before running a long research chain.
2. Add the MCP server to Claude
In Claude Code, register the server once. It speaks the Model Context Protocol over HTTP, authenticated with your key:
claude mcp add --transport http arkolith \
https://arkolith.com/api/mcp \
--header "Authorization: Bearer YOUR_KEY"
This follows the HTTP and bearer-header setup in the official Claude Code MCP documentation. After connecting successfully, Claude can discover Arkolith's tools and request data. New to MCP? Start with What is an MCP server?.
Two details worth knowing:
- Scope. The default is private local scope for the current project.
--scope usermakes it available across your projects. Project scope uses a shared.mcp.json; use environment-variable references for credentials rather than committing literal keys. - Verify before you ask. Run
/mcpand confirmarkolithis connected. Inspect any connection or authentication error before starting research.
For account and authentication steps, use the Arkolith MCP quickstart. To choose your client and connect it, open Connect Arkolith to your agent.
3. Ask in plain language
Now ask something narrow, such as "Which funds reported adding to their position in Apple last quarter? Cite the filings and reporting periods." Check that Claude actually calls the tools and includes source links in its answer.
For a worked research plan, ask "Did Berkshire's reported portfolio get more or less concentrated over the last two quarters? Cite the filings." The agent should:
- Call the search tool to resolve "Berkshire" to the correct filer. Name matching in SEC data is messy: parent entities, similar fund names, stale legal names.
- Pull the two most recent quarters of reported holdings for that filer.
- Compute top-position weights itself from the returned values. The arithmetic happens in the agent; the inputs come from filings.
- Answer with both filings' accession numbers attached, so you can click through to EDGAR and check.
Start with identifier resolution so a plausible name match does not silently become the wrong filer. Then check the reporting dates and any unavailable data. You can compare the returned portfolio with the Buffett fund page.
Prefer code? Use the REST API
The same data is available over a plain REST API. Pass your key as a bearer token:
# List funds
curl -H "Authorization: Bearer YOUR_KEY" \
https://arkolith.com/api/v1/funds
# Search across funds, managers, and holdings
curl -H "Authorization: Bearer YOUR_KEY" \
"https://arkolith.com/api/v1/search?q=berkshire"
MCP and REST share Arkolith's backend and account credit wallet. When comparing responses, match the entity, reporting period, filters, and retrieval time; an amendment or a different query can change the result. Choose the interface for your workflow:
| Situation | Use |
|---|---|
| Interactive research inside Claude Code or another agent | MCP |
| A script, scheduled job, or backend service | REST |
| A product feature your users touch | REST, with MCP for internal debugging |
| Not sure yet | MCP first, the fastest way to validate a question |
The longer version of that decision is in MCP vs REST API. Full endpoint reference, rate limits, and field notes live in the API docs.
What the tools can honestly answer
Connecting a data server is pointless if you do not know what it can answer truthfully. Arkolith's core is SEC EDGAR disclosure data, and the thing to internalize is each filing's reporting lag, because the lag defines what "current" means:
| Filing | Who files it | Deadline | What that means for your agent |
|---|---|---|---|
| 13F | Institutional managers meeting the $100M Section 13(f) securities threshold | Generally 45 days after quarter end | Reportable holdings at quarter end, not live positioning |
| Form 4 | Officers, directors, and holders of more than 10% | Generally 2 business days after the transaction | Reported transactions, with codes and footnotes explaining their nature |
| Form 3 | People becoming reporting insiders | Generally 10 days after becoming an insider | Initial holdings rather than a new trade |
| Form 5 | Reporting insiders with qualifying unreported transactions | Generally 45 days after fiscal year end | Certain deferred or previously omitted transactions |
| Schedule 13D | Beneficial owners above 5% who must file 13D rather than 13G | Generally 5 business days for the initial filing | Ownership and purpose disclosures, not proof of a new purchase on the filing date |
The SEC Form 13F FAQ, SEC investor bulletin on Forms 3, 4, and 5 (PDF), and SEC beneficial ownership reporting update explain these reporting rules. Deadlines describe filing obligations; late filings, exceptions, and indexing delays can affect what your query finds.
When a user asks "what is Berkshire holding right now?", the honest answer is "as of the last reported quarter", and a good agent says so. Holdings questions are quarterly; insider questions can be days fresh. Conflating the cadences is how this data gets over-read.
Two details matter when reading the results. Amendments can correct an earlier filing, so retain the filing reference used in the answer. 13F scope excludes short positions and includes certain held options. Keep puts and calls separate from common shares; a put can hedge another position, so a 13F alone does not establish the manager's overall direction.
What to ask first
Start with questions that force the agent to fetch data instead of speaking from memory:
| Prompt | What Claude should do |
|---|---|
| "Search for Berkshire Hathaway" | Resolve the entity through the search tool |
| "Show funds that reported Nvidia exposure" | Pull sourced holdings from 13F data |
| "Find recent insider activity for this issuer" | Use Form 4 data instead of guessing |
| "Give me the source for that number" | Return the filing URL, timestamp, and source record |
Good test prompts are narrow: one issuer, one fund, one filing. Once tool calls work, try a two-filer comparison, then a question spanning holdings and insider transactions. Inspect the intermediate tool results so you can find a missing identifier, period, or source before trusting the final answer.
Troubleshooting
- Claude says it cannot see the tool. Re-run the MCP add command, check the server name, and confirm status with
/mcp. - It works in one project but not another. That is scope, not breakage; re-add with
--scope userto make it machine-wide. - Claude says unauthorized. Check the header is exactly
Authorization: Bearer YOUR_KEYwith no stray whitespace. If the key is suspect, mint a fresh one from the credits page. - Calls fail after working earlier. Read the returned error and check your credit balance. Authentication, insufficient credits, and unavailable data need different fixes.
- The answer has no citation. Add a standing rule to your project instructions: "Use Arkolith tools for every market-data number and cite source, timestamp, and URL." Standing rules beat per-message reminders.
- You are building an app, not a chat workflow. Use REST from your code and reserve MCP for the assistant. Both surfaces share the same backend.
When MCP is better than copy-paste context
A pasted filing summary is a fixed snapshot. When a new quarter or amendment arrives, the chat does not update itself. A tool call can retrieve the latest indexed record, but the answer still needs its reporting period, source, and any coverage warning. Your team can reproduce the lookup through REST using the same parameters.
It also keeps onboarding cleaner. Instead of pasting CSV rows into every new chat, you connect the server once, keep the key scoped to the account, and let the agent call the data layer only when the question needs it, leaving the context window free for reasoning.
How to check the source behind an answer
Filing-backed research needs a source, reporting date, and filing reference. Ask Claude to include those alongside the result. A calculated percentage should also identify its inputs and method; the calculation itself is not a figure reported by the filer.
Use the returned filing references to check the source on EDGAR. If a tool response cannot support a requested figure or period, the agent should say what is missing. Connecting a tool makes evidence available; it does not guarantee that the model will use it correctly.
Frequently asked questions
Does this cost money?
Following is free; building starts with a $1 trial (300 research credits over 3 days), then $29/mo. After the trial, usage is metered in credits on a monthly plan; there are no per-seat licenses. See pricing.
Which clients work?
Use a client that supports remote HTTP MCP servers and Arkolith's authentication method. This guide covers Claude Code; other clients have their own setup steps on Connect.
What data can I query today?
The core workflows here use SEC EDGAR 13F institutional holdings and insider transactions. Check the API reference for available tools and browse the funds directory before choosing a research question.
How fresh is the data Claude sees?
13F reports describe quarter-end holdings and are generally due 45 days later. Most Form 4 transactions are subject to a two-business-day filing deadline. Check both the filing's dates and the response's coverage: a filing deadline is not a guarantee that every record is already indexed.
Can the agent cite where a number came from?
Ask for the source filing reference beside each reported figure and for the inputs behind calculations. Check those references before relying on the answer; if the response lacks the evidence, ask the agent to state that limitation.
Point your agent at ground truth. Following is free; building starts with a $1 trial (300 research credits over 3 days), then $29/mo. Start your $1 trial, follow the MCP quickstart, and connect Arkolith to your agent in a few minutes.
This guide is informational, not investment or legal advice. Public filings can be delayed or amended; verify the source records before relying on an answer.
Keep reading

Financial Data MCP Server: Source-Proofed Tools
A financial data MCP server should expose schemas, source links, freshness, coverage and cost before an agent spends a call.

Financial Datasets API Alternative for Agents
Compare Financial Datasets API with Arkolith for agent-ready SEC ownership data, MCP tools, source provenance, and metered Build workflows.

SEC Filings API: What Agents Actually Need
An SEC filings API should return source proof, accepted times, parsed filing fields, amendment status and agent-ready error boundaries.