# Compound Interesting — market intelligence

> Source-backed US market signals: insider filings, Congress trades, institutions, consensus.

- name: ing.compoundinterest/market-intelligence
- version: 1.0.1
- connection class: R1 (autonomous)
- trust: 79/100 flags: no-repository
- quality: 78/100 (good)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/ing.compoundinterest%2Fmarket-intelligence
- tools: https://api.protogrid.dev/v1/servers/ing.compoundinterest%2Fmarket-intelligence/tools

**An agent can connect on its own if it already holds `MARKET_INTELLIGENCE_TOKEN`.** Remote endpoint behind a static API key or header. The registry never sees the value; the agent fills the placeholder.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "market-intelligence": {
      "type": "http",
      "url": "https://api.compoundinterest.ing/mcp",
      "headers": {
        "Authorization": "Bearer ${MARKET_INTELLIGENCE_TOKEN}"
      }
    }
  }
}
```

Placeholders to fill: `${MARKET_INTELLIGENCE_TOKEN}`.

## Trust

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

## Quality 78/100 (good)

### protocol: 100 (weight 25)

- pass `protocol.modern`: supports 2026-07-28 (server/discover)
- pass `protocol.stateless`: answers without a session
- pass `protocol.transport`: streamable HTTP
- pass `protocol.list_ttl`: tool list is cacheable (ttlMs 300000)

### 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: 86 (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`: 16 of 16 tools declare readOnlyHint or destructiveHint
- fail `tools.directory_hints`: no tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: list_insider_trades (destructiveHint, idempotentHint, openWorldHint); get_demo_composite (destructiveHint, idempotentHint, openWorldHint); get_evidence (destructiveHint, idempotentHint, openWorldHint); …
- pass `tools.token_cost`: about 2,297 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`: 15 tool changes in 30 days
- fail `stability.rug_pull`: 1 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`: no npm or PyPI package

