{
  "markdown": "# SEC EDGAR MCP Server 🏛️\n\n[![npm version](https://img.shields.io/npm/v/edgar-mcp.svg)](https://www.npmjs.com/package/edgar-mcp)\n[![npm downloads](https://img.shields.io/npm/dm/edgar-mcp.svg)](https://www.npmjs.com/package/edgar-mcp)\n[![Python](https://img.shields.io/badge/python-3.10%2B-blue.svg)](https://www.python.org/downloads/)\n[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT)\n\nU.S. SEC filings and financial data for Claude Desktop and any MCP-compatible client, powered by [SEC EDGAR](https://www.sec.gov/edgar). Search companies, pull filings (10-K, 10-Q, 8-K, Form 4, ...), read XBRL financials, and full-text search across all filings — all from natural language. **No API key required.**\n\n> **npm package:** [`edgar-mcp`](https://www.npmjs.com/package/edgar-mcp) &nbsp;·&nbsp; **GitHub repo:** [`danishashko/edgar-mcp`](https://github.com/danishashko/edgar-mcp).\n\n## 🎯 What You Get\n\n- 🔎 **Company lookup** by name or ticker → CIK\n- 🗂️ **Recent filings** (any form type) with direct document links\n- 📄 **Latest filing** of a type (newest 10-K / 10-Q / 8-K) in one call\n- 💰 **Financial highlights** (revenue, net income, assets, equity, EPS) from XBRL\n- 📈 **Concept history** — any GAAP line item over time\n- 🔬 **Full-text search** across the last ~10 years of filings\n\nEvery tool returns human-readable **markdown** by default, or structured **JSON** on request (`response_format: \"json\"`). Lightweight (Python standard library + `mcp` only), no API key, retries on rate limits.\n\n## 🚀 Quick Start\n\nAdd this to your Claude Desktop config and restart Claude:\n\n- **macOS:** `~/Library/Application Support/Claude/claude_desktop_config.json`\n- **Windows:** `%APPDATA%\\Claude\\claude_desktop_config.json`\n\n```json\n{\n  \"mcpServers\": {\n    \"edgar\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"edgar-mcp\"],\n      \"env\": {\n        \"SEC_USER_AGENT\": \"your-app-name your@email.com\"\n      }\n    }\n  }\n}\n```\n\nThe SEC asks every API client to send a descriptive `User-Agent` with contact info. Set `SEC_USER_AGENT` to your own name/email (a default is provided so it works out of the box). On first launch the npx wrapper creates an isolated Python environment and installs the dependency (one-time, ~a minute). You need **Python 3.10+** and **Node.js 16+**.\n\n### Prefer a global install?\n\n```bash\nnpm install -g edgar-mcp\n```\n\n```json\n{\n  \"mcpServers\": {\n    \"edgar\": {\n      \"command\": \"edgar-mcp\",\n      \"env\": { \"SEC_USER_AGENT\": \"your-app-name your@email.com\" }\n    }\n  }\n}\n```\n\n## 🔧 Available Tools\n\n| Tool | What it returns | Parameters |\n|------|-----------------|------------|\n| `search_company` | Companies matching a name/ticker, with their CIK | `query`, `limit` |\n| `get_recent_filings` | Recent filings (form, dates, link), optional form filter | `identifier`, `form_type`, `limit` |\n| `get_latest_filing` | The newest filing of a given type, with a document link | `identifier`, `form_type` |\n| `get_company_facts` | Headline financials (revenue, net income, assets, equity, cash, EPS) | `identifier` |\n| `get_concept` | One XBRL concept's reported history over time | `identifier`, `concept`, `limit` |\n| `full_text_search` | Filings matching a keyword/phrase across all companies | `query`, `forms`, `limit` |\n\nEvery tool also accepts `response_format` (`\"markdown\"`, the default, or `\"json\"`). `identifier` accepts a ticker, CIK, or company name.\n\n**Common XBRL concepts for `get_concept`:** `Revenues` / `RevenueFromContractWithCustomerExcludingAssessedTax`, `NetIncomeLoss`, `Assets`, `Liabilities`, `StockholdersEquity`, `EarningsPerShareDiluted`.\n\n## 💬 Example Prompts\n\nOnce the server is connected, just ask Claude:\n\n- \"What's Apple's latest 10-K?\"\n- \"Show me Tesla's recent 8-K filings.\"\n- \"What are Microsoft's headline financials?\"\n- \"Show me NVIDIA's net income over the last few years.\"\n- \"Which companies mention 'quantum computing' in their 10-Ks?\"\n- \"Find the CIK for Berkshire Hathaway.\"\n\n## 🐛 Troubleshooting\n\n**\"SEC EDGAR is rate-limiting requests\"**\nEDGAR allows ~10 requests/second. The server retries automatically; wait a moment if it persists.\n\n**\"Not found\"**\nUse `search_company` to confirm the exact ticker/CIK first.\n\n**\"Command not found\" / \"Python not found\"**\nEnsure Python 3.10+ and Node.js 16+ are installed and on your PATH. On macOS/Linux, try `python3`.\n\n**Tools not showing up in Claude**\n1. Confirm the config file is valid JSON (no trailing commas).\n2. Fully quit and reopen Claude Desktop.\n\n**Using a different model or provider (LiteLLM, OpenRouter, NVIDIA NIM, a local model)**\nThis server never talks to a model. Your client starts it as a local process and\nspeaks JSON-RPC over stdin/stdout, so changing `ANTHROPIC_BASE_URL` or swapping the\nmodel behind your client has no effect on it. If tools stop firing after a switch\nlike that, check two things: the model has to support function calling, and a proxy\nconfigured to drop unsupported parameters can silently strip your tool definitions,\nwhich produces no error at all. Run `/mcp` in your client (or `claude mcp list`) to\nconfirm the server is connected before suspecting the server.\n\n## 🛠️ Manual Installation (Alternative)\n\nIf you would rather run the Python file directly instead of via npx:\n\n**1. Download the server and install the dependency**\n\n```bash\npip install mcp\n```\n\n(or `pip3` on macOS/Linux)\n\n**2. Point Claude Desktop at it**\n\n```json\n{\n  \"mcpServers\": {\n    \"edgar\": {\n      \"command\": \"python3\",\n      \"args\": [\"/absolute/path/to/edgar_mcp.py\"],\n      \"env\": { \"SEC_USER_AGENT\": \"your-app-name your@email.com\" }\n    }\n  }\n}\n```\n\nOn Windows use `\"command\": \"python\"` and a path like `\"C:\\\\path\\\\to\\\\edgar_mcp.py\"`.\n\n**3. Restart Claude Desktop.**\n\n## 🔒 Privacy & Rate Limits\n\n- Uses the official [SEC EDGAR APIs](https://www.sec.gov/search-filings/edgar-application-programming-interfaces) — public, no key.\n- Requests go straight from your machine to the SEC. Nothing is stored or proxied.\n- The SEC requires a descriptive `User-Agent` with contact info and limits ~10 requests/second.\n- Intended for personal, educational, and research use.\n\n## 📝 Notes\n\n- `identifier` is flexible: ticker (`AAPL`), CIK (`320193`), or name (`Apple`).\n- Financial data comes from XBRL, first required by the SEC in 2009, so history goes back that far for most filers.\n- `get_company_facts` returns highlights; use `get_concept` for the full series of any one metric.\n\n## 📋 Changelog\n\nSee [CHANGELOG.md](CHANGELOG.md) for the full version history.\n\n## 📚 Resources\n\n- [Model Context Protocol](https://modelcontextprotocol.io/)\n- [SEC EDGAR API documentation](https://www.sec.gov/search-filings/edgar-application-programming-interfaces)\n- [EDGAR full-text search](https://efts.sec.gov/LATEST/search-index?q=example)\n\n## ⚖️ Legal Disclaimer\n\nThis tool uses the public SEC EDGAR APIs but is not affiliated with or endorsed by the U.S. Securities and Exchange Commission. Use is subject to the SEC's [website policies](https://www.sec.gov/privacy.htm). Data is provided as-is for personal, educational, and research purposes; verify against the original filings before relying on it.\n\n## 👤 Author\n\n**Daniel Shashko**\n- GitHub: [@danishashko](https://github.com/danishashko)\n- LinkedIn: [daniel-shashko](https://linkedin.com/in/daniel-shashko)\n- npm: [danielshashko](https://www.npmjs.com/~danielshashko)\n\n## 📄 License\n\nMIT © Daniel Shashko\n",
  "bytes": 7423,
  "sha": "3b740be714888451413f179809be00d78bae5bbdb120eb5166a96d359a15cc0d",
  "repo_slug": "danishashko/edgar-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_danishashko_edgar_mcp_140ed550/readme"
}