SEC Tracker MCP: SEC filings for AI agents, every figure cited
A Model Context Protocol server over SEC Tracker's filings data. Recipe tools answer common questions (8-K triage, insider activity, dilution, a company primer, earnings releases) with typed inputs, and every finding names the filing it came from, with a link to SEC.gov.
Connect
- Endpoint
https://search.sectracker.app/mcp/v1- Transport
- Streamable HTTP, stateless JSON-RPC (protocol 2025-06-18), POST only
- Auth
Authorization: Bearer <key>on every tool call. Without a key,initialize,tools/listandprompts/liststill answer, so an agent can see what is here; tool calls say how to get a key- Limit
- 20 requests a minute on a trial key; over it answers 429 with
Retry-After - Version
- 1.0.0, in
serverInfoand theX-SEC-Tracker-MCPheader
Premium feature. During the beta any agent can register for a free trial key that lasts 4 hours; register again for another. Paid keys with higher limits are not on sale yet.
Claude Code
claude mcp add --transport http sectracker https://search.sectracker.app/mcp/v1 --header "Authorization: Bearer $SECTRACKER_KEY"Cursor, Claude Desktop and other clients (mcp.json)
{
"mcpServers": {
"sectracker": {
"url": "https://search.sectracker.app/mcp/v1",
"headers": {
"Authorization": "Bearer YOUR_KEY"
}
}
}
}Get a trial key
One call, no account. agent_name is required; contact (an email or https URL) and purpose help us reach you about the paid tier.
curl -s https://search.sectracker.app/v2/agent-keys \
-H "Content-Type: application/json" \
-d '{"agent_name":"My research agent","contact":"you@example.com","purpose":"8-K triage for my watchlist"}'Answer (201):
{
"key": "stk_trial_…",
"tier": "premium",
"trial": true,
"expires_at": "2026-11-06T04:00:00.000Z",
"limits": { "per_minute": 20, "scope": ["mcp/v1"] },
"mcp": { "url": "https://search.sectracker.app/mcp/v1", "header": "Authorization: Bearer <key>" },
"notice": "SEC Tracker's MCP is a premium feature. This trial key is free during the beta …"
}GET https://search.sectracker.app/v2/agent-keys/me with the key shows how long it has left. An expired key answers 401; register again. Registration allows 3 a minute per address.
Recipe tools
A recipe is a common question as one tool call. Each answer is a list of findings; each finding carries its citations (form, accession, filed date, SEC.gov URL). A finding SEC Tracker cannot tie to a filing is dropped, never shown without a source. When there is nothing to report the answer says so in stop.
| Tool | Inputs | Answers |
|---|---|---|
| eight_k_triage | company, days (30, 60, 90) | Sorts a company's 8-Ks into load-bearing, context and noise by item code, one cited verdict each; a restatement leads. |
| insider_activity | company, days (30, 90, 180, 365) | Open-market Form 4 buys, sales and 10b5-1 planned sales, cluster buys first, the largest trades with their filings. |
| dilution_check | company | Shares outstanding and every stated source of new shares: shelf room, ATM, warrants, convertibles, options and RSUs. |
| company_primer | company | Latest 10-K or 10-Q, revenue, net income, cash, debt, shares outstanding and the last five material filings. |
| earnings_release | company | The latest results 8-K (Item 2.02), the press-release exhibit to read, and whether the 10-Q or 10-K already covers it. |
| get_report | report, quarter | A State-of report for a quarter: insider-buying or small-cap-dilution, with the rows behind every figure. |
| list_recipes, get_recipe | name | The recipes and their step-by-step prompts (also served as MCP prompts). |
Every recipe is also an MCP prompt (prompts/list, prompts/get): the steps, the output shape and the rules, so an assistant can run it end to end.
Example
curl -s https://search.sectracker.app/mcp/v1 \
-H "Authorization: Bearer $SECTRACKER_KEY" \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call",
"params":{"name":"eight_k_triage","arguments":{"company":"AAPL","days":30}}}'The text part of the result:
Apple Inc. (AAPL): eight_k_triage as of 2026-11-05.
1. 1 8-K in the last 30 days: 1 load-bearing, 0 context, 0 noise. [8-K 0000320193-26-000024 filed 2026-11-02]
2. 2026-11-02 8-K, load-bearing: Item 2.02 (Results). … [8-K 0000320193-26-000024 filed 2026-11-02]
Facts as filed with the SEC; every finding cites its filing. Not investment advice.structuredContent carries the same answer typed: recipe, version, company, as_of, findings[].citations[], data, stop.
Data tools
| Tools | What they return |
|---|---|
| get_context | A cited, token-budgeted pack for one question about one company. |
| get_financials, get_metric | XBRL statements and named metrics, each value with its accession and period. |
| get_statement_as_filed | A balance sheet, income or cash flow statement as the company presents it. |
| list_filings, get_filing_sections, get_filing_documents, get_filing_text | A company’s filings and the text of any section or exhibit. |
| search_managers, get_manager_holdings, get_holding_changes, get_holders, get_latest_13f, get_form_d | Form 13F holdings and Form D notices. |
Results carry widget blocks (komodo-domain widgets 0.1) to show as given.
Rules for agents
- Answer only from tool results and cite the accession of every figure.
- Say "not stated" where a filing does not say; never estimate a missing figure.
- Pass
as_offor a point-in-time answer: only filings accepted by then count. - Market prices are not part of this data. Do not present answers as investment advice.
Versions
/mcp/v1 is stable: tools and fields are only added, never renamed or removed. A breaking change ships as /mcp/v2 beside it. The unversioned /mcp stays for existing clients.
Terms
Filings are public records from SEC EDGAR. SEC Tracker's readings, tiers and counts are ours; quote them with a link to sectracker.app. Not investment advice. Not affiliated with the U.S. SEC.
Free reports built from the same data: State of reports. A short index for language models: llms.txt.
