edgar-mcp
README.md
# edgar-mcp
An MCP (Model Context Protocol) server that gives AI assistants direct access to SEC EDGAR filing data — financials, filings, and filing text — with no API key required.
Data comes straight from SEC's public XBRL and full-text filing endpoints, so figures are pulled directly from filed 10-Ks/10-Qs rather than relying on broker-reported fundamentals.
## Tools
- **`search_company(query)`** — look up a company by ticker or partial name, returns CIK + ticker + name matches
- **`get_financials(ticker)`** — 6 years of annual financials from 10-K XBRL data: revenue, gross profit, operating income, net income, R&D, SG&A, EPS, assets, liabilities, debt, cash, capex, operating/free cash flow, dividends, buybacks
- **`get_quarterly_financials(ticker)`** — last 8 quarters from 10-Q filings (revenue, operating income, net income, EPS)
- **`get_filings(ticker, form_type="10-K", limit=10)`** — recent filings of a given type (10-K, 10-Q, 8-K, DEF 14A, S-1, Form 4, etc.) with direct URLs
- **`get_filing_section(ticker, section="mda", form_type="10-K")`** — extracts a specific section (MD&A, Business, Risk Factors, or full text) from the most recent filing
## Setup
```bash
pip install -r requirements.txt
```
Add to your MCP client config (e.g. Claude Desktop `claude_desktop_config.json`, or Claude Code):
```json
{
"mcpServers": {
"edgar": {
"command": "python",
"args": ["/path/to/edgar-mcp/server.py"]
}
}
}
```
## Notes
- No API key needed — SEC EDGAR's data is public. The server sends a descriptive `User-Agent` per [SEC's fair-access policy](https://www.sec.gov/os/webmaster-faq#developers); if you self-host, consider swapping in your own contact info.
- Requests are throttled to stay under SEC's 10 requests/second limit, with in-memory caching (1hr for financials/filings, 24hr for filing text) to minimize repeat calls.
- `search_company`/CIK resolution uses SEC's full ticker→CIK mapping, refreshed every 24 hours.
This server cannot be deployed
Maintenance
ActivityInactive
ResponsivenessNo issues