- tools: 16, about 2,297 tokens to load them all
- tool set hash: 768d5ac87be31d25a262844c4db9c2a3
- tools last changed: 2026-10-03T05:42:13.627Z
- badge: [![protogrid quality](https://protogrid.dev/badge/ing.compoundinterest/market-intelligence.svg)](https://protogrid.dev/servers/ing.compoundinterest/market-intelligence)
- 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-03 `list_congress_trades` changed (description)
  - before: Disclosed House and Senate trades, newest first, each linked to its disclosure. Up to 20 rows per call on every customer key; page with next_cursor.
  - after: Disclosed House and Senate trades, newest first, linked to the disclosure where one is available. Up to 20 rows per call on every customer key; page with next_cursor.
- 2026-10-03 `list_insider_trades` changed (description)
  - before: Corporate insider buys and sells from SEC filings, newest first, each linked to the filing it came from.
  - after: Corporate insider buys and sells from SEC filings, newest first, with a link to the filing each came from where one is available.
- 2026-10-03 `get_evidence` changed (description)
  - before: Paid key required. The primary documents a ticker's signals were derived from — insider Form 4s, institutional holdings and macro series, each with the filing it came from. Use this to cite a claim rather than assert it. Paid keys are not on sale yet. A ticker whose evidence has not been published yet returns evidence_not_published. Congressional trades are not included: use list_congress_trades, which works on every key.
  - after: Paid key required. The primary documents a ticker's signals were derived from — insider Form 4s, institutional holdings and macro series, with the filing each came from where one is available. Use this to cite a claim rather than assert it. Paid keys are not on sale yet. A ticker whose evidence has not been published yet returns evidence_not_published. Congressional trades are not included: use list_congress_trades, which works on every key.
- 2026-09-29 `screen` changed (inputSchema)
- 2026-09-29 `get_evidence` changed (description)
  - before: Paid key required. The primary documents a ticker's signals were derived from — insider Form 4s, institutional holdings and macro series, each with the filing it came from. Use this to cite a claim rather than assert it. Paid keys are not on sale yet. Slower than the other tools because it is computed on demand. Congressional trades are not included: use list_congress_trades, which works on every key.
  - after: Paid key required. The primary documents a ticker's signals were derived from — insider Form 4s, institutional holdings and macro series, each with the filing it came from. Use this to cite a claim rather than assert it. Paid keys are not on sale yet. A ticker whose evidence has not been published yet returns evidence_not_published. Congressional trades are not included: use list_congress_trades, which works on every key.
- 2026-09-28 `get_equity_perp` changed (description)
  - before: Funding and open interest for a single name on the 24/7 perpetual venue. Most tickers are NOT listed there — only about 51 of ~5,400 — and a 'not listed' answer means no venue coverage, never that positioning is flat or zero.
  - after: Funding and open interest for a single name on the 24/7 perpetual venue. Most tickers are NOT listed there — only about 51 of about 4,600 covered tickers — and a 'not listed' answer means no venue coverage, never that positioning is flat or zero.
- 2026-09-28 `list_positioning` changed (title, description, inputSchema) **meaning changed**
  - before: How large holders are positioned, newest first. Net figures can reflect hedges and cannot be read as a directional view on their own.
  - after: Weekly speculative positioning in FUTURES markets from the CFTC Commitments of Traders report, newest first: net speculative position, its share of open interest and its historical percentile. Covers futures symbols such as ES (S&P 500 e-mini), GC (gold), ZT (2-year Treasury note), not individual stocks. Net figures can reflect hedges and cannot be read as a directional view on their own.
- 2026-09-28 `list_congress_trades` changed (description)
  - before: Disclosed House and Senate trades, newest first, each linked to its disclosure. Committee overlap is reported as oversight, never as an accusation. Up to 20 rows per call on every customer key; page with next_cursor.
  - after: Disclosed House and Senate trades, newest first, each linked to its disclosure. Up to 20 rows per call on every customer key; page with next_cursor.
- 2026-09-28 `screen` changed (inputSchema)
- 2026-09-28 `get_house_rating` changed (description)
  - before: The platform's own buy/hold/sell rating for a ticker, with the reasoning behind it. A judgement about the stock, not a recommendation to any reader.
  - after: Paid key required. The platform's own buy/hold/sell rating for a ticker, with the reasoning behind it. A judgement about the stock, not a recommendation to any reader. Paid keys are not on sale yet.

Full history: https://api.protogrid.dev/v1/servers/ing.compoundinterest%2Fmarket-intelligence/changes

## Remotes

- https://api.compoundinterest.ing/mcp (streamable-http, auth api_key ${MARKET_INTELLIGENCE_TOKEN}, reachable true, uptime30d 0.9745763)

## Packages

_none_

## Tools (16)

- `get_composite`: Everything the platform knows about one ticker in a single record: the cross-signal consensus, each contributing dimension with its direction and provenance, and risk flags. Start here for any question about a specific company.
- `get_consensus`: Whether the independent actors this platform tracks — insiders, Congress, institutions, the model — agree on one ticker, with the per-dimension breakdown that produced the verdict.
- `get_demo_composite`: A single fixed demo ticker, callable without an API key, so the data shape can be inspected before signing up. Returns only the demo ticker regardless of input. For real tickers use get_composite, which requires a free key.
- `get_equity_perp`: Funding and open interest for a single name on the 24/7 perpetual venue. Most tickers are NOT listed there — only about 51 of about 4,600 covered tickers — and a 'not listed' answer means no venue coverage, never that positioning is flat or zero.
- `get_evidence`: Paid key required. The primary documents a ticker's signals were derived from — insider Form 4s, institutional holdings and macro series, with the filing each came from where one is available. Use this to cite a claim rather than assert it. Paid keys are not on sale yet. A ticker whose evidence has not been published yet returns evidence_not_published. Congressional trades are not included: use list_congress_trades, which works on every key.
- `get_historic_moves`: The historical distribution of 5-day and 1-month returns for a ticker, sampled over the last 5 years: mean, standard deviation, percentiles, a histogram, and the worst drawdowns with their dates. Use it to say whether a move is unusual FOR THIS NAME rather than in the abstract. Every number is a fraction: 0.0821 means 8.21%.
- `get_house_rating`: Paid key required. The platform's own buy/hold/sell rating for a ticker, with the reasoning behind it. A judgement about the stock, not a recommendation to any reader. Paid keys are not on sale yet.
- `get_monthly_activity`: Rank ticker activity aggregated from available published filings by transaction date for the current UTC month through today. Includes coverage metadata and unknown-value counts; this is not total market activity. Congress: 10 names on every customer key. Insiders: free keys receive up to 10 names, paid keys up to 20.
- `get_signal`: A whole-market gauge rather than a per-company one. 'macro' is the market-regime read, 'energy' the macro energy balance, 'crypto' crypto positioning and funding, 'rate_expectations' the market-implied path for policy rates. Use these for the backdrop a single name is trading against.
- `list_congress_trades`: Disclosed House and Senate trades, newest first, linked to the disclosure where one is available. Up to 20 rows per call on every customer key; page with next_cursor.
- `list_equity_perp`: Funding rate and open interest for the ~51 US single names listed on a 24/7 perpetual futures venue, ranked by notional. This is the ONLY source here that moves outside US market hours, so it is what to check overnight and at weekends. High positive funding means longs are paying to hold — crowded, squeeze-fragile. The mark price is a venue mark, NOT the stock price.
- `list_insider_trades`: Corporate insider buys and sells from SEC filings, newest first, with a link to the filing each came from where one is available.
- `list_positioning`: Weekly speculative positioning in FUTURES markets from the CFTC Commitments of Traders report, newest first: net speculative position, its share of open interest and its historical percentile. Covers futures symbols such as ES (S&P 500 e-mini), GC (gold), ZT (2-year Treasury note), not individual stocks. Net figures can reflect hedges and cannot be read as a directional view on their own.
- `rank_consensus`: The names where independent actors agree most strongly, ranked. Use this to find candidates rather than to check one you already have in mind.
- `screen`: Filter the whole equity universe and return matching tickers with their scores. The bulk discovery tool: use it for questions of the form 'which companies have X'. To rank by cross-signal agreement instead, use rank_consensus.
- `search_tickers`: Resolve a company name or partial symbol to tickers the platform covers. Use this first when the user names a company rather than a symbol.
