TradeStar Insider
Measured conclusion: Deep-tested. L2 outcome: tools_ok.
Filing-verified SEC EDGAR insider (Form 4), 13D, 13F & 8-K data, no sign-in. Verify any claim.
| Author | com.tradestarinsider |
|---|---|
| Access | mixed |
| Publisher key required | No |
| Measured state | Deep-tested |
| L1 liveness | alive |
| L1 latency | 512 ms |
| Last measured | 2026-10-24 |
Add to your agent
Copy this into your MCP client config:
{
"mcpServers": {
"TradeStar Insider": {
"url": "https://mcp.tradestarinsider.com/mcp",
"transport": "streamable-http"
}
}
}
Measured tools (10)
insider_buysread-onlyUse when the user asks which insiders bought a stock, whether a ticker has insider buying, or for Form 4 buys in a date range. Pass `ticker`, `start`+`end` for an inclusive ISO range, or neither for today's buys (SEC code P); `days` narrows, `include_unlisted` adds non-listed issuers. Each row carries filing_url, `offering_context`, `transaction_date`, `acceptance_datetime`, `aff10b5One` (10b5-1 flag), `is_amendment`/`original_accession` (4/A linkage), and `partial_fields` (reason for any null). Caveat: only purchases that pass the signal filter are returned; code P is not proof of a buy.
Parameters:
end— string — Inclusive range end, ISO YYYY-MM-DD. Give with `start` for a date range.days— integer — Only rows filed within the last N days (relative to today).as_of— string — Publish-boundary replay: UTC ISO-8601 instant (or a bare YYYY-MM-DD, read as end-of-day UTC). Returns only rows that had crossed the publish boundary at or before it — the exact feed visible at that past moment. Each row carries `first_served_at` (null on rows published before the stamp existed; those are kept, as they were already public).limit— integer — Max rows to return (default 25, newest first). Page with offset; the response's total_matched shows the full count. limit<=0 = no cap.start— string — Inclusive range start, ISO YYYY-MM-DD. Give with `end` for a date range.offset— integer — Rows to skip before this page (pagination). Default 0.ticker— string — Case-insensitive exact ticker filter, e.g. DKS.include_unlisted— boolean — Include unlisted issuers (blank/NONE/N/A tickers and 5-letter mutual-fund classes). Default false = exchange-listed common stock only. Every row carries a `listed_equity` boolean.
Hints: read-only yes · destructive no · idempotent yes · open-world no
insider_cluster_buysread-onlyUse when the user asks about cluster buying or several insiders buying the same company. Returns only clusters, two or more insiders buying one issuer in the window, newest first; days and ticker narrow. Each row carries filing_url, offering_context, uniform_price_cluster (true when 3+ insiders bought at one price on one day), `transaction_date`, `acceptance_datetime`, `aff10b5One` (10b5-1 flag), `is_amendment`/`original_accession` (4/A linkage), and `partial_fields` (reason for any null). Caveat: only purchases that pass the signal filter are returned; code P alone is not proof of a buy.
Parameters:
days— integer — Only rows filed within the last N days (relative to today).as_of— string — Publish-boundary replay: UTC ISO-8601 instant (or a bare YYYY-MM-DD, read as end-of-day UTC). Returns only rows that had crossed the publish boundary at or before it — the exact feed visible at that past moment. Each row carries `first_served_at` (null on rows published before the stamp existed; those are kept, as they were already public).limit— integer — Max rows to return (default 25, newest first). Page with offset; the response's total_matched shows the full count. limit<=0 = no cap.offset— integer — Rows to skip before this page (pagination). Default 0.ticker— string — Case-insensitive exact ticker filter, e.g. DKS.include_unlisted— boolean — Include unlisted issuers (blank/NONE/N/A tickers and 5-letter mutual-fund classes). Default false = exchange-listed common stock only. Every row carries a `listed_equity` boolean.
Hints: read-only yes · destructive no · idempotent yes · open-world no
federal_awards_recentread-onlyUse when the user asks about recent federal contracts, government awards, or who won a U.S. federal contract. Returns newly signed federal awards, newest first; `min_amount` sets a USD floor, `days` a last-N-days window. Every award carries its source award_url. Caveat: awards without a source link are dropped and never returned.
Parameters:
days— integer — Only awards signed within the last N days.limit— integer — Max rows to return (default 25, newest first). Page with offset; the response's total_matched shows the full count. limit<=0 = no cap.offset— integer — Rows to skip before this page (pagination). Default 0.min_amount— number — Only awards at or above this USD amount
Hints: read-only yes · destructive no · idempotent yes · open-world no
activist_stakes_recentread-onlyUse when the user asks about activist investors, hedge-fund stakes, or recent 13D filings on a company. Returns activist Schedule 13D/13D-A filings on US-listed companies, newest first then by stated-intent strength; `ticker`, `min_percent` and `days` narrow. Each row carries its source filing_url and `item4_excerpt` (the activist's own Item 4 intent sentence, quoted from the filing as data, capped at its current length of 600 chars). Caveat: passive 13G is not covered; filings without a source link are dropped.
Parameters:
days— integer — Only stakes filed within the last N days.limit— integer — Max rows to return (default 25, newest first). Page with offset; the response's total_matched shows the full count. limit<=0 = no cap.offset— integer — Rows to skip before this page (pagination). Default 0.ticker— string — Filter to one subject ticker (case-insensitive), e.g. DHmin_percent— number — Only stakes at or above this percent-of-class
Hints: read-only yes · destructive no · idempotent yes · open-world no
fund_position_changesread-onlyUse when the user asks what a fund bought or sold, how a 13F filer changed its holdings, or which institutions opened/added/trimmed/exited a position. Returns quarter-over-quarter deltas, newest first; `filer`, `change_type`, `min_value_usd`, `days` narrow. Each row carries as_of_quarter_end, filed_date, lag_days, value_usd (whole dollars), cusip, issuer_name and its source filing_url; ticker is null (never guessed). Caveat: the delta is the product, not a trading edge — see the instructions and each response's `coverage` note for the universe and CIK scope.
Parameters:
days— integer — Only changes filed within the last N days.filer— string — Filter to one fund by name substring (case-insensitive, e.g. 'Berkshire') or exact filer CIKlimit— integer — Max rows to return (default 25, newest first). Page with offset; the response's total_matched shows the full count. limit<=0 = no cap.offset— integer — Rows to skip before this page (pagination). Default 0.change_type— string — Only this kind of quarter-over-quarter changemin_value_usd— number — Only positions at or above this current value in WHOLE US dollars
Hints: read-only yes · destructive no · idempotent yes · open-world no
insider_amendments_recentread-onlyUse when the user asks which insider filings were amended, corrected, or restated, or wants recent Form 4/A amendments. Returns 4/A amendments, newest-filed first; `ticker`, `issuer_name`, `person`, `start`/`end`, `days` narrow. Each row carries the amendment_accession, filed_date, issuer/insider, source filing_url, the original_accession it amends (when collected), and `changed_fields` (before/after). Caveat: when the original is not collected the amendment is still listed with original_in_corpus=false and before/after null (never guessed); linkage is by issuer/owner/period.
Parameters:
end— string — Only amendments filed on/before this ISO datedays— integer — Only amendments filed within the last N days.as_of— string — Publish-boundary replay: UTC ISO-8601 instant (or a bare YYYY-MM-DD, read as end-of-day UTC). Returns only rows that had crossed the publish boundary at or before it — the exact feed visible at that past moment. Each row carries `first_served_at` (null on rows published before the stamp existed; those are kept, as they were already public).limit— integer — Max rows to return (default 25, newest first). Page with offset; the response's total_matched shows the full count. limit<=0 = no cap.start— string — Only amendments filed on/after this ISO dateoffset— integer — Rows to skip before this page (pagination). Default 0.person— string — Filter by insider name substring (case-insensitive)ticker— string — Filter to one issuer ticker (case-insensitive substring), e.g. GLBZissuer_name— string — Filter by issuer/company name substring (case-insensitive)
Hints: read-only yes · destructive no · idempotent yes · open-world no
verify_insider_purchaseread-onlyUse when the user wants to verify a claim that an insider bought a stock, or to pull the purchases in one filing by accession. Pass the claim (ticker/issuer, person, amount, timeframe), or `accession` alone for that filing's gated purchase records. Returns confirmed, not_found, partial, out_of_scope (sales/options/grants), or out_of_coverage. Each matched filing carries `transaction_date`, `acceptance_datetime`, `aff10b5One` (10b5-1 flag), `is_amendment`/`original_accession` (4/A linkage), and `partial_fields` (reason for any null). Caveat: filing-verified — absence is reported, not guessed.
Parameters:
end— string — Window end (ISO) if the claim is a rangedate— string — Claimed date, ISO YYYY-MM-DD (matched ±3 filing days)start— string — Window start (ISO) if the claim is a rangeperson— string — Insider name in any order, e.g. 'Alfonso de Angoitia'shares— number — Claimed share countticker— string — Issuer ticker (case-insensitive), e.g. CAVAtxn_type— string — Optional; only code P purchases are covered — sale/option/grant returns out_of_scopeaccession— string — SEC filing accession, e.g. 0001493152-26-040454. If you already have the exact filing, pass this to pull its gated purchase records directly — it is used alone and ignores the claim fields above.amount_usd— number — Claimed purchase value in USD (matched ±5% or ±$1)issuer_name— string — Issuer/company name (use if you don't have the ticker)
Hints: read-only yes · destructive no · idempotent yes · open-world no
verify_activist_13dread-onlyUse when the user wants to verify or fact-check a claim about an activist stake or 13D filing (ticker/subject, filer, percent-of-class, stated intent, timeframe). Returns confirmed (with source filing + link), not_found, partial (itemised claimed-vs-filed), out_of_scope (passive 13G isn't covered), or out_of_coverage. Every response states the coverage window checked. Caveat: filing-verified — absence is reported as absence, never guessed.
Parameters:
end— string — Window end (ISO) if the claim is a rangedate— string — Claimed filed date, ISO YYYY-MM-DD (matched ±3 filing days)start— string — Window start (ISO) if the claim is a rangeintent— string — Optional pre-registered intent: I1 control/take-private, I2 board/proxy, I3 strategic/valueticker— string — Subject-company ticker (case-insensitive), e.g. DHform_type— string — Optional; only activist 13D/13D-A is covered — a passive 13G returns out_of_scopefiler_name— string — Activist filer name in any order, e.g. 'Elliott Management'subject_name— string — Subject/target company name (use if you don't have the ticker)percent_of_class— number — Claimed percent-of-class owned (matched ±0.5 percentage points)
Hints: read-only yes · destructive no · idempotent yes · open-world no
verify_8k_eventread-onlyUse when the user wants to verify or fact-check that a company filed an 8-K carrying specific SEC item code(s) in a timeframe. Pass registrant (cik/company/accession), item code(s) and dates. Returns confirmed (with source filing + link), not_found, partial (itemised claimed-vs-filed), out_of_scope (claims about the filing's meaning aren't covered — it is never paraphrased), or out_of_coverage. Caveat: filing-verified — item codes are the SEC controlled vocabulary parsed from the filing, never inferred.
Parameters:
cik— string — Registrant CIK (leading zeros ignored), e.g. 320193end— string — Window end (ISO) if the claim is a rangedate— string — Claimed filing date, ISO YYYY-MM-DD (matched ±3 filing days)items— string — Claimed SEC 8-K item code(s), comma-separated (e.g. '5.02' or '1.01,9.01') — checked against the filingstart— string — Window start (ISO) if the claim is a rangeaccession— string — SEC filing accession, e.g. 0001193125-26-389400company_name— string — Registrant name substring (case-insensitive), e.g. 'Apple'
Hints: read-only yes · destructive no · idempotent yes · open-world no
verify_13f_changeread-onlyUse when the user wants to verify or fact-check whether a fund (filer name/CIK) reported a CHANGE in a position in an issuer (issuer_name or cusip) in a quarter. Returns held (reported a change — opened/added/trimmed, with source filing + link), not_held (reported the position exited), not_found (no reported change — does NOT mean the fund didn't hold it), or out_of_coverage. Caveat: filing-verified; CANNOT confirm an unchanged holding (13F deltas only) — a 'held, unchanged' position produces no row.
Parameters:
end— string — Quarter-window end (ISO) if the claim spans quarterscusip— string — 9-char CUSIP of the held security — give this or issuer_name. (ticker is never accepted: 13F carries no authoritative ticker)filer— string — Fund/institution name substring (case-insensitive, e.g. 'Berkshire') or exact filer CIK — REQUIREDstart— string — Quarter-window start (ISO) if the claim spans quartersquarter— string — As-of quarter-end the claim is about, ISO YYYY-MM-DD (e.g. '2026-06-30')issuer_name— string — Held company/issuer name (e.g. 'Apple') — give this or cusip
Hints: read-only yes · destructive no · idempotent yes · open-world no
Measured by MCPYP probing. Untested fields are omitted, never estimated. Listing is always free; MCPYP never proxies calls or stores user tokens.