edgar-mcp

edgar-mcp

Enables querying of SEC EDGAR filings and financial data via natural language, offering tools for company lookup, filing retrieval, XBRL data, and full-text search.

Category
Visit Server

README

SEC EDGAR MCP Server ๐Ÿ›๏ธ

npm version npm downloads Python License: MIT

U.S. SEC filings and financial data for Claude Desktop and any MCP-compatible client, powered by SEC 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.

npm package: edgar-mcp ย ยทย  GitHub repo: danishashko/edgar-mcp.

๐ŸŽฏ What You Get

  • ๐Ÿ”Ž Company lookup by name or ticker โ†’ CIK
  • ๐Ÿ—‚๏ธ Recent filings (any form type) with direct document links
  • ๐Ÿ“„ Latest filing of a type (newest 10-K / 10-Q / 8-K) in one call
  • ๐Ÿ’ฐ Financial highlights (revenue, net income, assets, equity, EPS) from XBRL
  • ๐Ÿ“ˆ Concept history โ€” any GAAP line item over time
  • ๐Ÿ”ฌ Full-text search across the last ~10 years of filings

Every 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.

๐Ÿš€ Quick Start

Add this to your Claude Desktop config and restart Claude:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "edgar": {
      "command": "npx",
      "args": ["-y", "edgar-mcp"],
      "env": {
        "SEC_USER_AGENT": "your-app-name your@email.com"
      }
    }
  }
}

The 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+.

Prefer a global install?

npm install -g edgar-mcp
{
  "mcpServers": {
    "edgar": {
      "command": "edgar-mcp",
      "env": { "SEC_USER_AGENT": "your-app-name your@email.com" }
    }
  }
}

๐Ÿ”ง Available Tools

Tool What it returns Parameters
search_company Companies matching a name/ticker, with their CIK query, limit
get_recent_filings Recent filings (form, dates, link), optional form filter identifier, form_type, limit
get_latest_filing The newest filing of a given type, with a document link identifier, form_type
get_company_facts Headline financials (revenue, net income, assets, equity, cash, EPS) identifier
get_concept One XBRL concept's reported history over time identifier, concept, limit
full_text_search Filings matching a keyword/phrase across all companies query, forms, limit

Every tool also accepts response_format ("markdown", the default, or "json"). identifier accepts a ticker, CIK, or company name.

Common XBRL concepts for get_concept: Revenues / RevenueFromContractWithCustomerExcludingAssessedTax, NetIncomeLoss, Assets, Liabilities, StockholdersEquity, EarningsPerShareDiluted.

๐Ÿ’ฌ Example Prompts

Once the server is connected, just ask Claude:

  • "What's Apple's latest 10-K?"
  • "Show me Tesla's recent 8-K filings."
  • "What are Microsoft's headline financials?"
  • "Show me NVIDIA's net income over the last few years."
  • "Which companies mention 'quantum computing' in their 10-Ks?"
  • "Find the CIK for Berkshire Hathaway."

๐Ÿ› Troubleshooting

"SEC EDGAR is rate-limiting requests" EDGAR allows ~10 requests/second. The server retries automatically; wait a moment if it persists.

"Not found" Use search_company to confirm the exact ticker/CIK first.

"Command not found" / "Python not found" Ensure Python 3.10+ and Node.js 16+ are installed and on your PATH. On macOS/Linux, try python3.

Tools not showing up in Claude

  1. Confirm the config file is valid JSON (no trailing commas).
  2. Fully quit and reopen Claude Desktop.

๐Ÿ› ๏ธ Manual Installation (Alternative)

If you would rather run the Python file directly instead of via npx:

1. Download the server and install the dependency

pip install mcp

(or pip3 on macOS/Linux)

2. Point Claude Desktop at it

{
  "mcpServers": {
    "edgar": {
      "command": "python3",
      "args": ["/absolute/path/to/edgar_mcp.py"],
      "env": { "SEC_USER_AGENT": "your-app-name your@email.com" }
    }
  }
}

On Windows use "command": "python" and a path like "C:\\path\\to\\edgar_mcp.py".

3. Restart Claude Desktop.

๐Ÿ”’ Privacy & Rate Limits

  • Uses the official SEC EDGAR APIs โ€” public, no key.
  • Requests go straight from your machine to the SEC. Nothing is stored or proxied.
  • The SEC requires a descriptive User-Agent with contact info and limits ~10 requests/second.
  • Intended for personal, educational, and research use.

๐Ÿ“ Notes

  • identifier is flexible: ticker (AAPL), CIK (320193), or name (Apple).
  • Financial data comes from XBRL, first required by the SEC in 2009, so history goes back that far for most filers.
  • get_company_facts returns highlights; use get_concept for the full series of any one metric.

๐Ÿ“‹ Changelog

See CHANGELOG.md for the full version history.

๐Ÿ“š Resources

โš–๏ธ Legal Disclaimer

This 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. Data is provided as-is for personal, educational, and research purposes; verify against the original filings before relying on it.

๐Ÿ‘ค Author

Daniel Shashko

๐Ÿ“„ License

MIT ยฉ Daniel Shashko

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