Skip to main content

LLM-optimized SEC EDGAR MCP server

Project description

sec-engine

LLM-optimized SEC EDGAR MCP server. Provides six tools that wrap the SEC's public JSON APIs for financial data extraction and analysis — no authentication required.

Tools

Tool Purpose
resolve Ticker/CIK to company identity (name, SIC, exchanges, fiscal year end)
filings List SEC filings with form type and date filtering
snapshot Latest key metrics (~20) + full XBRL concept index
concept_history Time series for one XBRL metric across all filings
cross_company Compare one metric across ALL filers for peer/sector screening
filing_section Extract narrative text from 10-K/10-Q sections (MD&A, Risk Factors, etc.)

Installation

pip install sec-engine

Or with uv:

uv pip install sec-engine

Usage

Claude Desktop

Add to your Claude Desktop config (claude_desktop_config.json):

{
  "mcpServers": {
    "sec-engine": {
      "command": "sec-engine"
    }
  }
}

Docker Compose

Edit SEC_EDGAR_USER_AGENT in compose.yml with your name and email, then:

docker compose up --build

Direct (stdio)

sec-engine

Direct (streamable HTTP)

SEC_ENGINE_TRANSPORT=streamable-http sec-engine

The server supports both stdio and streamable HTTP transports via the Model Context Protocol.

Configuration

All configuration is via environment variables:

Variable Default Description
SEC_EDGAR_USER_AGENT SEC-Engine/0.1 (sec-engine-mcp) User-Agent sent to SEC.gov (SEC requires a descriptive UA)
SEC_ENGINE_TRANSPORT stdio Transport protocol: stdio or streamable-http
SEC_ENGINE_HOST 127.0.0.1 Listen address (streamable-http only)
SEC_ENGINE_PORT 8000 Listen port (streamable-http only)
SEC_ENGINE_PATH /mcp HTTP endpoint path (streamable-http only)
SEC_ENGINE_ALLOWED_HOSTS Comma-separated allowed hosts for DNS rebinding protection (e.g. *)

Requirements

  • Python >= 3.11

Disclaimer

This software retrieves publicly available data from the SEC EDGAR system. It is provided as-is for informational purposes only and does not constitute financial, legal, or investment advice. The authors are not responsible for how you use this data or any consequences arising from its use. You are solely responsible for complying with all applicable SEC policies, regulations, and terms of service.

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

sec_engine-0.5.0.tar.gz (68.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

sec_engine-0.5.0-py3-none-any.whl (12.4 kB view details)

Uploaded Python 3

File details

Details for the file sec_engine-0.5.0.tar.gz.

File metadata

  • Download URL: sec_engine-0.5.0.tar.gz
  • Upload date:
  • Size: 68.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.2 {"installer":{"name":"uv","version":"0.11.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for sec_engine-0.5.0.tar.gz
Algorithm Hash digest
SHA256 d0cd18b36cd1a496fd21d55e1438efa31a08c7513c84cabebeb353c07f55fa68
MD5 11d995d40bdddefa5c7ba092ecd5cd0b
BLAKE2b-256 3afc3b5040e3a115c2a5e4c421affb38d65d4000ec98d802599dc5ed190b99e9

See more details on using hashes here.

File details

Details for the file sec_engine-0.5.0-py3-none-any.whl.

File metadata

  • Download URL: sec_engine-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 12.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.2 {"installer":{"name":"uv","version":"0.11.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for sec_engine-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1f099c6d4a821cdcc1bd33709d9c34fc08ead2e96de726d4faf13e93e993491a
MD5 c5b35acdbe0a670bc11b9e890e58bb33
BLAKE2b-256 14d731423bce63737eeeaae476b8504f26cbf02fa017da8986cbcf3cf4dd8305

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page