Server data from the Official MCP Registry
Real-time SEC Form 4 insider trading + Form 144 & 13F-HR data for any MCP client. 24 tools.
Real-time SEC Form 4 insider trading + Form 144 & 13F-HR data for any MCP client. 24 tools.
This is a well-designed MCP server for accessing SEC Form 4 insider trading data through a hosted API. Authentication is properly handled via API key in environment variables, all operations are read-only queries to a remote service, and permissions are appropriately scoped for the stated purpose. Code quality is high with proper error handling and Zod validation. Minor code quality observations do not materially impact security. Supply chain analysis found 3 known vulnerabilities in dependencies (0 critical, 3 high severity). Package verification found 1 issue.
7 files analyzed · 8 issues found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
This plugin requests these system permissions. Most are normal for its category.
Set these up before or after installing:
Environment variable: FORM4API_KEY
Add this to your MCP configuration file:
{
"mcpServers": {
"io-github-theodor90-form4api-mcp": {
"env": {
"FORM4API_KEY": "your-form4api-key-here"
},
"args": [
"-y",
"form4api-mcp"
],
"command": "npx"
}
}
}From the project's GitHub README.
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
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:
Go to www.form4api.com → Sign in → Dashboard. Free plan includes 500 requests/day, no credit card required.
Claude Desktop — edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):
{
"mcpServers": {
"form4api": {
"command": "npx",
"args": ["-y", "form4api-mcp"],
"env": {
"FORM4API_KEY": "fapi_live_your_key_here"
}
}
}
}
Restart the client. The tools appear automatically.
Claude Code (CLI):
claude mcp add form4api -- npx -y form4api-mcp
…then set FORM4API_KEY in your shell or in ~/.claude/mcp.json.
Cursor / VS Code / Codex CLI / Windsurf — same generic stdio config (command: "npx", args: ["-y", "form4api-mcp"], env.FORM4API_KEY).
FORM4API_KEY=fapi_live_your_key npx form4api-mcp
| Tool | Description | Plan |
|---|---|---|
get_transactions | Search insider transactions — filter by ticker, insider, date range, transaction codes or whole categories (exclude_category=derivatives), 10b5-1 plan trades, or use significant=true for real discretionary buys/sells only. Pro adds trade-size screening (min_value, min_shares) | Free |
get_recent_filings | Most recent Form 4 filings, optionally filtered by ticker | Free |
get_filing | Single filing by accession number | Free |
get_insider_profile | Insider profile — name, title, director/officer/10pct owner flags | Free |
get_insider_transactions | All transactions for a specific insider (by CIK) | Free |
get_company_overview | Company profile — name, CIK, SIC sector, state, website, filing counts | Free |
get_company_insiders | All insiders who have filed Form 4s for a company | Free |
list_companies | List companies, sorted by name or filing count | Free |
get_insider_career_summary | Aggregate career rollup: total bought/sold, top companies, 10b5-1 split, return averages | Pro |
get_insider_scorecard | Buy track-record scorecard for an insider (CIK) — hit rate and avg/median return on discretionary open-market buys; null when fewer than 5 matured samples | Pro |
get_insider_leaderboard | Top insiders ranked by hit_rate or avg_return; filter by horizon (3m/6m), min_trades, and limit | Business |
| Tool | Description | Plan |
|---|---|---|
get_signals | Cluster buy/sell signals — multiple insiders at the same company in the same direction. Excludes 10b5-1 trades automatically | Business |
get_sentiment | MSPR-style monthly sentiment score per ticker (-100 to +100). 10b5-1 excluded so the score reflects real insider conviction | Business |
| Tool | Description | Plan |
|---|---|---|
get_form144 | Notice-of-proposed-sale filings — early signal ~2 days before Form 4 sale lands | Business |
get_holdings | Institutional positions from Form 13F-HR (filter by ticker, CUSIP, manager, quarter, min value) | Business |
get_managers | Institutional manager index with latest AUM | Business |
| Tool | Description | Plan |
|---|---|---|
check_usage | Your API key usage stats and current plan | Free |
get_key_usage | Same data, OpenAPI-shape response | Free |
get_key_activity | Recent API requests for this key | Free |
get_usage_history | Daily request counts for the last N days | Free |
search_insiders | Substring search on insider names | Free |
list_webhooks | List your webhook subscriptions | Free |
get_webhook_events | Replay webhook delivery events since a timestamp | Free |
Configured? Ask your LLM:
Quality-led (these require our amendment-aware, 10b5-1 clean, joined dataset):
Standard insider research:
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:
| form4api-mcp | Scraping-based MCPs | |
|---|---|---|
| Form 4/A amendment handling | ✅ reconciled automatically | ❌ double-counts |
| 10b5-1 plan flag | ✅ exposed on every transaction | ❌ planned + discretionary mixed |
| Form 144 intent-to-sell | ✅ 23K+ filings | ❌ not exposed |
| Institutional × insider join | ✅ top-3 holders + AUM trend per transaction | ❌ insider only |
| Sentiment (10b5-1 excluded) | ✅ MSPR-style score | ❌ planned trades pollute score |
| Source resilience | ✅ hosted API contract | ❌ breaks when source HTML changes |
| Webhooks / production delivery | ✅ HMAC + retry + DLQ | ❌ MCP-only, no fallback |
| SDKs | ✅ Python + JS | ❌ MCP-only |
| Commercial support | ✅ | ❌ |
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.
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:
pip install form4api (PyPI)npm install form4api (npm)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.
| Tool | Free | Pro | Business |
|---|---|---|---|
get_transactions, get_recent_filings, get_filing | ✓ | ✓ | ✓ |
get_insider_profile, get_insider_transactions | ✓ | ✓ | ✓ |
get_company_overview, get_company_insiders | ✓ | ✓ | ✓ |
get_insider_career_summary, get_insider_scorecard | — | ✓ | ✓ |
get_insider_leaderboard, get_signals, get_sentiment | — | — | ✓ |
get_form144, get_holdings, get_managers | — | — | ✓ |
| Requests/day | 500 | 50,000 | 250,000 |
When a tool requires a higher plan, the MCP returns a structured upgrade_required payload (with required_plan and upgrade_url) so the LLM can surface the path to you directly. No mid-conversation 402 confusion.
Upgrade at form4api.com/dashboard/billing.
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:
npx @anthropic-ai/dxt pack
# Produces form4api-mcp.dxt — open it in Claude Desktop to install
Until then, use the standard claude_desktop_config.json method described in Quick install above.
This MCP is split between two layers:
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.src/tools/_generated.ts — produced from https://api.form4api.com/openapi/v1.json by npm run codegen. Every new backend endpoint that lands in the OpenAPI spec flows in here automatically. CI runs npm run codegen:check on 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.
Be the first to review this server!
by Modelcontextprotocol · Developer Tools
Read, search, and manipulate Git repositories programmatically
by Modelcontextprotocol · Developer Tools
Web content fetching and conversion for efficient LLM usage
by Toleno · Developer Tools
Toleno Network MCP Server — Manage your Toleno mining account with Claude AI using natural language.