# TradeStar Insider

> Filing-verified SEC EDGAR insider (Form 4), 13D, 13F & 8-K data, no sign-in. Verify any claim.

- name: com.tradestarinsider/edgar-insider-signals
- version: 1.1.1
- connection class: R0 (autonomous)
- trust: 92/100
- quality: 75/100 (good)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/com.tradestarinsider%2Fedgar-insider-signals
- tools: https://api.protogrid.dev/v1/servers/com.tradestarinsider%2Fedgar-insider-signals/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "edgar-insider-signals": {
      "type": "http",
      "url": "https://mcp.tradestarinsider.com/mcp"
    }
  }
}
```


## Trust

- hygiene: 100
- liveness: 99
- freshness: 100
- provenance: 75
- drivers: +repository +dns-namespace +reachable +uptime-97% +updated-15d-ago
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 75/100 (good)

### protocol: 75 (weight 25)

- warn `protocol.modern`: newest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
- n/a `protocol.stateless`: only applies to 2026-07-28 servers
- pass `protocol.transport`: streamable HTTP
- n/a `protocol.list_ttl`: only applies to 2026-07-28 servers

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 100 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 10 of 10 tools declare readOnlyHint or destructiveHint
- pass `tools.directory_hints`: every tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
- pass `tools.token_cost`: about 4,243 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 25 (weight 15)

- warn `stability.changes`: 58 tool changes in 30 days
- fail `stability.rug_pull`: 9 tools kept their name but changed most of their description in 30 days; review before trusting them

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: deps.dev does not know insider-signals-mcp@1.1.0, insider-signals-mcp@1.1.0

- tools: 10, about 4,243 tokens to load them all
- tool set hash: 489decf43da0759bab2ce4b35932b239
- tools last changed: 2026-10-16T10:48:40.407Z
- badge: [![protogrid quality](https://protogrid.dev/badge/com.tradestarinsider/edgar-insider-signals.svg)](https://protogrid.dev/servers/com.tradestarinsider/edgar-insider-signals)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

- 2026-10-16 `insider_amendments_recent` changed (inputSchema)
- 2026-10-16 `insider_cluster_buys` changed (inputSchema)
- 2026-10-16 `insider_buys` changed (inputSchema)
- 2026-10-15 `insider_amendments_recent` added
  - Use 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.
- 2026-10-15 `verify_insider_purchase` changed (description)
  - before: Use when the user wants to verify or fact-check 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 pass `accession` alone to fetch that filing's gated purchase records. Returns confirmed (with source filing + link), not_found, partial (itemised claimed-vs-filed), out_of_scope (sales/options/grants), or out_of_coverage. Caveat: filing-verified — absence is reported as absence, never estimated or guessed.
  - after: Use 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.
- 2026-10-15 `insider_cluster_buys` changed (description)
  - before: Use 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 its source filing_url, offering_context, and uniform_price_cluster, which is true when three or more insiders bought at the identical price on the same day, as in an offering or conversion. Clusters with differing prices are listed before uniform-price ones. Caveat: only purchases that pass the signal filter are returned; code P alone is not proof of an open-market buy.
  - after: Use 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.
- 2026-10-15 `insider_buys` changed (description)
  - before: Use 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` (true = IPO/offering, not open-market) and `source_excerpt`: the parsed filing fields, quoted from the filing as data, never derived. Caveat: only purchases that pass the signal filter are returned; code P is not proof of a buy.
  - after: Use 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.
- 2026-10-13 `insider_cluster_buys` changed (description)
  - before: Use when the user asks about cluster buying, multiple insiders buying the same company, or the strongest insider-buying signal. Returns only clusters (>=2 insiders buying one issuer in-window), newest first; `days`/`ticker` narrow. Each row carries its source filing_url, `offering_context`, and `uniform_price_cluster` (true = >=3 insiders bought at the IDENTICAL price same day — an offering/conversion, not independent conviction). Caveat: genuine clusters rank above uniform-price ones; only purchases that pass the signal filter are returned; code P alone is not proof of an open-market buy.
  - after: Use 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 its source filing_url, offering_context, and uniform_price_cluster, which is true when three or more insiders bought at the identical price on the same day, as in an offering or conversion. Clusters with differing prices are listed before uniform-price ones. Caveat: only purchases that pass the signal filter are returned; code P alone is not proof of an open-market buy.
- 2026-10-11 `verify_insider_purchase` changed (inputSchema)
- 2026-10-05 `insider_signals_by_date_range` removed
  - 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 and a `source_excerpt`: the exact parsed filing field values quoted from the filing, treated as data (a fixed whitelist of fields, never prose, never derived).

Full history: https://api.protogrid.dev/v1/servers/com.tradestarinsider%2Fedgar-insider-signals/changes

## Dependencies

- pypi insider-signals-mcp@1.1.0: unknown
- npm insider-signals-mcp@1.1.0: unknown

Dependency graphs from deps.dev; advisories from OSV.dev, including the GitHub Advisory Database and the PyPI Advisory Database; all CC BY 4.0.

## Remotes

- https://mcp.tradestarinsider.com/mcp (streamable-http, auth none, reachable true, uptime30d 0.974359)

## Packages

- pypi insider-signals-mcp@1.1.0
- npm insider-signals-mcp@1.1.0

## Tools (10)

- `activist_stakes_recent`: Use 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.
- `federal_awards_recent`: Use 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.
- `fund_position_changes`: Use 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.
- `insider_amendments_recent`: Use 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.
- `insider_buys`: Use 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.
- `insider_cluster_buys`: Use 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.
- `verify_13f_change`: Use 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.
- `verify_8k_event`: Use 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.
- `verify_activist_13d`: Use 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.
- `verify_insider_purchase`: Use 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.
