Server definition
- Hash
- sha256:20ac8e77f85d37908a02fc5718e9e50c488ed4b8abd47a604ac756bc4e6ff7af
- What it is
- What a remote MCP server returned when asked what it offers: 11 tools
The blob, as servednamed by its sha256
{
"instructions": "InsiderGraph turns SEC EDGAR insider-ownership filings into query-ready intelligence:\ninsider trades (Forms 3/4/5), material corporate events (8-K), announced insider sales\n(Form 144), and 5%+ activist/passive stakes (Schedules 13D/13G) - unified through one\nentity graph and refreshed within minutes of EDGAR dissemination.\n\nTool names carry their class: get_/find_/list_/describe_ tools return stored\nrows and navigation; unprefixed tools (company_profile, cluster_buys,\nplanned_vs_executed, trades_before_events) compute cross-feed analytics.\n\nAccess: anonymous use is free and covers the most recent 90 days. A free API key\n(Authorization: Bearer) unlocks the full backfill horizon and 10x rate limits;\ndescribe_coverage shows your current tier and how to get one.\n\nRecommended flow:\n1. Orient - describe_coverage returns live per-feed date ranges and an example\n question per tool. Coverage deepens daily; never assume a date range.\n2. Start from an entity - company_profile accepts any identifier (ticker in any\n format, company name, CIK, US ISIN) and returns a one-call snapshot: 5%+ holders,\n insider buy/sell activity, announced sales, and recent material events, with\n next_tools hints. find_company resolves ambiguous identifiers to candidates.\n3. Screen for signals - cluster_buys (multiple insiders buying), get_stakes with\n schedule_type=activist (13D arrivals), planned_vs_executed (announced-but-unexecuted\n sales), trades_before_events (insider trading ahead of bad news).\n4. Fetch rows and verify - get_insider_trades, get_material_events, get_planned_sales;\n every row links its SEC filing for citation.",
"tools": [
{
"description": "Find issuers where multiple distinct insiders independently bought with their own money (code P) inside a window - a signal raw EDGAR cannot answer. Sorted by total value.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false,
"properties": {
"min_distinct_insiders": {
"default": 2,
"description": "Minimum distinct buyers per issuer, default 2.",
"type": "integer"
},
"min_value_usd": {
"description": "Minimum combined buy value per issuer in USD.",
"type": "number"
},
"window_days": {
"default": 30,
"description": "Lookback window in days, default 30.",
"type": "integer"
}
},
"type": "object"
},
"name": "cluster_buys",
"outputSchema": null
},
{
"description": "START HERE for any company question: one call returns the full insider picture for a ticker or company name - current 5%+ stakeholders (13D/13G), insider buy/sell activity (Form 4), announced sales (Form 144), and recent material events (8-K). Every row links its SEC filing; next_tools names the tool for each deeper question.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false,
"properties": {
"query": {
"description": "Any identifier: ticker in any format (NVDA, NASDAQ:AAPL, $NVDA, BRK.B), company name, CIK number, US ISIN, or CUSIP.",
"type": "string"
},
"window_days": {
"default": 90,
"description": "Lookback for insider activity, planned sales, and events; default 90, cap 730.",
"type": "integer"
}
},
"required": [
"query"
],
"type": "object"
},
"name": "company_profile",
"outputSchema": null
},
{
"description": "Orientation: what this server covers RIGHT NOW - per-feed live date ranges (coverage deepens daily toward the backfill horizon), your access tier, and an example question per tool. Call this first when unsure what to ask or whether a date range is covered.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false,
"properties": {},
"type": "object"
},
"name": "describe_coverage",
"outputSchema": null
},
{
"description": "Resolve any company identifier to its EDGAR identity: ticker in any format (AAPL, NASDAQ:AAPL, $NVDA, BRK.B), company name, CIK number, US ISIN, or CUSIP. Returns ranked candidates with name, ticker, and CIK. Use it when unsure of the exact ticker before calling the search tools.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false,
"properties": {
"query": {
"description": "The identifier to resolve, e.g. \"nvidia\", \"NASDAQ:AAPL\", \"1045810\", \"US0378331005\".",
"type": "string"
}
},
"required": [
"query"
],
"type": "object"
},
"name": "find_company",
"outputSchema": null
},
{
"description": "Search normalized insider transactions from SEC Forms 3/4/5 (US public companies). Returns rows with pre-computed value_usd and a quote-ready summary string with the SEC filing link. footnote_level says where a row's footnotes live: transaction - in the row's footnotes; filing - not linked to the row yet, the filing's footnotes are in filing_footnotes once per accession.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false,
"properties": {
"cursor": {
"description": "Opaque pagination token from the previous response's page.next_cursor; pass it back verbatim to fetch the next page.",
"type": "string"
},
"equity_swap": {
"default": false,
"description": "true = only transactions the filer flagged equitySwapInvolved, whatever their code.",
"type": "boolean"
},
"exclude_10b5_1": {
"default": true,
"description": "Drop pre-scheduled 10b5-1 plan transactions; true (default) for signal-seeking, false for full audit.",
"type": "boolean"
},
"insider": {
"description": "Substring match on the insider's name, e.g. \"MUSK\".",
"type": "string"
},
"limit": {
"default": 50,
"description": "Max rows per page, default 50, cap 500.",
"type": "integer"
},
"min_value_usd": {
"description": "Minimum transaction value in USD (shares x price).",
"type": "number"
},
"relationship": {
"description": "Filter by insider role.",
"enum": [
"director",
"officer",
"ten_percent"
],
"type": "string"
},
"since": {
"description": "Earliest transaction date, YYYY-MM-DD.",
"type": "string"
},
"tickers": {
"description": "Ticker symbols to include, e.g. [\"NVDA\",\"AAPL\"]. Empty = all issuers.",
"items": {
"type": "string"
},
"type": "array"
},
"txn_codes": {
"description": "SEC transaction codes as filed, matched exactly, e.g. [\"K\"] for equity swaps and hedges, [\"J\"] for other acquisitions or dispositions. With txn_type both must hold. Omit for all.",
"items": {
"enum": [
"P",
"S",
"V",
"A",
"D",
"F",
"I",
"M",
"C",
"E",
"H",
"O",
"X",
"G",
"L",
"W",
"Z",
"J",
"K",
"U"
],
"type": "string"
},
"type": "array"
},
"txn_type": {
"description": "buy (open-market/private purchase P), sell (S), grant (A), exercise (M/X), or gift (G). Omit for all.",
"enum": [
"buy",
"sell",
"grant",
"exercise",
"gift"
],
"type": "string"
},
"until": {
"description": "Latest transaction date, YYYY-MM-DD.",
"type": "string"
}
},
"type": "object"
},
"name": "get_insider_trades",
"outputSchema": null
},
{
"description": "Search SEC 8-K material corporate events (bankruptcies, restatements, officer departures, delistings, cyber incidents, earnings, M&A...) normalized to item codes, with SEC filing links.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false,
"properties": {
"cursor": {
"description": "Opaque pagination token from the previous response's page.next_cursor; pass it back verbatim to fetch the next page.",
"type": "string"
},
"high_signal": {
"description": "Only distress-grade items (1.03, 1.05, 2.04, 2.06, 3.01, 4.02, 5.02). Overrides item_codes.",
"type": "boolean"
},
"item_codes": {
"description": "8-K item numbers, e.g. [\"1.03\",\"5.02\"]. 1.03=bankruptcy, 4.02=restatement, 5.02=officer departure, 1.05=cyber incident, 2.02=earnings, 8.01=other.",
"items": {
"enum": [
"1.01",
"1.02",
"1.03",
"1.04",
"1.05",
"2.01",
"2.02",
"2.03",
"2.04",
"2.05",
"2.06",
"3.01",
"3.02",
"3.03",
"4.01",
"4.02",
"5.01",
"5.02",
"5.03",
"5.04",
"5.05",
"5.06",
"5.07",
"5.08",
"6.01",
"6.02",
"6.03",
"6.04",
"6.05",
"7.01",
"8.01",
"9.01"
],
"type": "string"
},
"type": "array"
},
"limit": {
"default": 50,
"description": "Max rows per page, default 50, cap 500.",
"type": "integer"
},
"since": {
"description": "Earliest event date, YYYY-MM-DD.",
"type": "string"
},
"tickers": {
"description": "Ticker symbols to include, e.g. [\"NVDA\"]. Empty = all issuers.",
"items": {
"type": "string"
},
"type": "array"
},
"until": {
"description": "Latest event date, YYYY-MM-DD.",
"type": "string"
}
},
"type": "object"
},
"name": "get_material_events",
"outputSchema": null
},
{
"description": "Search SEC Form 144 notices - insiders' PROPOSED sales of restricted/control stock, filed BEFORE the sale executes (the Form 4 reports execution after). A leading indicator: announced-but-not-yet-executed insider selling, with broker and approximate sale date.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false,
"properties": {
"cursor": {
"description": "Opaque pagination token from the previous response's page.next_cursor; pass it back verbatim to fetch the next page.",
"type": "string"
},
"limit": {
"default": 50,
"description": "Max rows per page, default 50, cap 500.",
"type": "integer"
},
"min_value_usd": {
"description": "Minimum aggregate market value of the proposed sale in USD.",
"type": "number"
},
"seller": {
"description": "Substring match on the seller's name.",
"type": "string"
},
"since": {
"description": "Earliest approximate sale date, YYYY-MM-DD.",
"type": "string"
},
"tickers": {
"description": "Ticker symbols to include. Empty = all issuers.",
"items": {
"type": "string"
},
"type": "array"
},
"until": {
"description": "Latest approximate sale date, YYYY-MM-DD.",
"type": "string"
}
},
"type": "object"
},
"name": "get_planned_sales",
"outputSchema": null
},
{
"description": "Search 5%+ beneficial-ownership stakes from Schedules 13D/13G. 13D = ACTIVE intent (activists, acquirers - market-moving); 13G = passive. Latest filing per (issuer, holder) wins, so results are current stakes; superseded history stays in the archive.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false,
"properties": {
"cursor": {
"description": "Opaque pagination token from the previous response's page.next_cursor; pass it back verbatim to fetch the next page.",
"type": "string"
},
"holder": {
"description": "Substring match on the reporting person, e.g. \"Icahn\".",
"type": "string"
},
"limit": {
"default": 50,
"description": "Max rows per page, default 50, cap 500.",
"type": "integer"
},
"min_percent": {
"description": "Minimum percent of class held, e.g. 10.",
"type": "number"
},
"schedule_type": {
"default": "all",
"description": "activist (13D family), passive (13G family), or all (default).",
"enum": [
"activist",
"passive",
"all"
],
"type": "string"
},
"since": {
"description": "Earliest event date, YYYY-MM-DD.",
"type": "string"
},
"tickers": {
"description": "Ticker symbols to include. Empty = all issuers.",
"items": {
"type": "string"
},
"type": "array"
},
"until": {
"description": "Latest event date, YYYY-MM-DD.",
"type": "string"
}
},
"type": "object"
},
"name": "get_stakes",
"outputSchema": null
},
{
"description": "The firehose: recently ingested filings across ALL feeds (Forms 3/4/5, 8-K, 144, Schedules 13D/13G) with acceptance timestamps and SEC filing links, newest first. Use to see what just came in.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false,
"properties": {
"cursor": {
"description": "Opaque pagination token from the previous response's page.next_cursor; pass it back verbatim to fetch the next page.",
"type": "string"
},
"feeds": {
"default": [
"ownership",
"events",
"intents",
"stakes"
],
"description": "Feeds to include. Empty = all.",
"items": {
"enum": [
"ownership",
"events",
"intents",
"stakes"
],
"type": "string"
},
"type": "array"
},
"limit": {
"default": 50,
"description": "Max rows per page, default 50, cap 200.",
"type": "integer"
},
"since": {
"description": "Earliest acceptance time, RFC3339 or YYYY-MM-DD.",
"type": "string"
}
},
"type": "object"
},
"name": "list_recent_filings",
"outputSchema": null
},
{
"description": "Cross-feed signal: pair each Form 144 notice (an insider's ANNOUNCED sale) with the seller's actual Form 4 sale executions - same person, exact CIK identity, matched inside the notice's factual Rule 144 validity window (90 days from filing). Surfaces execution ratios and, most notably, announced-but-never-executed sales: insiders whose notice expired with no sale. Raw EDGAR cannot answer this in one query.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false,
"properties": {
"cursor": {
"description": "Opaque pagination token from the previous response's page.next_cursor; pass it back verbatim to fetch the next page.",
"type": "string"
},
"limit": {
"default": 50,
"description": "Max rows per page, default 50, cap 500.",
"type": "integer"
},
"min_planned_usd": {
"description": "Minimum planned sale value in USD.",
"type": "number"
},
"seller": {
"description": "Substring match on the seller's name.",
"type": "string"
},
"since": {
"description": "Earliest approximate sale date, YYYY-MM-DD. Default: 90 days back.",
"type": "string"
},
"status": {
"default": "all",
"description": "Filter: executed, pending (window still open), not_executed (window elapsed, no matching sale - the leading-indicator residue), unverifiable (the seller entity never files Form 4 - trusts and foundations report via the beneficiary), or all (default).",
"enum": [
"executed",
"pending",
"not_executed",
"unverifiable",
"all"
],
"type": "string"
},
"tickers": {
"description": "Ticker symbols to include. Empty = all issuers.",
"items": {
"type": "string"
},
"type": "array"
},
"until": {
"description": "Latest approximate sale date, YYYY-MM-DD.",
"type": "string"
}
},
"type": "object"
},
"name": "planned_vs_executed",
"outputSchema": null
},
{
"description": "Cross-feed signal: for issuers that filed a material 8-K event, show SEC Form 4 insider transactions in the N days BEFORE the event - e.g. insider selling before a bankruptcy, restatement, or delisting. Joins two feeds through the shared entity graph; raw EDGAR cannot answer this in one query.",
"inputSchema": {
"$schema": "https://json-schema.org/draft/2020-12/schema",
"additionalProperties": false,
"properties": {
"days_before": {
"default": 60,
"description": "Lookback window before the event date, default 60.",
"type": "integer"
},
"item_codes": {
"default": [
"1.03",
"2.06",
"3.01",
"4.02"
],
"description": "8-K items to anchor on, e.g. [\"1.03\",\"4.02\",\"3.01\"]. Default: distress items 1.03, 2.06, 3.01, 4.02.",
"items": {
"enum": [
"1.01",
"1.02",
"1.03",
"1.04",
"1.05",
"2.01",
"2.02",
"2.03",
"2.04",
"2.05",
"2.06",
"3.01",
"3.02",
"3.03",
"4.01",
"4.02",
"5.01",
"5.02",
"5.03",
"5.04",
"5.05",
"5.06",
"5.07",
"5.08",
"6.01",
"6.02",
"6.03",
"6.04",
"6.05",
"7.01",
"8.01",
"9.01"
],
"type": "string"
},
"type": "array"
},
"limit": {
"default": 50,
"description": "Max rows, default 50, cap 500.",
"type": "integer"
},
"min_value_usd": {
"description": "Minimum insider transaction value in USD.",
"type": "number"
},
"since": {
"description": "Earliest event date, YYYY-MM-DD.",
"type": "string"
},
"txn_type": {
"default": "sell",
"description": "Insider transaction filter: sell (default - selling before bad news), buy, or all.",
"enum": [
"sell",
"buy",
"all"
],
"type": "string"
}
},
"type": "object"
},
"name": "trades_before_events",
"outputSchema": null
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:20ac8e77f85d37908a02fc5718e9e50c488ed4b8abd47a604ac756bc4e6ff7af | sha256sum