stagproject/sec-filings-mcp
๐ โ๏ธ - SEC EDGAR MCP for agents: search 10-K/10-Q, free sample preview, full filing JSON via x402 USDC on Polygon. xpay: sec-edgar-filings. Trial without xpay key: docs. Registry: io.github.stagproject/sec-filings-mcp.
Quick Install
{
"mcpServers": {
"stagproject-sec-filings-mcp": {
"command": "npx",
"args": [
"-y",
"stagproject-sec-filings-mcp"
]
}
}
}Using an AI coding agent (Claude Code, Cursor, etc.)? Copy a ready-made prompt that tells it to fetch the setup instructions and install this server for you.
Documentation Overview
sec-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 first | File |
|---|---|
| Try without xpay key | docs/TRY_WITHOUT_XPAY.md โ Glama sandbox or Cloud Run upstream |
| Distribution (you vs repo) | docs/DISTRIBUTION.md ยท docs/HANDOFF.md |
| Build / handoff | MCP_FINANCE_BUILD.md |
| Env template | .env.example โ copy to .env |
| Glama | glama.json (maintainers: stagproject); build fix: GLAMA_BUILD.md |
| A2A / x402 | docs/A2A.md โ Agent Card + payment mapping |
| MCP Registry | io.github.stagproject/sec-filings-mcp โ docs/MCP_REGISTRY.md |
| Discovery URLs | docs/DISCOVERY.md |
Template reference: mcp_server.py (patent MCP, unmodified). Runtime: mcp_server_finance.py.
Protocol stack (MCP + A2A + x402)
| Layer | How 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)
| Path | URL / action |
|---|---|
| Glama sandbox | Open server โ Try in Browser |
| Cloud Run trial | https://sec-filings-mcp-1065601264332.us-central1.run.app/mcp โ search_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)
| Endpoint | URL |
|---|---|
| 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.