SEC EDGAR MCP

SEC EDGAR MCP

Adds tools for SEC EDGAR research: lookup company CIK, search filings, and fetch filing text.

Category
Visit Server

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:

  1. Open File Explorer and go to your C:\edgar-mcp\ folder
  2. Click the address bar at the top of the window
  3. Type cmd and 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

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.

Official
Featured
TypeScript
Magic Component Platform (MCP)

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.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

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.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

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.

Official
Featured
TypeScript
Kagi MCP Server

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.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

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.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured