Most people who want an AI agent to reason over official filings never get to the reasoning part. They get stuck on plumbing. EDGAR returns one shape of data. The House Clerk site returns another. Form D is a fixed-field XML document. A 13F holdings table is a different fixed-field XML document. A Periodic Transaction Report is a PDF that a human filled in. Before your agent can answer a single question, you have written four parsers, three retry loops and a caching layer, and you are maintaining all of it.
The Model Context Protocol removes that layer for the agent. This piece explains what MCP is, what it genuinely changes, what it does not change, and how to connect Claude or Cursor to live filing data in about the time it takes to make coffee.
What MCP actually is
MCP is an open protocol that lets a language model call external tools through a standard interface. Anthropic published it as an open specification, and it is now implemented by clients well beyond Anthropic's own products. The full spec lives at modelcontextprotocol.io.
The mechanics are simpler than the acronym suggests. An MCP server advertises a list of tools. Each tool has a name, a description, and a typed input schema. The client hands that list to the model. When the model decides a tool is relevant, it emits a structured call. The client executes it, gets JSON back, and feeds the result into the conversation.
That is the whole idea. The value is not the transport. The value is that tool discovery is standardised. You do not write client code that knows about a specific API. You point the client at a URL, and the model reads the menu itself.
This matters more than it sounds. In the pre-MCP pattern, every new data source meant new glue: a client wrapper, a function schema written by hand, error handling, and a place in your prompt explaining when to use it. In the MCP pattern, adding a source means adding a server. The model figures out the rest from the tool descriptions.
Why one endpoint beats a dozen integrations
Say you want an agent that can see insider buying, hedge fund positioning, congressional trades and new private capital raises. Built the direct way, that is four separate integrations. Here is what each one actually costs you.
Authentication. EDGAR needs no key but does need a declared User-Agent header identifying you. The SEC documents its access rules on Accessing EDGAR Data, including the request-rate expectation of no more than ten requests per second. Get this wrong and you are blocked, not rate-limited gracefully.
Parsing. A 13F information table is XML with a schema that has changed across filing generations. Form D is XML with a completely different structure, described in the Form D filing materials. House financial disclosures arrive as scanned or generated PDFs through the Clerk of the House disclosure portal. Three sources, three parsers, zero shared code.
Normalisation. A ticker in one feed is a CIK in another and a hand-typed company name in a third. Joining them is not a one-line map. It is a matching problem with real error rates.
Drift. Filing formats change. Portals get redesigned. Your parser breaks on a Tuesday and you find out from a wrong answer, not an exception.
Ranking. Raw filings are not signals. A cluster of five insiders buying in the same week is different from one director exercising options on a schedule. Turning filings into something worth a model's attention requires scoring logic you have to design, build and defend.
One MCP endpoint collapses all of that into a single connection with a single auth header. The DataSignals Lab MCP server exposes 18 callable tools over one URL, covering SEC Form 4 clusters, Form 144 planned sales, 13F consensus, 8-K material events, 13D and 13G stakes, Form D raises, congressional trades, federal contracts, NIH funding, FDA actions, clinical trial catalysts, crypto momentum, job postings and app reviews. Every result carries a score and a link back to the original filing.
That last part is the one to insist on, from any provider. An agent answer you cannot trace to a source document is a guess with good grammar.
Live does not mean instant
Connecting an agent to filing data does not remove the lag baked into the filings themselves. Be honest with yourself about this before you build anything on top of it.
Congressional trades are disclosed under a statutory deadline that can put a report weeks behind the trade, which we cover in the 45-day rule and why it matters and in the end-to-end walkthrough of how congressional trading disclosures work. Institutional holdings arrive quarterly and late, explained in 13F deadlines and the 45-day lag. Form D tells you a raise happened and reveals a specific set of fields, which we break down in how to read a Form D filing. And the underlying statutory obligations for members of Congress are set out in what the STOCK Act actually requires.
"Live" here means the connection is live. Your agent sees a filing as soon as it is public, rather than as soon as you remember to run a script. The disclosure clock is set by law, not by your architecture.
Connecting Claude in one command
Claude Code adds a remote MCP server from the terminal:
claude mcp add --transport http datasignals https://datasignalslab--datasignals-mcp.apify.actor/mcp --header "Authorization: Bearer <APIFY_TOKEN>"
Replace the placeholder with your own Apify API token from a free account. In Claude Desktop, the same URL goes in under Settings, then Connectors. Restart the client and the tools appear in the tool list.
Connecting Cursor
Cursor reads remote MCP servers from its MCP settings file. Add an entry:
{
"mcpServers": {
"datasignals": {
"url": "https://datasignalslab--datasignals-mcp.apify.actor/mcp",
"headers": { "Authorization": "Bearer <APIFY_TOKEN>" }
}
}
}
Save, reload the MCP panel, and the server should show as connected with its tools listed. Windsurf uses the same remote-server pattern. LangChain and LlamaIndex both ship MCP adapters that take the identical URL and header.
If no tools appear, the usual causes are a truncated URL or a token that was never issued. If calls return 401, reconnect to refresh the session.
What to actually ask it
The point of the connection is compound questions. Single-source questions you can answer with a website.
Try: "Which companies show insider buying clusters this week, and did any of them also file an 8-K in the same window?" The agent calls two tools and cross-references them.
Or: "Show me the 13F names with the strongest cross-fund consensus last quarter, and tell me which ones also had a 13D filed against them." That is a question you cannot type into any single filing search box.
Or: "Give me a full profile on this ticker from official filings only." One call to a company intelligence tool, one structured answer, every claim linked.
The pattern to notice: the model is doing the joining. You are not writing the join.
Free alternatives, named plainly
You do not need any paid service to work with filing data. EDGAR full-text search and the SEC's own JSON APIs are free and public. The House Clerk portal is free. USAspending.gov, ClinicalTrials.gov, openFDA and NIH RePORTER are all free public APIs. Several open-source MCP servers wrap EDGAR directly, and building your own MCP server against these sources is a genuinely reasonable weekend project if you enjoy that kind of thing.
What you pay for with a hosted service is the parsing, the normalisation across sources, the scoring layer and someone else fixing the parser when a format changes. If your needs are one source and one format, the free route is very likely the right call. Say so out loud before you spend anything.
The DataSignals MCP server itself carries no fee, with a free monthly call allowance, and the underlying data tools bill per result through Apify only when your agent calls them.
The part people skip
An agent with tool access is still an agent. It can call the right tool and then summarise it loosely. It can conflate a proposed sale with a completed one. It can present a quarterly snapshot as a current position.
Two habits fix most of this. First, insist on source links in the output and click them when a claim matters. Second, ask the agent what the as-of date of its data is, and make it say the number. Filing data has an age. An answer that does not state the age is incomplete.
None of this is investment advice. It is a way to read public disclosures faster and with fewer manual steps, and it comes with no claim about what any filing means for any price.
Ready to see what one of these feeds looks like before you wire anything up? The Smart-Money 13F Consensus report shows the same institutional positioning data your agent would receive through the MCP connection, scored and linked back to the original filings, so you can judge the output quality first and connect second.
Want the signal instead of the raw filings? Get a free report preview. Prefer the tool to the write-up? Browse all data feeds or connect the free MCP server.