SEC EDGAR Filings MCP

io.github.stagprojectPublished by GitHub account stagprojectv1.0.2Updated Nov 2, 2026

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

The publisher's own server: SEC Filings

VerifiedStreamable HTTPWeb executableFinanceData & Analytics

Overview

AI-generated overview

Remote MCP server for SEC EDGAR structured filings: search filings, preview a sample, and purchase full filings with USDC on Polygon.

What you can do
  • Search SEC EDGAR structured filings in the finance listings views
  • Preview a sample of a filing before buying
  • Purchase a full filing, paid in USDC on Polygon via x402 with transaction hash redelivery
  • Invoke the same tools over MCP Streamable HTTP against the hosted endpoint
When to use it
Use it when an assistant needs to look up SEC EDGAR filings and is willing to pay per filing for full documents; a free trial path exists for search and samples.
Requirements
Remote streamable HTTP endpoint; production access needs an xpay API key passed as the key header (or key query parameter). A Cloud Run upstream and a Glama sandbox offer search and sample calls without a key. Local development needs Python with uv, Supabase and x402 credentials in a .env file.
Before you install
purchase_filing spends money: payment is USDC on Polygon via x402, so a wallet and funds are involved. The xpay key is a secret and should not be shared. Filing data comes from Supabase views populated by an external pipeline, and requests go through xpay and Cloud Run third parties.

Installation

In SourceWeft

  1. Open SEC EDGAR Filings MCP in the dashboard and add it to a workspace.
  2. Connect key credentials. They are stored privately and never shown on public pages.
  3. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.stagproject%2Fsec-filings-mcp/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "sec-edgar-filings": {
      "type": "http",
      "url": "https://sec-edgar-filings.mcp.xpay.sh/mcp",
      "headers": {
        "key": "<YOUR_API_KEY>"
      }
    }
  }
}

README

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-mcp — docs/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 server → Try in Browser
Cloud Run trialhttps://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)

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

powershell
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:

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

Cloud Run

powershell
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

text
io.github.stagproject/sec-filings-mcp

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

License

MIT — see LICENSE.md.

Source: README.md at commit 0cc0dd8

Tools

0
This server asks for a credential such as an API key, so SourceWeft could not read its tools without one and has not indexed them.

Version history

1
  1. v1.0.2LatestSep 16, 2026

Score

85% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

Other Filings integrations