{"id":"5bba1e56-2a6c-42bd-8df0-99dd066d3c1a","slug":"sec-edgar-mcp-remote","kind":"mcp","name":"sec-edgar-mcp-remote","summary":"Remote MCP server + JSON API for SEC EDGAR: Form 4 insider trades, cluster buys, filings, XBRL financials, full-text search (Cloudflare Workers)","owner":"monriah-studio","repoUrl":"https://github.com/monriah-studio/sec-edgar-mcp-remote","license":"MIT","licenseTier":"permissive","trust":"community","stars":0,"match":null,"fewStars":true,"format":"mcp","createdAt":"2026-10-24T04:24:45.000Z","addedAt":"2026-10-24T08:57:08.337Z","logoUrl":"https://avatars.githubusercontent.com/u/347213852?u=cd40754e58338743b2e867ea9a7dc225407ff6f1&v=4","linkOnly":false,"collection":null,"skillPath":null,"categories":["cloud-infra","search","memory-knowledge"],"tags":["edgar","sec"],"runtime":"remote","local":false,"cloudCapable":false,"cloudCapability":"unknown","cloudReadyOnPlatform":false,"needsApiKey":false,"reviewed":false,"syncedAt":"2026-10-25T01:14:07.247Z","sample":false,"url":"https://conduits.dev/tools/sec-edgar-mcp-remote","language":"JavaScript","transports":["http"],"install":{"remoteUrl":"https://sec-edgar-api.kidriahx.workers.dev/mcp"},"requirements":{"env":[],"upstreamMayCharge":false},"tools":null,"readme":"# SEC EDGAR MCP (remote)\n\nA remote [Model Context Protocol](https://modelcontextprotocol.io) server and JSON API for U.S. **SEC EDGAR** data, running on Cloudflare Workers. It gives AI agents Form 4 insider trades, market-wide cluster buys, company filings, XBRL financials and EDGAR full-text search as compact JSON, with no XML parsing or CIK lookups needed.\n\n- **Remote MCP endpoint (Streamable HTTP, stateless):** `https://sec-edgar-api.kidriahx.workers.dev/mcp`\n- **Server card:** `https://sec-edgar-api.kidriahx.workers.dev/.well-known/mcp/server-card.json`\n- **REST API spec:** `https://sec-edgar-api.kidriahx.workers.dev/openapi.yaml`\n- **MCP Registry name:** `io.github.monriah-studio/sec-edgar-mcp`\n- **Tutorial:** [Give your AI agent SEC EDGAR data: a free remote MCP server for insider trades and XBRL financials](https://dev.to/monriahstudio/give-your-ai-agent-sec-edgar-data-a-free-remote-mcp-server-for-insider-trades-and-xbrl-financials-31j4) (dev.to)\n\nData comes straight from SEC EDGAR (public domain) under SEC fair-access rules: a declared User-Agent, a global rate limit of about 8.7 req/s (under SEC's 10 req/s) and caching. Not affiliated with the SEC. Not investment advice.\n\n## Tools\n\n| Tool | What it returns |\n|---|---|\n| `get_insider_trades` | Form 4 transactions for a company (ticker/CIK) or an insider (reporting-owner CIK): who bought or sold, role, shares, price, dollar value, 10b5-1 flag and filing link, with buy/sell totals. |\n| `get_market_insider_buys` | Open-market insider purchases across the whole market, grouped by company, with cluster-buy detection (2+ insiders). |\n| `get_company_filings` | Latest 10-K, 10-Q, 8-K (with item numbers), S-1, proxy and other filings, with direct document links. |\n| `get_company_snapshot` | Revenue, margins, net income, EPS, cash flow, balance sheet and debt, with YoY growth, from XBRL. |\n| `get_company_concept` | Annual or quarterly history of any XBRL tag (e.g. `NetIncomeLoss`, `Revenues`). |\n| `search_filings` | EDGAR full-text search with phrase, form and date filters. |\n| `resolve_company` | Ticker ↔ CIK lookup. |\n\n## Connect a client\n\nAny MCP client that supports Streamable HTTP can use the URL directly. For example:\n\n```json\n{\n  \"mcpServers\": {\n    \"sec-edgar\": {\n      \"type\": \"http\",\n      \"url\": \"https://sec-edgar-api.kidriahx.workers.dev/mcp\"\n    }\n  }\n}\n```\n\nClaude Code users can run `claude mcp add --transport http sec-edgar https://sec-edgar-api.kidriahx.workers.dev/mcp`. Each client uses a slightly different format, so see the [agent kit](#agent-kit) below for exact files.\n\nIf the operator has set `MCP_API_KEYS`, send a key as `Authorization: Bearer <key>`, `X-API-Key: <key>` or `?api_key=<key>`. The public endpoint above needs no key.\n\nExample prompts:\n- \"Which companies had cluster insider buying (2+ insiders) in the last 30 days?\"\n- \"Show NVIDIA's last 10 insider sales and whether they were under 10b5-1 plans.\"\n- \"Compare Apple's revenue, net margin and debt-to-equity with last year.\"\n- \"Find 8-K filings this year that mention 'share repurchase'.\"\n\nMore are in [`prompts/`](prompts/README.md).\n\n## Agent kit\n\nEverything you need to plug the server into an agent, tested against the live endpoint:\n\n- **[`docs/SETUP.md`](docs/SETUP.md)**: a step-by-step setup guide for each client, plus troubleshooting.\n- **[`kit/`](kit/README.md)**: copy-paste configs for Claude Desktop (via `mcp-remote` or a custom connector), Claude Code, Cursor, VS Code, Windsurf, and a generic Streamable HTTP example (`curl`, Node SDK, Python SDK).\n- **[`skills/`](skills/)**: four [Agent Skills](https://agentskills.io) (`SKILL.md`) that teach the agent reliable workflows:\n  - `insider-buying-scan`: market-wide cluster buys, then per-company trade detail and context\n  - `company-financial-snapshot`: a multi-year XBRL table (revenue, net income, cash) that de-duplicates periods correctly\n  - `filing-monitor`: an 8-K digest for a watchlist, with decoded item numbers\n  - `earnings-prep`: a one-page brief before an earnings report\n- **[`prompts/`](prompts/README.md)**: 10 example prompts and the tools each one should trigger.\n- **`test/skills.mjs`**: `node test/skills.mjs` runs every skill workflow against the live endpoint (Node 18+, no install).\n\n## Need bulk or scheduled data?\n\nThis MCP server is free and is meant for interactive, agent-sized lookups: one company or a handful of filings per call. If you need more than that, such as daily 8-K alerts across the whole market, filings for hundreds of tickers, keyword sweeps over a date range, or results delivered to a dataset, webhook or spreadsheet on a schedule, we also publish a paid Apify Actor built on the same SEC sources:\n\n**[SEC EDGAR Filings & Financials API](https://apify.com/monriah-studio/sec-edgar-filings)** (Apify)\n- `companyFilings`: 8-K or any form by ticker\n- `marketFilings`: every filing of chosen forms across all companies in a date range, with 8-K item and full-text keyword filters\n- `financials`: XBRL snapshots for a list of tickers\n- Scheduling and change detection (`onlyNewSinceLastRun`), so you only get filings you haven't seen\n- Pay per result: **$0.002 per filing row** and **$0.005 per company snapshot**, with a `maxResults` cap. Apify's free plan includes monthly platform credit.\n\nYou don't need it to use anything in this repo. The MCP server stays free, and the Actor is optional for batch and scheduled jobs. Insider trades aren't part of that Actor; for those, use this server's `get_insider_trades` and `get_market_insider_buys`.\n\n## REST endpoints\n\nThe same Worker also serves a REST API (see `openapi.yaml`):\n`/v1/insider-trades/{tickerOrCik}`, `/v1/insider-buys`, `/v1/filings/{tickerOrCik}`, `/v1/company/{tickerOrCik}/snapshot`, `/v1/company/{tickerOrCik}/facts`, `/v1/company/{tickerOrCik}/concept/{taxonomy}/{tag}`, `/v1/search`, `/v1/resolve/{tickerOrCik}`, plus `/health`.\n\n## Run locally\n\nRequires Node.js 18+. No Cloudflare account is needed for local dev.\n\n```bash\nnpm install\nnpx wrangler dev --test-scheduled          # serves http://localhost:8787 (MCP at /mcp)\nnode test/unit.mjs                         # unit tests\nnode test/harness.mjs http://localhost:8787   # REST against live EDGAR\nnode test/mcp.mjs http://localhost:8787       # MCP: lists tools and calls each one\ncurl \"localhost:8787/__scheduled?cron=*/10+*+*+*+*\"   # run the insider-buy cron once\n```\n\nOptional local secrets go in `.dev.vars` (git-ignored; see `.dev.vars.example`).\n\n## Deploy your own (Cloudflare Workers Free)\n\n1. `npx wrangler login`\n2. `npx wrangler kv namespace create CACHE`, then put the printed id in `wrangler.toml` (`[[kv_namespaces]]`).\n3. Set `SEC_USER_AGENT` in `wrangler.toml` to your own name and a monitored email (SEC fair-access requirement).\n4. `npx wrangler deploy`\n5. Optional: `npx wrangler secret put MCP_API_KEYS` (protects `/mcp`) and `npx wrangler secret put RAPIDAPI_PROXY_SECRET` (protects REST).\n\nThe Durable Object rate limiter (`SecRateLimiter`) and the `*/10 * * * *` cron are created automatically.\n\n## Project layout\n\n- `src/index.js`: router and REST endpoints\n- `src/sec.js`: SEC client, global rate limiter (Durable Object), caching\n- `src/form4.js`: Form 4 XML parser\n- `src/mcp/`: MCP server (`tools.js` defines the 7 tools)\n- `test/`: unit tests, live harness, MCP test, skill-workflow smoke test (`skills.mjs`) and sample responses\n- `kit/`: client configs, `skills/`: Agent Skills, `prompts/`: example prompts, `docs/SETUP.md`: setup guide\n- `server.json`: MCP Registry metadata\n\n## License\n\nMIT © 2026 MonRiah Studio. See [LICENSE](LICENSE).\n"}