← Back to directory
S

SEC EDGAR MCP Server

Community
Query SEC EDGAR filings, XBRL financials, and company data through MCP. STDIO & Streamable HTTP.
GitHub source repository ↗
★ 10 Stars Category · Database Popular Source revision 3055e2beea64
68FMRS · C

This server provides a comprehensive tool for accessing SEC EDGAR data via MCP, covering a wide range of financial datasets with strong SQL analytics ability. It is community-maintained and not an official SEC tool, but it respects SEC API terms.

Reliability
11/20
Security and permissions
15/20
Maintenance
11/20
Documentation
17/20
Setup experience
14/20
Read the FMRS scoring method →

The SEC EDGAR MCP server is a TypeScript-built MCP server offering 17 tools (one optional) for accessing SEC EDGAR data. It supports company search, filing retrieval, XBRL financial data, insider transactions, institutional holdings, beneficial owners, fund holdings, and more, with DuckDB-backed dataframe SQL analytics. It runs over stdio or Streamable HTTP and requires no API keys.

Tools

secedgar_company_search
Find companies by ticker, name, or CIK and get entity details, with optional recent filings.
secedgar_search_filings
Search EDGAR filings since 1993 with full-text search (2001+) and archive browsing for earlier ranges.
secedgar_get_filing
Fetch a specific filing's metadata and document content by accession number.
secedgar_get_financials
Get historical XBRL financial data for a company with friendly concept name resolution.
secedgar_get_snapshot
One-call company financial profile with latest values of every supported concept.
secedgar_get_material_events
Get a company's 8-K history with decoded item codes and filtering.
secedgar_get_insider_transactions
Parse Form 4/4-A insider transactions (buys, sells, grants, exercises) from ownership XML.
secedgar_get_institutional_holdings
Parse quarterly institutional holdings from 13F-HR information tables.
secedgar_find_holders
Reverse 13F lookup: which institutional managers reported holding an issuer.
secedgar_get_beneficial_owners
Get 5%+ blockholders of an issuer from structured SCHEDULE 13D/13G filings.
secedgar_get_fund_holdings
Get ETF and mutual fund portfolio holdings from quarterly NPORT-P reports.
secedgar_fetch_frames
Fetch SEC XBRL frames for one concept × one period across all reporting companies.
secedgar_compare_companies
Compare 2-10 companies across multiple concepts, aligned on calendar periods.
secedgar_search_concepts
Discover supported XBRL concept names or reverse-lookup a raw tag.
secedgar_dataframe_describe
List canvas dataframes with provenance, TTL, and schema.
secedgar_dataframe_query
Run single-statement SELECT queries across dataframes.
secedgar_dataframe_drop
Drop a canvas dataframe by name. Opt-in via EDGAR_DATAFRAME_DROP_ENABLED=true.

Setup

  1. Use the public hosted instance: point any MCP client to https://secedgar.caseyjhand.com/mcp via Streamable HTTP.
  2. Or run locally: create a stdio config with the command npx -y @cyanheads/secedgar-mcp-server@latest and set the environment variable EDGAR_USER_AGENT (e.g., 'YourName [email protected]').
  3. For self-hosted HTTP, set MCP_TRANSPORT_TYPE=http and run with Bun: bun run start:http, default endpoint http://localhost:3010/mcp.
claude_desktop_config.json
{
  "mcpServers": {
    "secedgar-mcp-server": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@cyanheads/secedgar-mcp-server@latest"
      ],
      "env": {
        "EDGAR_USER_AGENT": "YourAppName [email protected]"
      }
    }
  }
}

Fit and risk

Best for

  • Financial analysts and researchers needing fast, structured access to SEC filings.
  • Developers wanting to run SQL queries on SEC data directly within MCP clients.
  • Regtech and data scientists interested in XBRL data.

Not for

  • Users requiring totally offline access to historical filings (though a local mirror option exists).
  • Scenarios needing real-time streaming or very low latency (SEC has rate limits and publication lag).
  • Users who want to avoid setting up their own EDGAR_USER_AGENT (but can use the hosted instance).

Required permissions

  • Access to SEC EDGAR public API (no API key, but valid User-Agent required).
  • When self-hosting locally, runs a local server process that needs a Node/Bun runtime.
  • Optional: when using the local SQLite mirror, stores data and caches on disk.

Risks and side effects

  • SEC requires a valid User-Agent like 'YourAppName [email protected]'; otherwise IP blocks could occur.
  • The tool accesses public APIs and may be rate-limited if too many requests are made.
  • As a non-official server, validate reliability and maintenance status before using in production.

Troubleshooting

  1. Ensure EDGAR_USER_AGENT env var is set and formatted correctly.
  2. Check network connectivity and potential SEC rate limiting.
  3. Verify MCP client config has correct command, arguments, and env vars.
  4. If using the public instance, ensure it is online (check project repo).

Use cases

Analyze financial health and filing history of public companies.
Monitor insider transactions and institutional holdings changes.
Retrieve latest portfolio holdings of specific funds or ETFs.
Compare financial metrics across companies universe-wide.
Screen and filter material events like 8-K filings.

Supported clients

Claude DesktopFull support
CursorFull support
VS CodeFull support