Blog / AI and MCP
AI and MCP

MCP Server for SEC Filings: Giving an AI Agent Live EDGAR Data

What an MCP server for SEC filings does, the self-hosted and hosted options, and how to connect one to Claude, ChatGPT or Cursor.

By the SecFeed teamOctober 29, 20266 min read
Key takeaways

An MCP server for SEC filings is a small program that exposes EDGAR data to an AI assistant as a set of callable tools, following the Model Context Protocol. Instead of asking a model to recall what it remembers about a company's 10-K, you point a compatible client at the server and let the model call a tool that returns the actual filing data.

This post covers what such a server does, the difference between running one yourself and connecting to a hosted one, how authentication typically works, and what it looks like to call one directly.

Why SEC data needs an MCP server at all

A general purpose AI model has no live connection to EDGAR. Ask it what a company's most recent 8-K says, and it can only guess from training data that may be months or years stale, or it may describe a filing that does not exist. An MCP server fixes that by giving the model a tool it can call mid-conversation: search filings, pull a specific form, or extract one item of a 10-K, and get back real, current data with the response grounded in an actual filing.

This matters most for anything that changes often: new filings published today, a company's latest financial statements, or an insider's most recent Form 4. How to Download SEC Filings With Python, Politely covers the same underlying problem from a script's point of view rather than an agent's.

Two ways to get one

There is more than one SEC EDGAR MCP server, and they differ mainly in where they run:

ApproachExampleWhat you manage
Self-hosted, open sourcesec-edgar-mcp (Python, published on PyPI and GitHub)Installing it, keeping it updated, and any API keys or rate limits of the data source it wraps
Hosted, remoteA provider's own MCP endpoint reachable over HTTPNothing to install; you point your client at a URL and, where the provider requires it, add a key for billed calls

Running an open source server yourself gives you full control over the code and where it runs, at the cost of installing and maintaining a Python process. A hosted server trades that control for a URL you can add to a client's configuration in a few lines, with no local process to keep running.

Whichever kind of MCP server you use, it is a different interface to the same underlying EDGAR data, not a new source of it. The tools it exposes should map to real, documented API endpoints, not to data invented for the response.

Get this data as clean JSON

SecFeed turns SEC filings into structured data with one API call: GET /v1/filings. Free key, no card needed.

Get a free API key →

How the handshake and billing usually split

A client has to do a few things before it can call a real tool: it connects, lists what tools exist, and often checks the server is alive. On SecFeed's MCP server, those discovery steps, initialize, tools/list and ping, require no API key at all, so a directory or a new client can list what the server offers before anyone signs up. Only tools/call, the step that actually returns filing data, checks for a key.

To see this directly, here is the real request this post used to list the available tools, with no key attached:

curl -X POST https://secfeedapi.com/mcp \
  -H "Content-Type: application/json" \
  -d '{"jsonrpc": "2.0", "id": 1, "method": "tools/list", "params": {}}'

That call, made while researching this post, returned 40 tools with no authentication at all, including search_filings, full_text_search, financial_statements, insider_trades and form_13f_holdings. Calling tools/call on any of them without a key instead returns a normal MCP tool result with isError: true and a plain English message pointing to a signup page, rather than a bare HTTP error that a client might show as a silent failure:

{
  "jsonrpc": "2.0",
  "id": 2,
  "result": {
    "content": [{ "type": "text", "text": "missing API key. Get a free key..." }],
    "isError": true
  }
}

That distinction matters for an agent. A tool result an MCP client can show to the user is far more useful than a connection-level error the agent has no clean way to explain.

What kinds of tools an SEC filings MCP server should expose

Looking at what EDGAR actually contains, a useful tool set for SEC filings covers at least these groups:

Each of those should be a thin wrapper around a real, documented REST endpoint rather than a tool that fabricates structure the underlying API cannot actually produce. SecFeed's own SEC EDGAR MCP server follows that pattern, and the same data is documented endpoint by endpoint in the API reference for anyone who wants to call it directly instead of through an agent. SEC Filing Types is a useful reference for what each form actually contains if you are deciding which tools you need.

Connecting a client

Most MCP clients, including Claude Code, Claude Desktop, Cursor and ChatGPT's connector support, configure a server either as a local command the client launches (stdio transport) or as a URL the client calls directly (HTTP transport). A self-hosted Python server you run locally is typically configured as a command; a hosted server is typically configured as a URL with an optional authorization header for the key.

If a hosted MCP server's discovery steps require a key just to see its tool list, you cannot evaluate it from a directory listing or a quick client test before signing up. Checking whether initialize and tools/list work without a key is a fast way to tell the two kinds of servers apart before committing to either.

Frequently asked questions

What is an MCP server, in plain terms?

It is a server that exposes a defined set of callable tools to an AI client over the Model Context Protocol, so the client's model can request real data or actions mid-conversation instead of only generating text from what it already knows.

Do I need my own API key to use an SEC filings MCP server?

It depends on the server. A well designed one keeps discovery (listing what tools exist) free, and only requires a key for the calls that return actual filing data, since those calls carry a real data and compute cost.

Can I run an SEC EDGAR MCP server myself instead of using a hosted one?

Yes. Open source options such as sec-edgar-mcp exist on PyPI and GitHub and run as a local Python process you configure in your client. That gives you full control over the code at the cost of installing and maintaining it yourself.

Does an MCP server replace the SEC's own EDGAR system?

No. EDGAR remains the source of record. An MCP server is an interface that lets an AI client query that same public data as structured tool calls instead of scraping or reading raw filings by hand.

Why did a tool call return an error instead of real data?

Most commonly a missing or invalid API key. A clear MCP server returns that as a normal tool result with an explanation, which the client can show to the user, rather than a silent connection failure.

Get this data as clean JSON

SecFeed turns SEC filings into structured data with one API call: GET /v1/filings. Free key, no card needed.

Get a free API key →

For information only, not investment advice. Data from public SEC filings; verify important figures on SEC.gov. See our AI Disclosure.