How to get SEC EDGAR 13D and 8-K filings into Claude or any MCP client
You want your agent to answer "did anyone just file a 13D on a company I follow?" or "did AAPL file a material 8-K today?" The data lives in SEC EDGAR, but EDGAR ships you raw filing indexes and full-text HTML, not parsed events. To wire that into an agent you would write a scraper, parse the 13D cover-page XML to pull holder and percent-of-class, map 8-K item codes, then wrap the whole thing as an MCP server so a model can call it. That is a few hundred lines before your agent asks its first question.
The EDGAR Events MCP server skips that work. It exposes the EDGAR Events API (which already resolves 13D/13D-A stakes and types 8-K, S-1/424B, and merger proxy filings) as MCP tools an agent can call directly.
What it is
edgar-events-mcp is an MIT-licensed Model Context Protocol server. It runs over stdio, uses only the Python standard library for HTTP, and connects to any MCP client: Claude Desktop, Cursor, Cline, Continue, and others. The source filings come from data.sec.gov and efts.sec.gov. EDGAR Events is an independent service and is not affiliated with the SEC.
It exposes four tools:
get_recent_activist_stakes— free, no API key, no signup. Returns the latest resolved 13D/13D-A stakes parsed from the cover-page XML: holder, target ticker, percent of class, share count.get_activist_stakes— needs a key. The full 13D feed with date-range, ticker, and minimum-percent filters.get_filings— needs a key. Typed filing events across named tickers, filterable by form type, 8-K item code, materiality, and lookback window.get_ticker_filings— needs a key. The same, scoped to one ticker.
Without a key the filtered tools do not error. They reply with a short note on how to get one, so the agent falls back to the free preview tool instead of breaking.
Install
The PyPI package is forthcoming. Until it lands, install from the public GitHub repo. With pip:
pip install git+https://github.com/reedox/edgar-events-mcp
That gives you an edgar-events-mcp console command. Or run it with no pre-install via uv:
uvx --from git+https://github.com/reedox/edgar-events-mcp edgar-events-mcp
Once the package is published to PyPI the shorter uvx edgar-events-mcp will work. For now, use the git form above.
Claude Desktop config
Open Settings, then Developer, then Edit Config, and add the server to claude_desktop_config.json:
{
"mcpServers": {
"edgar-events": {
"command": "uvx",
"args": ["--from", "git+https://github.com/reedox/edgar-events-mcp", "edgar-events-mcp"],
"env": {
"EDGAR_EVENTS_API_KEY": "your-key-or-omit-for-the-free-tool"
}
}
}
}
Drop the env block and the server runs with only the free get_recent_activist_stakes tool. Restart the client after editing the config. The same command, args, and env shape works in Cursor, Cline, Continue, and other MCP clients. The key is read from the environment and sent as the X-API-Key header; it is never logged. Get a key at https://edgarevents.com/subscribe . To point at a different API host, set EDGAR_EVENTS_BASE_URL.
The free tool, no key
get_recent_activist_stakes works with zero setup. Ask your agent "who just took an activist stake in a public company?" and it calls the tool. Here is a real row from the live endpoint:
{
"event_type": "activist_stake",
"form": "SCHEDULE 13D",
"filed_date": "2026-06-29",
"target": {
"name": "Freightos Ltd",
"ticker": "CRGO",
"cik": "0001927719"
},
"holders": [
{
"name": "Schreiber Zvi",
"percent_of_class": 6.1,
"shares": 3131931
}
],
"percent_of_class": 6.1,
"shares": 3131931,
"filing_url": "https://www.sec.gov/Archives/edgar/data/1976454/000197645426000002/primary_doc.xml"
}
Holder, target ticker, percent of class, and share count come straight off the parsed 13D cover page. No regex on your end.
What the key adds
A key turns on the three filtered tools and the full filing history behind them. Some questions you can then put to your agent:
- "Show me 13D filings above 10% of class since June 1." →
get_activist_stakes - "Did AAPL or MSFT file any material 8-Ks in the last day?" →
get_filings - "List NVDA's recent 8-K item 2.02 filings." →
get_ticker_filings
The model picks the tool, fills in the ticker, date range, item code, and materiality flag from your question, and gets back typed JSON. You read the answer; you do not write the EDGAR plumbing.
Get started
Point your MCP client at the server with no key and the free get_recent_activist_stakes tool answers the "who just filed a 13D" question immediately. To open the date-range, ticker, item-code, and materiality filters across 13D, 8-K, S-1/424B, and merger proxy filings, grab a key for $29/month (one plan, cancel anytime) at https://edgarevents.com/subscribe . The server source is at https://github.com/reedox/edgar-events-mcp , and questions go to [email protected] .
SEC filings, already parsed.
Typed JSON for 8-K item codes, SC 13D activist stakes, IPO forms and merger proxies. $29/mo, self-serve, cancel anytime.