
Form4API — SEC Insider Trading
io.github.theodor90由 GitHub 账号 theodor90 发布v1.17.0更新于 Nov 4, 2026
Real-time SEC Form 4, Form 144, 13F-HR & congressional STOCK Act insider data. 39 tools + 6 prompts.
概览
本地 MCP 服务器,为助手提供 39 个工具和 6 个提示词,用于查询 SEC 内部人交易数据:Form 4 交易、Form 144、13F-HR 持仓及国会交易。
- 可以做什么
- 将公司名称、股票代码片段和内部人姓名解析为代码或 CIK,并浏览公司与内部人目录
- 检索并分页查看 Form 4 内部人交易与申报,可按交易代码、10b5-1 计划、金额、角色和日期范围筛选
- 获取公司概况、内部人名单、同业公司及单个内部人的交易历史,以及职业汇总和买入记分卡
- 读取集群买卖信号、月度情绪评分、Form 144 拟售通知、13F-HR 机构持仓和 13D/13G 持股变动
- 列出国会 STOCK Act 交易与议员汇总,并找出内部人与国会买入同时出现的股票
- 查看 API 密钥用量、Webhook 投递健康、数据质量与数据摄取状态,并运行现成的研究提示词
- 适用场景
- 适合在研究过程中需要 SEC 内部人交易、机构持仓或国会交易事实,而不想手动查询 EDGAR 或抓取网站的场景。适合希望助手在一轮对话内回答内部人买入、计划性减持或 13F 持仓问题的分析师和开发者。
- 运行要求
- 通过 stdio 在本地运行,通常用 npx 启动,因此需要 Node.js。需要在 FORM4API_KEY 环境变量中提供 Form4API 密钥,免费密钥每天 500 次请求。需要联网访问托管的 Form4API 服务。少数工具无需密钥即可使用。
安装
在 SourceWeft 中
- 打开 控制台中的 Form4API — SEC Insider Trading,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。
其他 MCP 客户端
参照 仓库 中的启动说明。
README
form4api-mcp
Production-grade SEC Form 4 insider trading data for any MCP-compatible AI assistant — amendment-aware, 10b5-1 clean, with Form 144 + institutional 13F-HR overlay, plus congressional STOCK Act trades and insider/Congress convergence — 39 tools + 6 ready-made research prompts
[npm version] [Available on mcp.so] [form4api-mcp MCP server]
An MCP server that exposes the hosted Form4API REST API to Claude Desktop, Cursor, Windsurf, VS Code, Codex CLI, and any other MCP-compatible client. Configured once, your LLM can answer questions about insider trading, institutional positioning, and intent-to-sell filings directly during research sessions.
Four data-quality claims no scraping-based alternative can make:
- 🛡 Amendment-aware — Form 4/A amendments are reconciled automatically. No double-counting when an insider corrects a filing.
- 🎯 10b5-1 clean — every transaction flagged as pre-scheduled (10b5-1 plan) or discretionary. Cluster signals exclude planned trades by construction.
- 📜 Form 144 intent-to-sell — 125K+ Form 144 filings indexed. Catch insider sales ~2 days before they hit Form 4.
- 🏛 Institutional × insider join — every transaction carries the current 13F-HR ownership context (top-3 holders, AUM trend) in the same response: no second call, no client-side join. Among the self-serve SEC data APIs we've surveyed, none return both sides in one query — sec-api.io and Kaleidoscope both ship 13F and insider data as separate endpoints.
Quick install
1. Get a free API key
Go to www.form4api.com → Sign in → Dashboard. Free plan includes 500 requests/day, no credit card required.
2. Add to your MCP client
Claude Desktop — edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
Restart the client. The tools appear automatically.
Claude Code (CLI):
…then set FORM4API_KEY in your shell or in ~/.claude/mcp.json.
Cursor — edit ~/.cursor/mcp.json (user-level) or .cursor/mcp.json (workspace-level):
Restart Cursor. The tools appear automatically.
Windsurf — edit ~/.codeium/windsurf/mcp_config.json:
Restart Windsurf. The tools appear automatically.
VS Code — edit .vscode/mcp.json (workspace-level). Note: VS Code uses the servers key (not mcpServers):
Restart VS Code. The tools appear automatically.
Codex CLI — config is TOML at ~/.codex/config.toml:
Verify it works
Ask your LLM to run the verify_setup tool — it confirms your API key is valid and the MCP server is reachable, or returns the exact fix steps.
Example: "Run the verify_setup tool to confirm the MCP is configured correctly."
Try before you commit a key
get_public_stats is a keyless tool — it works with no FORM4API_KEY set. Try it first to preview live data coverage before signing up:
Once you like what you see, sign up for a free key at www.form4api.com → set FORM4API_KEY → all tools unlock.
3. Or run directly
Available tools (39)
Search
Form 4 insider trading
Signals + sentiment
Form 144 + institutional
Congress + convergence
Utility
Prompts (6)
Beyond the 39 tools, this MCP ships 6 prompts — ready-made research recipes that a client can list (prompts/list) and load (prompts/get) so you don't have to hand-assemble the right tool sequence yourself. Each one tells the LLM exactly which SEC Form 4 / Form 144 / 13F-HR tools to call, in what order, and how to read plan-gated results.
These map to the recipe workflows scraping-based Form 4 MCPs don't offer — each one leans on data this MCP alone exposes (10b5-1 flags, Form 144, 13F-HR join, per-insider return scoring). Plan requirements are honored honestly: prompts that touch Business-plan tools (get_signals, get_sentiment, get_form144, get_holdings, get_managers) or Pro-plan tools (get_insider_career_summary, get_insider_scorecard) instruct the LLM to surface the structured upgrade_required response rather than silently failing.
In Claude Desktop, prompts surface as a / slash-command picker; in Claude Code or other MCP clients, ask the assistant to "use the insider_monitor prompt for NVDA" (or similar) and it will fetch and follow the recipe.
Example prompts
Configured? Ask your LLM:
Quality-led (these require our amendment-aware, 10b5-1 clean, joined dataset):
- "Show me cluster buy signals from this week — discretionary only, no planned trades"
- "Which companies have insiders buying while institutional ownership is increasing this quarter?"
- "Are there any Form 144 filings at NVDA suggesting upcoming sales?"
- "What's the monthly insider sentiment for TSLA over the last 6 months, with 10b5-1 plans excluded?"
- "Berkshire Hathaway's top 13F-HR holdings — what did they add or trim this quarter?"
Standard insider research:
- "What insider trades happened at NVDA in the last 30 days, excluding 10b5-1 plans?"
- "What is Tim Cook's career insider-trading summary?"
- "Show me all open-market purchases over $1M at Tesla in 2026"
- "What has the CFO of Microsoft been doing with their shares this year?"
Why this MCP vs scraping-based alternatives
Some MCPs in this space scrape free public sites (e.g. openinsider.com) for Form 4 data. That's fine for a quick prototype but the data layer they give your LLM has structural gaps:
If your LLM session is the start of a real research workflow that eventually wants production delivery, picking the MCP that has a graduation path matters.
Beyond MCP — when you need more
Webhook tools are read-only. The MCP can list your webhooks (list_webhooks) and replay delivery events (get_webhook_events), nothing more. Creating, deleting, enabling and testing webhooks, and setting a custom auth header, are done through the REST API or the dashboard. This is deliberate: the MCP exposes no write tools for webhooks.
The MCP is the easiest entry point. When your workflow grows past LLM-mediated research, the rest of the Form4API platform is right behind it:
- Webhooks — HMAC-signed, exponential backoff, dead-letter queue, auto-disable on persistent failure. For production pipelines, not just LLM chats.
- Python SDK —
pip install form4api(PyPI) - JS / TypeScript SDK —
npm install form4api(npm) - Dashboard — usage, billing self-serve, key rotation, webhook health, billing history.
The MCP wraps the same backend as all of the above — every fact your LLM cites can be re-fetched programmatically through any of these channels with the same key.
Plans
25 of the 39 tools work on the free plan, and every tool that is free today stays free. New premium capability gets tiered as it ships; nothing that already works on your key is taken away later.
Starter sits between Free and Pro: 7,500 requests/day and 120/minute, 100 pages of get_transactions paging depth and a 366-day congressional history window. Tools marked Pro or Business in the table still need that plan. Enterprise is unlimited requests/day at 2,000/minute.
For a bulk historical pull, use the REST /v1/transactions/export endpoint (Business) rather
than paging — it streams the whole filtered set as CSV in one request.
What your agent sees at a paywall
A gated call never surfaces a bare HTTP error. The MCP returns a structured
upgrade_required payload so the model can explain the situation and the fix in one turn:
message is the API's own explanation, kept verbatim — it names the specific limit or
parameter that stopped the call, which is usually what the model needs to suggest a working
alternative. The same shape is returned when a Pro-only parameter is used on an otherwise
free tool, so the model can simply retry without that filter.
upgrade_url is included only when the API supplies one; it is omitted otherwise.
Data coverage
- 1.38M+ Form 4 transactions from SEC EDGAR
- 620K+ filings across all reporting companies
- 125K+ Form 144 notice-of-proposed-sale filings (Business+)
- 45M+ Form 13F-HR holdings across 118K+ filings, $80T+ AUM in the latest complete quarter (Business+)
- 3.3+ years of history (since 2023-04)
- 10b5-1 plan flag on every transaction
- Amendment-aware — Form 4/A reconciled
- Congressional STOCK Act trades — U.S. House Clerk periodic transaction reports only (Senate eFD is not ingested).
list_congress_tradesis available on every plan with a history window by plan (Free 30 days, Starter 366 days, Pro+ unlimited); politician rollups and convergence need Pro+. Digital filings, amounts always shown as disclosed ranges (amountLow/amountHigh), never a fabricated midpoint, plusdisclosureLagDayson every trade (up to 45 days under the STOCK Act) - Real-time ingestion — new filings within minutes of SEC publication
Install as a Claude Desktop Extension (DXT)
A manifest.json is included at the repo root for one-click install via the Desktop Extensions (DXT) format. Once Claude Desktop supports .dxt files natively, pack and install with:
Until then, use the standard claude_desktop_config.json method described in Quick install above.
How tools stay in sync with the backend
This MCP is split between two layers:
- Hand-written tools in
src/tools/*.ts(transactions, signals, sentiment, form144, holdings, …) — these carry the LLM-discriminator descriptions (amendment-aware, 10b5-1 clean, etc.) that make this MCP pick correctly over alternatives. - Auto-generated tools in
src/tools/_generated.ts— produced fromhttps://api.form4api.com/openapi/v1.jsonbynpm run codegen. Every new backend endpoint that lands in the OpenAPI spec flows in here automatically. CI runsnpm run codegen:checkon every PR and fails the build if the committed file drifts from what the live spec would produce, so the MCP is never silently behind the backend.
To add a new generated tool: ship the endpoint on the backend, regenerate (npm run codegen), commit src/tools/_generated.ts, publish. No tool-wrapper code needed.
The 6 recipe prompts live in src/prompts/recipes.ts — also hand-written, not generated. They add no new backend surface area; each one is a client-side template that tells the LLM which existing tools to call and in what order.
Links
来源:README.md,提交 536eeac
工具
0版本历史
7- v1.17.0最新Oct 14, 2026
- v1.16.0Oct 13, 2026
- v1.15.3Oct 12, 2026
- v1.15.2Oct 5, 2026
- v1.15.1Oct 2, 2026
- v1.15.0Sep 24, 2026
- v1.9.3Sep 16, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分
