Odel
SEC EDGAR Filings MCP

SEC EDGAR Filings MCP

@stagproject2PythonMITUpdated 3mo ago

SEC EDGAR MCP: search, preview, purchase filings. x402 USDC on Polygon. xpay + Cloud Run upstream.

Server endpointStreamable HTTPAPI keyProbed

This is the third-party server itself — Odel doesn't run it. Hitting this URL directly talks straight to the upstream server with no auth or proxying. Connect through Odel to front it with managed auth.

sec-filings-mcp

SEC EDGAR Filings MCP

SEC EDGAR structured filing MCP for agents: search_filings, get_filing_sample, purchase_filing. Data lives in Supabase views (fi_listings_portfolio, fi_listings_portfolio_compact) populated by the finance-factory pipeline.

Read firstFile
Try without xpay keydocs/TRY_WITHOUT_XPAY.md — Glama sandbox or Cloud Run upstream
Distribution (you vs repo)docs/DISTRIBUTION.md · docs/HANDOFF.md
Build / handoffMCP_FINANCE_BUILD.md
Env template.env.example → copy to .env
Glamaglama.json (maintainers: stagproject); build fix: GLAMA_BUILD.md
A2A / x402docs/A2A.md — Agent Card + payment mapping
MCP Registryio.github.stagproject/sec-filings-mcpdocs/MCP_REGISTRY.md
Discovery URLsdocs/DISCOVERY.md

Template reference: mcp_server.py (patent MCP, unmodified). Runtime: mcp_server_finance.py.

Protocol stack (MCP + A2A + x402)

LayerHow to use
MCP (production)xpay URL below — tools/call on search_filings, get_filing_sample, purchase_filing
A2A (discovery)Agent Card on Cloud Run upstream (xpay blocks /.well-known/*): https://sec-filings-mcp-1065601264332.us-central1.run.app/.well-known/agent-card.json
x402 (payment)purchase_filing — 402 + Polygon USDC + tx_hash redelivery

Native A2A JSON-RPC task API is on the roadmap; today agents invoke via MCP Streamable HTTP. Details: docs/A2A.md.

Try first (no xpay API key)

PathURL / action
Glama sandboxOpen serverTry in Browser
Cloud Run trialhttps://sec-filings-mcp-1065601264332.us-central1.run.app/mcpsearch_filings + get_filing_sample without ?key=

Details: docs/TRY_WITHOUT_XPAY.md.
xpay proxy always needs a key; per-tool $0 is allowed on xpay (docs) but is not the same as “no signup.”

Connect (production)

EndpointURL
xpay (billing + catalog)https://sec-edgar-filings.mcp.xpay.sh/mcp?key=YOUR_XPAY_KEY
Cloud Run (upstream)https://sec-filings-mcp-1065601264332.us-central1.run.app/mcp

Register / manage on xpay.tools. Slug: sec-edgar-filings.
Publisher checklist (finance collection, awesome list): docs/DISTRIBUTION.md.

Local dev

git clone https://github.com/stagproject/sec-filings-mcp.git
cd sec-filings-mcp
copy .env.example .env
# Edit .env with Supabase + x402 keys
uv sync
# Run once in Supabase SQL Editor: sql/fi_processed_transactions.sql
uv run python mcp_server_finance.py --sse
# MCP: http://127.0.0.1:8081/mcp  (PORT in .env)

Tests:

uv run python test_finance_mcp.py
uv run python test_finance_mcp.py --xpay-only --e2e

Cloud Run

gcloud run deploy sec-filings-mcp `
  --source . `
  --region us-central1 `
  --allow-unauthenticated `
  --port 8080

Set env vars from .env (not committed). Do not deploy .env.cloudrun.yaml to git.

Glama

Listed at glama.ai/mcp/servers/stagproject/sec-filings-mcp — use Try in Browser for a no-key sandbox; production traffic uses xpay or Cloud Run above.

MCP Registry

io.github.stagproject/sec-filings-mcp

Publish / update: docs/MCP_REGISTRY.md. Search: https://registry.modelcontextprotocol.io

License

MIT — see LICENSE.md.