# secedgar-mcp-server MCP server

Query SEC EDGAR filings, XBRL financials, and company data through MCP. STDIO & Streamable HTTP.

## Links
- Registry page: https://www.getdrio.com/mcp/io-github-cyanheads-secedgar-mcp-server
- Repository: https://github.com/cyanheads/secedgar-mcp-server

## Install
- Command: `npx -y @cyanheads/secedgar-mcp-server`
- Endpoint: https://secedgar.caseyjhand.com/mcp
- Auth: Auth required by registry metadata

## Setup notes
- Package: Npm @cyanheads/secedgar-mcp-server v0.5.1
- Environment variable: EDGAR_USER_AGENT (required)
- Environment variable: MCP_LOG_LEVEL (default info)
- Package: Npm @cyanheads/secedgar-mcp-server v0.5.1
- Environment variable: EDGAR_USER_AGENT (required)
- Environment variable: MCP_HTTP_HOST (default 127.0.0.1)
- Environment variable: MCP_HTTP_PORT (default 3010)
- Environment variable: MCP_HTTP_ENDPOINT_PATH (default /mcp)
- Environment variable: MCP_PUBLIC_URL
- Environment variable: MCP_AUTH_MODE (default none)
- Environment variable: MCP_LOG_LEVEL (default info)
- The upstream registry signals required auth or secrets.
- Remote endpoint: https://secedgar.caseyjhand.com/mcp

## Tools
- secedgar_company_search (Secedgar Company Search) - Find companies and retrieve entity info with optional recent filings. Entry point for most EDGAR workflows — resolves tickers, names, or CIKs to entity details, with accession numbers in the result feeding secedgar_get_filing for document content. Endpoint: https://secedgar.caseyjhand.com/mcp
- secedgar_search_filings (Secedgar Search Filings) - Search the full-text index of EDGAR filings since 1993. Supports exact phrases, boolean operators, wildcards, and entity targeting (ticker:AAPL or cik:320193 in query). Endpoint: https://secedgar.caseyjhand.com/mcp
- secedgar_get_filing (Secedgar Get Filing) - Fetch a specific filing's metadata and document content by accession number. Returns the primary document as readable text, with option to fetch specific exhibits. Endpoint: https://secedgar.caseyjhand.com/mcp
- secedgar_get_financials (Secedgar Get Financials) - Get historical XBRL financial data for a company. Accepts friendly concept names (e.g., "revenue", "net_income", "assets") or raw XBRL tags. Discover available friendly names with secedgar_search_concepts. Handles historical tag changes and deduplicates data automatically. Endpoint: https://secedgar.caseyjhand.com/mcp
- secedgar_fetch_frames (Secedgar Fetch Frames) - Fetch SEC XBRL frames for one concept × one period across all reporting companies. Inline response returns the top N ranked companies; the full frames response (all reporters) is materialized as df_<id> when a canvas is available, queryable via secedgar_dataframe_query. Accepts friendly names like "revenue" or "assets" (discover via secedgar_search_concepts) or raw XBRL tags. One call hits one XBRL tag — when a friendly name maps to multiple tags, the response's `unqueried_tags` lists the others; call again per tag and UNION/COALESCE in SQL with an analysis-specific priority (e.g. SalesRevenueGoodsNet is goods-only). Response includes `value_distribution` and `period_end_range` to flag XBRL scale-factor anomalies and fiscal-year mixing. Endpoint: https://secedgar.caseyjhand.com/mcp
- secedgar_search_concepts (Secedgar Search Concepts) - Search supported XBRL financial concepts by keyword, statement group, or taxonomy. Use before secedgar_get_financials or secedgar_compare_metric to discover the right friendly name, or pass a raw XBRL tag (e.g., "NetIncomeLoss") to reverse-lookup which friendly names map to it. Empty search with no filters returns the full catalog. Endpoint: https://secedgar.caseyjhand.com/mcp
- secedgar_dataframe_describe (Secedgar Dataframe Describe) - List dataframes (df_XXXXX_XXXXX) materialized by secedgar_fetch_frames, secedgar_search_filings, and secedgar_get_financials. Each entry surfaces source tool, query parameters, creation/expiry timestamps, row count, column schema, and whether the dataframe is truncated relative to the upstream source. Endpoint: https://secedgar.caseyjhand.com/mcp
- secedgar_dataframe_query (Secedgar Dataframe Query) - Run a single-statement SELECT against the canvas dataframes registered by secedgar_fetch_frames, secedgar_search_filings, and secedgar_get_financials. Read-only: writes, DDL, DROP, COPY, PRAGMA, ATTACH, and external-file table functions are rejected. System catalogs (information_schema, pg_catalog, sqlite_master, duckdb_*) are denied at the bridge layer — list dataframes via secedgar_dataframe_describe. Optional register_as chains the result as a new dataframe with a fresh TTL. Endpoint: https://secedgar.caseyjhand.com/mcp

## Resources
- secedgar://concepts - XBRL Financial Concepts Reference list of common XBRL financial concepts grouped by financial statement, mapping friendly names accepted by secedgar_get_financials and secedgar_compare_metric to their XBRL tags. MIME type: text/markdown
- secedgar://filing-types - SEC Filing Types Reference list of common SEC filing types with descriptions, cadence, and typical use cases. Helps choose the forms parameter for secedgar_search_filings or the form_types filter for secedgar_company_search. MIME type: text/markdown

## Prompts
- secedgar_company_analysis - Guide a structured analysis of a public company's SEC filings: identify recent filings, extract financial trends, surface risk factors, and note material events. Arguments: company, focus_areas

## Metadata
- Owner: io.github.cyanheads
- Version: 0.5.1
- Runtime: Npm
- Transports: STDIO, HTTP
- License: Not captured
- Language: Not captured
- Stars: Not captured
- Updated: May 17, 2026
- Source: https://registry.modelcontextprotocol.io
