Skip to main content
Glama

sec-edgar-mcp

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. Free underlying data, no API key required by SEC, indie-priced from $9/mo.

demo

Claude: "What were Microsoft's revenue and operating income for FY2024?"
Tool: edgar_get_facts(ticker="MSFT", concept="Revenues")
       edgar_get_facts(ticker="MSFT", concept="OperatingIncomeLoss")
Claude: "Microsoft's FY2024 revenue was $245.1B (+15.7% YoY) and operating income was $109.4B…"

What it does

Six tools, all backed by the SEC's free EDGAR APIs (no key required, only a polite User-Agent per SEC fair-use policy).

Tool

What it returns

edgar_search_filings

Search filings by ticker / CIK / form type / date range.

edgar_read_filing

Full text (or summary) of a specific filing by accession number.

edgar_get_facts

XBRL-structured financial facts (Revenue, OperatingIncome, Cash, etc.).

edgar_get_8k

Recent 8-K material event filings for a ticker, classified by event type.

edgar_get_company

Company metadata (CIK, SIC, exchange, executives).

edgar_get_insider_trades

Form 4 filings (insider buys/sells) with directionality.

Full per-tool reference: docs/TOOLS.md.


Related MCP server: OpenInsider MCP

Install

In Cursor

# in your Cursor settings, MCP servers tab, add:
{
  "sec-edgar": {
    "url": "https://sec-edgar-mcp.workers.dev/mcp",
    "headers": { "Authorization": "Bearer YOUR_API_KEY" }
  }
}

Or one-click via Smithery: https://smithery.ai/server/sec-edgar-mcp/install/cursor.

In Claude Desktop

{
  "mcpServers": {
    "sec-edgar": {
      "command": "npx",
      "args": ["-y", "@modelcontextprotocol/server-fetch", "https://sec-edgar-mcp.workers.dev/mcp"],
      "env": { "MCP_AUTH_TOKEN": "YOUR_API_KEY" }
    }
  }
}

In Cline / Continue

Same URL pattern as Cursor. See docs/TOOLS.md.

Free tier (no API key)

Send requests without an Authorization header. You get 100 calls / month with a 10-req/min ceiling. Hot enough to try, not enough for production.


Pricing

Tier

Price

Monthly calls

Rate limit

Premium tools

Free

$0

100

10/min

Solo

$9 / mo

2,000

60/min

Team

$29 / mo

10,000

200/min

XBRL bulk facts, 8-K subscribe

Pro

$79 / mo

50,000

600/min

All of the above + email/webhook alerts

Subscribe at sec-edgar-mcp.workers.dev/upgrade (or once Smithery's bundled billing is wired, via Smithery checkout — see DISTRIBUTION.md).


How it works

┌────────────┐      ┌────────────────────────┐      ┌──────────────────┐
│ Cursor /   │      │ Cloudflare Worker      │      │ data.sec.gov     │
│ Claude /   │ ───► │ sec-edgar-mcp          │ ───► │ www.sec.gov      │
│ Cline      │      │                        │      │ (EDGAR)          │
└────────────┘      │ - MCP JSON-RPC handler │      └──────────────────┘
   POST /mcp        │ - API-key + quota      │            ▲
   Bearer <key>     │ - KV cache (TTL 1h–24h)│            │
                    │ - tool handlers        │      ┌─────┴─────┐
                    └────────────┬───────────┘      │ KV CACHE  │
                                 │                  │ KV USAGE  │
                                 ▼                  └───────────┘
                          JSON-RPC response
  • Stateless Worker — every request loads identity from Authorization header.

  • KV cache — 1-hour TTL for current filings, 24-hour for older ones, 365-day for things that never change (company name, CIK).

  • Polite to SEC — sends User-Agent: <your-name> <your-email> (mandated by SEC fair-use), and respects Retry-After on 429s.

  • Free-tier-only infra — 100k req/day on Workers + 100k reads/day on KV is the binding constraint at ~$3k+ MRR.


Repo layout

sec-edgar-mcp/
├── README.md             ← this file
├── CHANGELOG.md          ← versioned releases
├── LICENSE               ← MIT
├── package.json
├── wrangler.toml
├── tsconfig.json
├── smithery.json         ← Smithery listing manifest
├── src/
│   ├── index.ts          ← Worker entrypoint
│   ├── edgar.ts          ← EDGAR API client
│   ├── tools.ts          ← MCP tool definitions
│   ├── auth.ts           ← (vendored from _template)
│   ├── cache.ts          ← (vendored from _template)
│   ├── billing.ts        ← (vendored from _template) — move to private repo
│   └── mcp-server.ts     ← (vendored from _template)
├── test/
│   ├── tools.test.ts     ← Vitest tests against fabricated fixtures
│   └── fixtures/         ← saved JSON responses
├── docs/
│   ├── TOOLS.md          ← per-tool API reference (this is what agents read!)
│   └── DISTRIBUTION.md   ← Smithery / Glama / Cursor listing notes
└── .github/workflows/
    ├── ci.yml
    └── deploy.yml

Open-source split

  • This repo (public) — MCP shim, tool schemas, basic EDGAR client, free-tier handlers, fixtures.

  • sec-edgar-mcp-internal (private) — premium-tool implementations (8-K subscription, XBRL bulk, alerts), Stripe webhook handler, advanced cache heuristics, eval datasets.

The deployed Worker pulls from both — but only the public part is on GitHub. See ../../README.md#source-control-split-open-vs-closed for rationale.


Local dev

npm install
wrangler kv namespace create CACHE   # one-time
wrangler kv namespace create USAGE   # one-time
# paste IDs into wrangler.toml
echo "your-name your-email@example.com" | wrangler secret put SEC_USER_AGENT

npm run dev                          # http://localhost:8787/mcp
npm test                             # run vitest
npm run typecheck                    # strict TS check

Deploy

wrangler deploy

Live at https://sec-edgar-mcp.<account>.workers.dev. Custom-domain instructions in ../../_template/DEPLOY.md.

License

MIT — see LICENSE. The data is from SEC EDGAR and is public domain; please respect the SEC's fair access policy.


See also

A
license - permissive license
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/guptaprakhariitr/sec-edgar-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server