SEC EDGAR MCP
by reblickulous
README.md
# 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](https://claude.ai/download) installed and running
- [Node.js](https://nodejs.org) 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:
```json
{
"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:
```json
{
"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](https://www.sec.gov/developer) — 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
This server cannot be deployed
Maintenance
ActivityInactive
ResponsivenessNo issues