Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

Insider Buy Signals

REMOTE · MCP.TRADESTARINSIDER.COM · SCANNED SEP 29

Filing-verified U.S. insider-buy signals from SEC Form 4: cluster buys and large-vs-holdings buys.

+3 this week 68 Trust /100
Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →

Endpoint Security46
Transport & Reachability100
Schema Quality & AI Usability63
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 3129 tokens (~260/item across 12 items; 12 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management70
  • Stability observed for 21 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • We read all 12 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
  • An AI judge read all 13 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Install

How do I install the Insider Buy Signals MCP server?

Insider Buy Signals is a hosted endpoint at https://mcp.tradestarinsider.com/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

remote · mcp.tradestarinsider.com

# add to Claude Code
claude mcp add --transport http com-tradestarinsider-edgar-insider-signals 'https://mcp.tradestarinsider.com/mcp'
// .cursor/mcp.json
{
  "mcpServers": {
    "com-tradestarinsider-edgar-insider-signals": {
      "url": "https://mcp.tradestarinsider.com/mcp"
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "com-tradestarinsider-edgar-insider-signals": {
      "type": "http",
      "url": "https://mcp.tradestarinsider.com/mcp"
    }
  }
}
# ~/.codex/config.toml
[mcp_servers.com-tradestarinsider-edgar-insider-signals]
url = "https://mcp.tradestarinsider.com/mcp"
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "com-tradestarinsider-edgar-insider-signals": {
      "type": "remote",
      "url": "https://mcp.tradestarinsider.com/mcp",
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add com-tradestarinsider-edgar-insider-signals --url 'https://mcp.tradestarinsider.com/mcp' --transport streamable-http
# ~/.hermes/config.yaml
mcp_servers:
  com-tradestarinsider-edgar-insider-signals:
    url: "https://mcp.tradestarinsider.com/mcp"
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "com-tradestarinsider-edgar-insider-signals": {
      "Transport": "http",
      "Url": "https://mcp.tradestarinsider.com/mcp"
    }
  }
}
# add to Vellum
assistant mcp add com-tradestarinsider-edgar-insider-signals -t streamable-http -u 'https://mcp.tradestarinsider.com/mcp'
// mcp.json
{
  "mcpServers": {
    "com-tradestarinsider-edgar-insider-signals": {
      "type": "http",
      "url": "https://mcp.tradestarinsider.com/mcp"
    }
  }
}

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 29 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 67 to 70. That category is still filling its 30-day observation window: 20 days of observed history at the previous scan, 21 at this one. The score rises as the window fills, whether or not the server changes.

  • 28 Sept 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 27 Sept 26 0
    • Tool “activist_stakes_recent” rewrote its description, which is the text the model reads security
    • Tool “federal_awards_recent” rewrote its description, which is the text the model reads security
    • Tool “fund_position_changes” rewrote its description, which is the text the model reads security
    • Tool “insider_cluster_buys” rewrote its description, which is the text the model reads security
    • Tool “insider_signals_by_date_range” rewrote its description, which is the text the model reads security
    • Tool “insider_signals_by_ticker” rewrote its description, which is the text the model reads security
    • Tool “insider_signals_today” rewrote its description, which is the text the model reads security
    • Schema quality: 175 → 260 ▼ functional
    • “activist_stakes_recent” added an optional parameter “days” cosmetic
    • “activist_stakes_recent” added an optional parameter “offset” cosmetic
    • “federal_awards_recent” added an optional parameter “days” cosmetic
    • “federal_awards_recent” added an optional parameter “offset” cosmetic
    • “fund_position_changes” added an optional parameter “days” cosmetic
    • “fund_position_changes” added an optional parameter “offset” cosmetic
    • “insider_cluster_buys” added an optional parameter “days” cosmetic
    • “insider_cluster_buys” added an optional parameter “limit” cosmetic
    • “insider_cluster_buys” added an optional parameter “offset” cosmetic
    • “insider_cluster_buys” added an optional parameter “ticker” cosmetic
    • “insider_signals_by_date_range” added an optional parameter “days” cosmetic
    • “insider_signals_by_date_range” added an optional parameter “limit” cosmetic
    • “insider_signals_by_date_range” added an optional parameter “offset” cosmetic
    • “insider_signals_by_date_range” added an optional parameter “ticker” cosmetic
    • “insider_signals_by_ticker” added an optional parameter “days” cosmetic
    • “insider_signals_by_ticker” added an optional parameter “limit” cosmetic
    • “insider_signals_by_ticker” added an optional parameter “offset” cosmetic
    • “insider_signals_today” added an optional parameter “days” cosmetic
    • “insider_signals_today” added an optional parameter “limit” cosmetic
    • “insider_signals_today” added an optional parameter “offset” cosmetic
    • “insider_signals_today” added an optional parameter “ticker” cosmetic
    • “activist_stakes_recent” reworded the description of “limit” cosmetic
    • “federal_awards_recent” reworded the description of “limit” cosmetic
    • “fund_position_changes” reworded the description of “limit” cosmetic
  • 25 Sept 26 +1
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 23 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 47 to 50. That category is still filling its 30-day observation window: 14 days of observed history at the previous scan, 15 at this one. The score rises as the window fills, whether or not the server changes.

  • 21 Sept 26 +1
    • Schema quality: 1780 → 2107 ▼ functional
    • New tool “verify_13f_holding” functional
  • 20 Sept 26 −2
    • Schema quality: pass → fail ▼ functional
    • New tool “fund_position_changes” functional
    • New tool “verify_8k_event” functional
    • New tool “verify_activist_13d” functional
  • 19 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 33 to 37. That category is still filling its 30-day observation window: 10 days of observed history at the previous scan, 11 at this one. The score rises as the window fills, whether or not the server changes.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 29 Sept 2026 · Probed https://mcp.tradestarinsider.com/mcp

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=tradestarinsider.com CN=WE1,O=Google Trust Services,C=US 7 Sept 2026 6 Dec 2026 ECDSA 256 ECDSA-SHA256 acdfcc380c2b2d670ef5cc3e9ca73b73
SANs: tradestarinsider.com, *.tradestarinsider.com
CN=WE1,O=Google Trust Services,C=US (CA) CN=GTS Root R4,O=Google Trust Services LLC,C=US 13 Dec 2023 20 Feb 2029 ECDSA 256 ECDSA-SHA384 7ff31977972c224a76155d13b6d685e3
CN=GTS Root R4,O=Google Trust Services LLC,C=US (CA) CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE 15 Nov 2023 28 Jan 2028 ECDSA 384 SHA256-RSA 7fe530bf331343bedd821610493d8a1b

Background: What to check on a remote MCP endpoint →

DNSSEC insecure

Validation of mcp.tradestarinsider.com. — Not signed

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
com. present 19718 13 Verified
tradestarinsider.com. absent Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation
Authentication No authorisation required

The endpoint answered without asking for a token. Anyone who knows the URL can reach it.

Result No authorisation required
HTTP status 200

Background: How OAuth 2.1 works in the 2026 MCP spec →

Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://mcp.tradestarinsider.com/mcp Verified 200
http (plaintext) http://mcp.tradestarinsider.com/mcp Inconclusive 405
MCP tools · 12 exposed · ~3,063 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
activist_stakes_recent ~229

Recent activist Schedule 13D / 13D-A filings on US-listed companies, newest first then by stated-intent strength (control/take-private > board/proxy > strategic/value, or none stated). Returns the newest 25 by default (set `limit`; page with `offset`); `total_matched` reports the full count. Optional min_percent (percent-of-class floor), ticker, and `days` (last-N-days window). Every stake carries its source filing_url; filings without a source link are dropped.

NameTypeReqDescription
daysinteger–Only stakes filed within the last N days.
limitinteger–Max rows to return (default 25, newest first). Page with offset; the response's total_matched shows the full count. limit<=0 = no cap.
min_percentnumber–Only stakes at or above this percent-of-class
offsetinteger–Rows to skip before this page (pagination). Default 0.
tickerstring–Filter to one subject ticker (case-insensitive), e.g. DH

No output schema declared.

No examples provided.

federal_awards_recent ~181

Recently signed U.S. federal new awards from USAspending.gov, newest first. Returns the newest 25 by default (set `limit`; page with `offset`); `total_matched` reports the full count. Optional min_amount (USD floor) and `days` (last-N-days window). Every award carries its source award_url; awards without a source link are dropped and never returned.

NameTypeReqDescription
daysinteger–Only awards signed within the last N days.
limitinteger–Max rows to return (default 25, newest first). Page with offset; the response's total_matched shows the full count. limit<=0 = no cap.
min_amountnumber–Only awards at or above this USD amount
offsetinteger–Rows to skip before this page (pagination). Default 0.

No output schema declared.

No examples provided.

fund_position_changes ~512

What large institutional filers CHANGED quarter-over-quarter in their SEC 13F-HR holdings (opened / added / trimmed / exited a position) — the delta is the product; the raw snapshot is only the input. Every row carries as_of_quarter_end, filed_date and lag_days (values are up to ~45 days stale), value_usd in whole dollars, cusip + issuer_name, and its source filing_url. ticker is null (no authoritative free CUSIP->ticker source; never guessed). A missing prior quarter is the explicit state 'first_filing_on_record', not 'everything new'. Covers LONG US 13(f)-listed positions only — no shorts, non-US, or options. UNIVERSE: the fifty largest 13F filers by reported value as of the latest quarter, re-ranked quarterly. Because it is ranked BY REPORTED VALUE, the head is the biggest asset managers (BlackRock, Vanguard, State Street, Fidelity, ...) whose quarter-over-quarter changes largely reflect index rebalancing, not conviction; the feed reports WHAT WAS FILED, not what it means, and does not tag any manager active or passive (that would be inference). Coverage is PER SEC CIK, not per brand: a firm filing under several CIKs appears as several entries, and when a filer's 13F moves to a new CIK, historical coverage stays attached to the CIK that filed it. This is a convenience/completeness view of public data, NOT a trading edge. Returns the newest 25 by default (set `limit`; page with `offset`); `total_matched` reports the full count. Optional filer, change_type, min_value_usd, and `days` (last-N-days window).

NameTypeReqDescription
change_typestring–Only this kind of quarter-over-quarter change
daysinteger–Only changes filed within the last N days.
filerstring–Filter to one fund by name substring (case-insensitive, e.g. 'Berkshire') or exact filer CIK
limitinteger–Max rows to return (default 25, newest first). Page with offset; the response's total_matched shows the full count. limit<=0 = no cap.
min_value_usdnumber–Only positions at or above this current value in WHOLE US dollars
offsetinteger–Rows to skip before this page (pagination). Default 0.

No output schema declared.

No examples provided.

insider_cluster_buys ~258

Rule-2 cluster buys only (>=2 insiders buying the same issuer in-window) — the highest-signal subset. Each row carries `uniform_price_cluster`: true when >=3 distinct insiders bought at the IDENTICAL price on the same filed_date for the same issuer — the fingerprint of an offering/conversion (one administered price), NOT independent open-market conviction. Note Form-4 code P covers open-market purchases AND some offering/conversion purchases filed under P; this flag marks the latter. Genuine clusters rank ABOVE uniform-price ones. Returns the newest 25 by default (set `limit`; page with `offset`; optional `days`/`ticker`); `total_matched` reports the full count. Each record carries its source filing_url.

NameTypeReqDescription
daysinteger–Only rows filed within the last N days (relative to today).
limitinteger–Max rows to return (default 25, newest first). Page with offset; the response's total_matched shows the full count. limit<=0 = no cap.
offsetinteger–Rows to skip before this page (pagination). Default 0.
tickerstring–Case-insensitive exact ticker filter, e.g. DKS.

No output schema declared.

No examples provided.

insider_filing_lookup ~62

The single Rule-2 record for one SEC filing accession, with its filing_url. Returns an error if no gated filing matches the accession.

NameTypeReqDescription
accessionstringyesSEC filing accession, e.g. 0001493152-26-040454

No output schema declared.

No examples provided.

insider_signals_by_date_range ~197

Rule-2 insider-buy signals filed within an inclusive ISO date range. Returns the newest 25 by default (set `limit`; page with `offset`; optional `days`/`ticker`); `total_matched` reports the full count. Each record carries its source filing_url.

NameTypeReqDescription
daysinteger–Only rows filed within the last N days (relative to today).
endstringyesInclusive end date, ISO YYYY-MM-DD
limitinteger–Max rows to return (default 25, newest first). Page with offset; the response's total_matched shows the full count. limit<=0 = no cap.
offsetinteger–Rows to skip before this page (pagination). Default 0.
startstringyesInclusive start date, ISO YYYY-MM-DD
tickerstring–Case-insensitive exact ticker filter, e.g. DKS.

No output schema declared.

No examples provided.

insider_signals_by_ticker ~165

All Rule-2 insider-buy signals for one ticker (case-insensitive). Returns the newest 25 by default (set `limit`; page with `offset`; optional `days`); `total_matched` reports the full count. Each record carries its source filing_url.

NameTypeReqDescription
daysinteger–Only rows filed within the last N days (relative to today).
limitinteger–Max rows to return (default 25, newest first). Page with offset; the response's total_matched shows the full count. limit<=0 = no cap.
offsetinteger–Rows to skip before this page (pagination). Default 0.
tickerstringyesTicker symbol (case-insensitive), e.g. DKS

No output schema declared.

No examples provided.

insider_signals_today ~172

Rule-2 insider-buy signals filed today (SEC code P open-market purchases). Returns the newest 25 by default (set `limit`; page with `offset`); the response's `total_matched` reports the full count. Optional `days`/`ticker` filters. Each record carries its source filing_url.

NameTypeReqDescription
daysinteger–Only rows filed within the last N days (relative to today).
limitinteger–Max rows to return (default 25, newest first). Page with offset; the response's total_matched shows the full count. limit<=0 = no cap.
offsetinteger–Rows to skip before this page (pagination). Default 0.
tickerstring–Case-insensitive exact ticker filter, e.g. DKS.

No output schema declared.

No examples provided.

verify_13f_holding ~327

Check whether a fund (filer name/CIK) HELD an issuer (issuer_name or cusip) as of a quarter, against the filed 13F-HR record. Returns status=held with the source filing(s) + link; not_held (the fund reported the position EXITED that quarter — a filed 'no', distinct from not_found); not_found (no such row in the covered window); or out_of_coverage (the claimed quarter is outside the collected as-of window). Every response states the coverage window checked. Rule-2: LONG US 13(f) positions only, values are as-of quarter-end and up to ~45 days stale, and ticker is never guessed — match on issuer_name or cusip.

NameTypeReqDescription
cusipstring–9-char CUSIP of the held security — give this or issuer_name. (ticker is never accepted: 13F carries no authoritative ticker)
endstring–Quarter-window end (ISO) if the claim spans quarters
filerstring–Fund/institution name substring (case-insensitive, e.g. 'Berkshire') or exact filer CIK — REQUIRED
issuer_namestring–Held company/issuer name (e.g. 'Apple') — give this or cusip
quarterstring–As-of quarter-end the claim is about, ISO YYYY-MM-DD (e.g. '2026-06-30')
startstring–Quarter-window start (ISO) if the claim spans quarters

No output schema declared.

No examples provided.

verify_8k_event ~318

Check a claim that a registrant (cik/company/accession) filed an 8-K carrying specific SEC item code(s) in a timeframe, against the filed record. Returns status=confirmed with the source filing(s) + link; not_found; partial (same registrant/filing but the claimed item(s) aren't carried, or the date differs — itemised claimed-vs-filed); out_of_scope (claims about the body's meaning/materiality aren't covered — the filing is never paraphrased); or out_of_coverage. Every response states the coverage window checked. Rule-2: item codes are the SEC controlled vocabulary parsed from the filing — never inferred from prose.

NameTypeReqDescription
accessionstring–SEC filing accession, e.g. 0001193125-26-389400
cikstring–Registrant CIK (leading zeros ignored), e.g. 320193
company_namestring–Registrant name substring (case-insensitive), e.g. 'Apple'
datestring–Claimed filing date, ISO YYYY-MM-DD (matched ±3 filing days)
endstring–Window end (ISO) if the claim is a range
itemsstring–Claimed SEC 8-K item code(s), comma-separated (e.g. '5.02' or '1.01,9.01') — checked against the filing
startstring–Window start (ISO) if the claim is a range

No output schema declared.

No examples provided.

verify_activist_13d ~339

Check a claim about an activist stake (ticker/subject, filer, percent-of-class, stated intent, timeframe) against the filed Schedule 13D/13D-A record. Returns status=confirmed with the source filing(s) + link; not_found; partial (same filer/subject but percent/intent/date differs, itemised claimed-vs-filed); out_of_scope (passive 13G isn't covered); or out_of_coverage (outside the collected window). Every response states the coverage window checked. Rule-2: no estimates — absence is reported as absence, never guessed.

NameTypeReqDescription
datestring–Claimed filed date, ISO YYYY-MM-DD (matched ±3 filing days)
endstring–Window end (ISO) if the claim is a range
filer_namestring–Activist filer name in any order, e.g. 'Elliott Management'
form_typestring–Optional; only activist 13D/13D-A is covered — a passive 13G returns out_of_scope
intentstring–Optional pre-registered intent: I1 control/take-private, I2 board/proxy, I3 strategic/value
percent_of_classnumber–Claimed percent-of-class owned (matched ±0.5 percentage points)
startstring–Window start (ISO) if the claim is a range
subject_namestring–Subject/target company name (use if you don't have the ticker)
tickerstring–Subject-company ticker (case-insensitive), e.g. DH

No output schema declared.

No examples provided.

verify_insider_purchase ~303

Check a claim about an insider open-market buy (ticker/issuer, person, amount, timeframe) against the filed record. Returns status=confirmed with the source filing(s) + link; not_found; partial (same insider/company but value/date differs, itemised claimed-vs-filed); out_of_scope (sales/options/grants aren't covered); or out_of_coverage (outside the collected window). Every response states the coverage window checked. Rule-2: no estimates, no unlabelled partial matches — absence is reported as absence, never guessed.

NameTypeReqDescription
amount_usdnumber–Claimed purchase value in USD (matched ±5% or ±$1)
datestring–Claimed date, ISO YYYY-MM-DD (matched ±3 filing days)
endstring–Window end (ISO) if the claim is a range
issuer_namestring–Issuer/company name (use if you don't have the ticker)
personstring–Insider name in any order, e.g. 'Alfonso de Angoitia'
sharesnumber–Claimed share count
startstring–Window start (ISO) if the claim is a range
tickerstring–Issuer ticker (case-insensitive), e.g. CAVA
txn_typestring–Optional; only open-market buys are covered — sale/option/grant returns out_of_scope

No output schema declared.

No examples provided.

Common questions

What is the Insider Buy Signals MCP server?

Insider Buy Signals is an MCP server listed in the public MCP registry as com.tradestarinsider/edgar-insider-signals. Filing-verified U.S. insider-buy signals from SEC Form 4: cluster buys and large-vs-holdings buys. This page covers its hosted endpoint (https://mcp.tradestarinsider.com/mcp).

Is the Insider Buy Signals MCP server safe to use?

Insider Buy Signals scores 68 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the Insider Buy Signals MCP server expose?

Insider Buy Signals exposes 12 tools: insider_signals_today, insider_signals_by_ticker, insider_signals_by_date_range, insider_cluster_buys, insider_filing_lookup, and 7 more. Their descriptions and schemas cost roughly 3,063 tokens of context every time the server is loaded.

Does the Insider Buy Signals MCP server require authentication?

No. We connected to Insider Buy Signals without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

Is the Insider Buy Signals MCP server still maintained?

Insider Buy Signals is still listed as active in the MCP registry. We last reached this channel on 29 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.