SEC EDGAR MCP
Adds tools for SEC EDGAR research: lookup company CIK, search filings, and fetch filing text.
README
SEC EDGAR MCP for Claude Desktop
Logging into EDGAR for company lookups is no longer a chore! You can access a company's SEC filings directly through Claude — without navigating EDGAR's UI and ctrl-F'ing through 200 pages of filings.
This MCP connects Claude Desktop directly to SEC EDGAR so you can research public companies, pull filings, and extract financial data through conversation — no browser, no manual downloads, no copy-pasting into a spreadsheet.
What It Does
Four tools, all usable through natural language in Claude Desktop:
lookup_company — Find any public company's CIK number by name or ticker symbol. The CIK is EDGAR's internal identifier and the starting point for everything else.
search_filings — Pull a company's filing history filtered by type. Ask for their last five 10-Ks, recent 8-Ks, an S-1, Form D — whatever's relevant to what you're looking at.
fetch_filing — Retrieve and read the actual content of a filing. Strips the HTML and returns clean readable text so Claude can summarize, extract, or answer questions about it directly.
get_financials — The most useful one for deal work. Pulls structured financial data: revenue, gross profit, operating income, net income, EBITDA components, total assets, liabilities, cash, long-term debt, and EPS — across the last three annual periods and four quarters. Ideal for building company one-pagers and investment summaries.
How I Use It
The workflow that saves the most time is comp analysis. Instead of pulling five 10-Ks manually and building a table by hand, I can do this in one conversation:
"Look up Veeva Systems, pull their last three years of financials, and compare revenue growth and operating margins to what we're seeing in [target company]'s projections."
Claude handles the retrieval, does the math, and flags the deltas. What used to take an hour of tab management takes a few minutes.
Setup
What you'll need:
- Claude Desktop installed and running
- Node.js v18 or higher — download the LTS version from nodejs.org
Step 1 — Verify Node.js is installed
Open Command Prompt (search "cmd" in your Start menu) and type:
node --version
You should see something like v20.x.x. If you get an error, go install Node.js first from nodejs.org, then come back.
Step 2 — Download this project
Click the green Code button at the top of this page → Download ZIP. Unzip it somewhere easy to find, like C:\edgar-mcp\.
Step 3 — Install dependencies
Open Command Prompt. You need to navigate into the project folder. The easiest way on Windows:
- Open File Explorer and go to your
C:\edgar-mcp\folder - Click the address bar at the top of the window
- Type
cmdand hit Enter — this opens Command Prompt already pointed at that folder
Now run:
npm install
You'll see text scroll by as it downloads the required libraries. When it stops and returns to the prompt, you're done.
Step 4 — Add your email
The SEC requires a contact email in every API request. Open index.js in Notepad and find this line near the top:
"User-Agent": "EDGAR-MCP-Tool/1.0 (personal-use; contact@example.com)",
Replace contact@example.com with your actual email address. Save the file.
Step 5 — Register with Claude Desktop
Claude Desktop uses a config file to know which MCP servers to load. You need to add this project to it.
Open File Explorer, click the address bar, paste this and hit Enter:
%APPDATA%\Claude
Open claude_desktop_config.json in Notepad.
If the file is empty, paste this entire block:
{
"mcpServers": {
"sec-edgar": {
"command": "node",
"args": ["C:\\edgar-mcp\\index.js"]
}
}
}
If the file already has content (other MCPs configured), add just the "sec-edgar" block inside the existing "mcpServers": { } section, with a comma separating it from the previous entry. It should look like this:
{
"mcpServers": {
"some-other-mcp": { ... },
"sec-edgar": {
"command": "node",
"args": ["C:\\edgar-mcp\\index.js"]
}
}
}
Important: Use double backslashes (
\\) in the file path inside the JSON. Single backslashes will cause an error.
Save the file.
Step 6 — Restart Claude Desktop
Don't just close the window — you need a full quit. Right-click the Claude icon in your system tray (bottom-right corner of your taskbar) and click Quit. Then relaunch Claude Desktop from your Start menu or desktop shortcut.
Step 7 — Test it
In Claude Desktop, try:
"Look up Torrid Holdings on EDGAR"
If Claude runs the lookup_company tool and returns a CIK number, you're live. Try following up with:
"Pull their last three years of financials"
Troubleshooting
Claude doesn't seem to be using the EDGAR tools Make sure you fully quit Claude Desktop from the system tray — just closing the window isn't enough. It needs a complete restart to load new MCP configs.
"Cannot find module" error
You need to run npm install inside the project folder. See Step 3.
HTTP errors from EDGAR
Make sure you updated the User-Agent in index.js with a real email address. The SEC will eventually block requests with placeholder addresses.
The path in the config isn't working
Double-check that the path in claude_desktop_config.json matches exactly where you put the files, and that you're using double backslashes (\\).
A Note on Limitations
XBRL structured financial data (get_financials) only works for public companies. Private companies file with the SEC but don't submit machine-readable financial tags, so this tool won't return data for them. For private company diligence, use fetch_filing to pull and read the actual document text.
Stack
- Runtime: Node.js (v18+)
- MCP SDK:
@modelcontextprotocol/sdk - Data source: SEC EDGAR APIs — free, no auth required
- Transport: stdio (local)
What's Next
- Hosted version — deploy to Railway so colleagues can connect without local setup
- Institutional ownership tool — pull 13F/13G/13D filings for cap table research
- Full-text search — search across all EDGAR filings for specific language or deal terms
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.