Skip to main content
Glama
SEC EDGAR Filings MCP

SEC EDGAR Filings MCP

by stagproject

# 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 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.

Related MCP server: sec-edgar-mcp

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.

Available Tools

3 tools
get_filing_sampleAInspect

Free preview of one SEC filing (agent-friendly compact row from fi_listings_portfolio_compact). [COST: $0] Includes agent_summary and financial_metrics (CompanyFacts-derived) but NOT full alpha_signals / causality_events — those ship only via purchase_filing after x402 payment. Compare with purchase_filing: sample = evaluate quality; purchase = full evidence-backed JSON.

[EXAMPLE ARGUMENTS - MAXIMAL]: {"document_id": "000000708426000023"}

Inputs: document_id. Returns: result

purchase_filingAInspect

Purchase and deliver one full SEC filing row from fi_listings_portfolio (MPP v1.0 x402). [COST: xpay per-call + on-chain USDC data price (see FINANCE_FILING_PRICE_USD)] Full JSON includes alpha_signals with evidence_verified causality_events and financial_metrics from SEC CompanyFacts. Do NOT return agent_bundle or internal pipeline fields.

[AGENTIC WORKFLOW — mandatory 2-step 402 flow]: STEP 1: Call with document_id and network only; leave tx_hash EMPTY. STEP 2: Broadcast the exact transaction_payload on-chain (polygon USDC default). STEP 3: Call again with the same document_id, network, and confirmed tx_hash (66 chars).

[EXAMPLE ARGUMENTS - MINIMAL (Step 1 — payment info)]: {"document_id": "000000708426000023", "network": "polygon"}

"document_id": "000000708426000023", "network": "polygon", "tx_hash": "0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef" }

Inputs: document_id (required), network, tx_hash. Returns: result

search_filingsAInspect

PRIMARY discovery tool — lightweight catalog over 10k+ SEC filings (fi_listings_portfolio). [COST: low xpay per-call fee] Does NOT return alpha_signals, causality_events, or financial_metrics (use get_filing_sample / purchase_filing). Always returns agent_readiness_score (higher = better structured data) and edgar_url.

Required: at least one of ticker, form_type, company_name, fiscal_period, cik (avoids full-table scans).

Agent workflow after this call:

  1. Shortlist by agent_readiness_score and optional agent_one_liner

  2. get_filing_sample(document_id) — free preview

  3. purchase_filing(document_id) — paid full JSON (x402)

[EXAMPLE ARGUMENTS - MINIMAL]: {"ticker": "AAPL", "limit": 5}

"ticker": "ADM", "form_type": "10-Q", "company_name": "Archer", "fiscal_period": "2026Q1", "min_agent_readiness_score": 70, "limit": 20, "offset": 0, "include_one_liner": true }

[EXAMPLE ARGUMENTS - PAGINATION (page 2)]: {"ticker": "MSFT", "form_type": "10-K", "limit": 10, "offset": 10}

Inputs: ticker, form_type, company_name, fiscal_period, +5 more. Returns: result

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A4.7/5.0

    Scored across 3 tools

    Disambiguation5/5

    Each tool has a distinct purpose: search_filings for discovery, get_filing_sample for free preview, purchase_filing for full purchase. No overlap in functionality.

    Naming Consistency5/5

    All tools follow a consistent verb_noun pattern: search_filings, get_filing_sample, purchase_filing. Naming is clear and predictable.

    Tool Count4/5

    With only 3 tools, the set is minimal but appropriately scoped for a discovery-preview-purchase workflow. Slightly thin but reasonable for this paid data service.

    Completeness4/5

    The workflow covers search, free preview, and paid full access. No obvious gaps for the stated purpose, though additional metadata tools could be added.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      Not graded
      quality
      D
      maintenance
      Provides advanced document search and processing capabilities through vector stores, including PDF processing, semantic search, web search integration, and file operations. Enables users to create searchable document collections and retrieve relevant information using natural language queries.
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      Hosted MCP server that gives AI agents real-time access to SEC EDGAR filings search, 10-K/8-K reading, XBRL financial facts, and insider-trade (Form 4) alerts.
      12 npm
      1
      MIT
    • A
      license
      Not graded
      quality
      C
      maintenance
      Provides structured US SEC/EDGAR filing data, including filings index, XBRL-derived earnings, and Form 4 insider transactions, as clean JSON via MCP. Supports x402 payments (USDC on Base) and Stripe subscription for access.
      MIT
    • A
      license
      Not graded
      quality
      D
      maintenance
      Hosted MCP server granting AI agents access to 20M+ SEC EDGAR filings, 100M+ exhibits, and comprehensive entity data through 49 tools, with support for raw documents, extracted sections, and structured JSON.
      12 npm
      3
      MIT