{"name":"io.github.theodor90/form4api-mcp","slug":"theodor90-form4api-mcp","title":"Form4API — SEC Insider Trading","description":"Real-time SEC Form 4, Form 144, 13F-HR & congressional STOCK Act insider data. 37 tools + 6 prompts.","url":"https://mcp.market/server/theodor90-form4api-mcp","rating":null,"grade":"B","score":83,"certified":false,"status":"active","category":"finance","tags":["finance"],"presence":{"score":31,"stars":1,"forks":0,"downloads_week":85,"last_push_at":"2026-09-24T10:48:36.000Z","license":"MIT"},"uptime":null,"claimed":false,"transport":"npm","callable_via_gateway":false,"default_price_micros":0,"repository":"https://github.com/theodor90/form4api-mcp","website":"https://www.form4api.com","version":"1.15.0","remotes":[],"packages":[{"registryType":"npm","identifier":"form4api-mcp","version":"1.15.0","transport":{"type":"stdio"},"environmentVariables":[{"description":"Form4API key — get a free one (500 req/day, no card) at https://www.form4api.com","isRequired":true,"isSecret":true,"name":"FORM4API_KEY"}]}],"tools":[{"name":"check_usage","description":"Snapshot of the authenticated API key's current usage — plan name, requests made today, daily limit, and all-time request count. Use this for a quick right-now check; use the generated get_usage_history tool for a daily trend over time, or get_key_activity for a per-request log. Free plan, works on every tier.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_company_insiders","description":"Full roster of insiders who have ever filed a Form 4 for a given ticker — name, CIK, titles, director/officer/10%-owner flags, last-filed date, and total transaction count per insider. Use this to enumerate a company's insiders (e.g. before pulling each one's career summary); use get_transactions with ticker= for the underlying trade history itself. Free plan. Paginated, max 100/page.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_company_overview","description":"Company profile for a single ticker — name, CIK, SIC sector/description, state of incorporation, website, total Form 4 filing count, and active insider count. Use this for company identity/metadata; use get_company_insiders to list who is filing, or get_transactions with ticker= for their trade history. Free plan.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_filing","description":"Fetch one Form 4 filing by its exact SEC accession number (format NNNNNNNNNN-YY-NNNNNN, e.g. 0000320193-26-000001). Use this once you already have an accession number from get_recent_filings or get_transactions. Returns filed/period-of-report dates, company and insider identity, and transaction count for that filing. Free plan.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_form144","description":"Form 144 notice-of-proposed-sale filings — insiders disclose intent to sell roughly 2 days before the matching Form 4 sale lands, so this is an early-warning signal, especially discretionary (non-10b5-1) notices. Filter by ticker, insider name (partial match), date range, or exclude_10b5. Cross-reference with get_transactions/get_insider_transactions to see whether the intent was actually executed","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_holdings","description":"Institutional 13F-HR positions — filter by ticker (CUSIP resolved to ticker automatically), CUSIP, manager CIK, quarter, or minimum position value. Answers \"who owns NVDA\" or \"which managers hold AAPL this quarter\"; pair with get_managers to look up a manager's identity/AUM, or get_transactions to cross-reference insider activity at the same company. Requires Business plan. Paginated, max 100/page","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_insider_career_summary","description":"Aggregate career rollup for one insider by CIK — first/last transaction dates, total shares/value bought vs sold, top companies traded, transaction-code breakdown, 10b5-1 plan split, and average post-trade returns (stored as fractions, e.g. 0.05 = +5%). Use this instead of get_insider_transactions when you want a pre-computed summary rather than raw rows; pair with the generated get_insider_scorec","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_insider_profile","description":"Look up one insider's identity by CIK (SEC's numeric filer identifier, e.g. 0001214128) — returns name, all known titles, and director/officer/10%-owner role flags. If you only have a name, resolve it to a CIK first with the generated search_insiders tool. For trading history use get_insider_transactions or get_insider_career_summary instead. Free plan.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_insider_transactions","description":"All Form 4 transactions filed by one insider (by CIK), filterable by ticker, transaction code, date range, and 10b5-1 exclusion. Use this once you have an insider's CIK on hand; get_transactions with insider_cik= gives the same rows alongside its broader filter set, while get_insider_career_summary returns a pre-aggregated rollup instead of raw rows. Free plan. Paginated, max 100/page.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_managers","description":"Browse the institutional manager index — each manager with their latest 13F-HR filing date and AUM. Filter by name (partial match — \"Berkshire\" returns Berkshire Hathaway) or minimum AUM. Pair with get_holdings to see what a given manager owns. Requires Business plan. Paginated, max 100/page.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_recent_filings","description":"Live feed of the newest SEC Form 4 filings, sorted most-recent-first, optionally filtered to one ticker. New filings typically appear within ~60 seconds of SEC publication. Use this to check \"what just happened\" rather than get_transactions (built for filtered/historical search across date ranges and codes). Returns per-filing accession number, filed/period-of-report dates, company + insider ident","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_sentiment","description":"Monthly insider-sentiment score for a ticker (MSPR-style, -100 to +100; positive = net buying conviction), one point per month, defaulting to roughly the last 12 months. Automatically excludes 10b5-1 plan trades so the score reflects discretionary conviction, not pre-scheduled dispositions. Use get_transactions or get_signals for the trade-level detail behind a given month. Requires Business plan.","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_signals","description":"Cluster buy/sell signals — multiple insiders at the same company trading in the same direction within a short window, a stronger conviction signal than any single trade. Excludes 10b5-1 plan trades automatically by construction. Returns signal type, detection date, buyer/seller counts, total $ value, and the underlying transactions; pair with the generated explain_signal tool to see exactly why a ","write_action":false,"price_micros":0,"input_schema":null},{"name":"get_transactions","description":"Search SEC Form 4 insider transactions with rich filters: ticker, insider CIK, transaction code/category, date range, a dollar floor (min_value), institutional-ownership trend, and (Pro+) upper trade-size bounds plus post-trade return screening (1d/1w/1m/3m/6m, returns as fractions e.g. 0.05 = +5%). Returns transaction-level rows — shares, price, total value, transaction code, 10b5-1 flag, insider","write_action":false,"price_micros":0,"input_schema":null},{"name":"research_company","description":"Bundled insider-research context for one ticker in a single call — company profile, recent insider transactions (10b5-1 flagged), cluster buy/sell signals, monthly sentiment score, and a computed net buy/sell direction summary. Use this FIRST for any company insider-research question; it replaces 4 separate calls (get_company_overview, get_transactions, get_signals, get_sentiment) and degrades gra","write_action":false,"price_micros":0,"input_schema":null},{"name":"verify_setup","description":"Diagnostic check: confirms FORM4API_KEY is present and valid, the backend is reachable, and reports your current plan — returns a pass/fail/warn per check plus concrete next steps (where to get a key, how to upgrade) instead of a raw error. Run this first whenever another tool fails or returns a 401/402, to isolate whether the problem is configuration, plan, or a backend outage. No API key or para","write_action":false,"price_micros":0,"input_schema":null}],"scan":{"score":83,"grade":"B","scanned_at":"2026-09-24T11:58:45.537Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-24T11:58:45.497Z","components":{"code":{"score":25,"max":25,"notes":["39 source files scanned"]},"reliability":{"score":-1,"max":20,"notes":["no gateway calls yet and no remote to probe"]},"poisoning":{"score":-1,"max":15,"notes":["tools not inspected (local package is not executed); not counted"]},"auth":{"score":6,"max":15,"notes":["static API keys via environment variables"]},"maintenance":{"score":15,"max":15,"notes":["last push 0 days ago"]},"identity":{"score":8,"max":10,"notes":["registry namespace matches repository owner","GitHub account older than a year"]}},"findings":[],"inputs":{"packages":[{"registryType":"npm","identifier":"form4api-mcp","version":"1.15.0","found":true,"license":"MIT","hasInstallScripts":false,"dependencyCount":2,"publishedAt":"2026-09-24T06:42:53.579Z","repositoryUrl":"git+https://github.com/theodor90/form4api-mcp.git","weeklyDownloads":85}],"repo":{"found":true,"owner":"theodor90","repo":"form4api-mcp","archived":false,"pushedAt":"2026-09-24T10:48:36Z","stars":1,"forks":0,"openIssues":0,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/38428419?v=4","ownerCreatedAt":"2018-04-16T12:26:38Z","license":"MIT"},"icon":{"url":null,"source":"none"},"presence":{"stars":1,"forks":0,"downloadsWeek":85,"license":"MIT","lastPushAt":"2026-09-24T10:48:36.000Z","score":31}}}},"grade_history":[],"reviews":[]}