DeTracker MCP
https://mcp.detracker.xyz/mcp
What is this
DeTracker MCP is a read-only Model Context Protocol server with three datasets for AI agents: the DeFi security feed (hacks, exploits, depegs) with stablecoin peg checks, versioned protocol facts with sources and verifiability, and deterministic protocol reports with score bands. It speaks JSON-RPC 2.0 over HTTP (a streamable HTTP subset: single JSON responses, no SSE stream). The service is read-only: tools only return prepared data.
Datasets
Security incidents & pegs
DeFi hacks, exploits and depeg events from the DeTracker feed, plus current stablecoin pegs. Items carry severity, event_type, protocols, chains, amount and a permalink to the human-readable feed page.
Freshness: Peg data: every 15 minutes; news feeds hourly; X sources every two hours. Incident history starts on 2026-01-01.
Fields: id, title, brief, severity, event_type, protocols, chains, amount_usd, date, source, permalink.
Protocol facts
Versioned per-protocol facts collected from evidence sources: risks, security audits, tokenomics and more. Every fact carries a verifiability marker — unverified, one_source, two_sources or onchain_verified — and links its sources.
Freshness: Facts are re-checked on a per-category interval (30-90 days) with adaptive cadence; the tools always return current, non-superseded versions.
Fields: key, group, title, occurrence_key, body, verifiability, structured data, sources, first_recorded_at, last_verified_at.
Scoring
Deterministic score reports built from protocol facts: component breakdown, penalties, section facts with sources, and an AI-written executive summary (summary_pending when the summary has not been generated yet).
Freshness: Rebuilt whenever underlying facts change, at most every four hours between rebuilds; get_score_history exposes the score over time.
Fields: Score bands: green (score 70+), orange (40-69), red (under 40), plus score trend via get_score_history.
Bitcoin prognosis
Daily Bitcoin direction forecast: probability of a higher close tomorrow (1d) and in 30 days (30d) with the contributing signal breakdown, the tracked Bitcoin metrics across eight groups (trend, overbought/oversold, on-chain, derivatives, sentiment, macro, geopolitics, cycle), and the public track record.
Freshness: Metrics: hourly; forecast: once a day after the UTC close, resolved against the close price when the horizon arrives.
Fields: Forecast: as_of, p_up, p_up_pct, score, breakdown, method_version, created_at; track record: n, hit_rate, brier over 30/90/365 day windows; metrics: key, group, description, unit, value, ts, series.
Quick start
Endpoint: https://mcp.detracker.xyz/mcp
Initialize a raw JSON-RPC client first:
curl -X POST https://mcp.detracker.xyz/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":0,"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"example","version":"1.0"}}}'
Then list or call tools:
curl -X POST https://mcp.detracker.xyz/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/list"}'
curl -X POST https://mcp.detracker.xyz/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"get_latest_incidents","arguments":{"limit":3}}}'
Add to Claude Code:
claude mcp add --transport http detracker https://mcp.detracker.xyz/mcp
Tools
| Name | Description | Parameters |
|---|---|---|
| get_latest_incidents | Latest DeFi security incidents from the DeTracker feed, newest first. Optional filters: severity and event_type. | limit: integer; optional; default=10, severity: string; optional; one of critical/high/medium/low, event_type: string; optional; one of smart_contract_exploit/oracle_manipulation/key_compromise/frontend_infra_hack/governance_attack/depeg_collateral/liquidity_issue/cex_incident/chain_incident/fraud_rug/other_security |
| get_incident | Full incident record by id. Asking for a semantic duplicate returns the canonical record. | id: integer; required |
| get_protocol_incidents | Incidents involving a given protocol: matches the protocols field or the derived hashtag (#NameWithoutSpaces). | protocol: string; required, limit: integer; optional; default=10 |
| check_peg | Check whether a USD stablecoin is currently within its peg, using the DeTracker depeg monitor state. Stale observations return in_peg=null with stale=true. | symbol: string; required |
| list_depegged | Stablecoins currently off their USD peg (DeTracker depeg monitor); stale observations are omitted and counted separately. | — |
| list_protocol_reports | Index of tracked DeFi protocols with deterministic report scores and bands, linked to report pages. Call get_protocol_report with a slug for facts, sources, score breakdown and limitations. | — |
| get_protocol_report | Full deterministic report for a tracked protocol: score with component breakdown and penalties, section facts with sources and verifiability, AI executive summary (summary_pending when not yet generated), limitations. Pass 'sections' to keep only the listed section keys and save context tokens; unknown keys are ignored. | slug: string; required, sections: array; optional |
| list_protocols | Registry of tracked DeFi protocols: slug, name, pool type with label, chains, site, count of current facts and whether a deterministic report exists. Pass a slug to get_protocol_facts or get_score_history; the optional pool_type filter narrows the list to one pool category. | pool_type: string; optional; one of lending_multichain/lending_ecosystem/stable_savings/basis_vault/rwa_tbill/curated_vault/aggregator/dex_stable_lp/perp_lp/other |
| list_fact_categories | Catalog of fact categories collected per protocol: key, group, title, cardinality (once or many), recommended check interval and whether the category is enabled. Use the keys in the categories filter of get_protocol_facts. | — |
| get_protocol_facts | Current (non-superseded) facts of a protocol: category key and group, occurrence key for many-facts, body, verifiability, structured data, evidence sources, first/last timestamps, plus counts by verifiability. Slugs come from list_protocols; pass categories (see list_fact_categories) to filter, and set include_sources to false to save context tokens. | slug: string; required, categories: array; optional, include_sources: boolean; optional; default=True |
| get_score_history | Score history of a protocol from deterministic report rebuilds: computed_at, score and band (from the stored breakdown), newest first. Limit is capped at 365 entries; slugs come from list_protocols. | slug: string; required, limit: integer; optional; default=30 |
Examples
One ready-to-run call per registered tool:
get_latest_incidents
curl -X POST https://mcp.detracker.xyz/mcp -H "Content-Type: application/json" -d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"get_latest_incidents","arguments":{"limit":3}}}'
get_incident
curl -X POST https://mcp.detracker.xyz/mcp -H "Content-Type: application/json" -d '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"get_incident","arguments":{"id":1}}}'
get_protocol_incidents
curl -X POST https://mcp.detracker.xyz/mcp -H "Content-Type: application/json" -d '{"jsonrpc":"2.0","id":3,"method":"tools/call","params":{"name":"get_protocol_incidents","arguments":{"protocol":"Aave","limit":5}}}'
check_peg
curl -X POST https://mcp.detracker.xyz/mcp -H "Content-Type: application/json" -d '{"jsonrpc":"2.0","id":4,"method":"tools/call","params":{"name":"check_peg","arguments":{"symbol":"USDT"}}}'
list_depegged
curl -X POST https://mcp.detracker.xyz/mcp -H "Content-Type: application/json" -d '{"jsonrpc":"2.0","id":5,"method":"tools/call","params":{"name":"list_depegged","arguments":{}}}'
list_protocol_reports
curl -X POST https://mcp.detracker.xyz/mcp -H "Content-Type: application/json" -d '{"jsonrpc":"2.0","id":6,"method":"tools/call","params":{"name":"list_protocol_reports","arguments":{}}}'
get_protocol_report
curl -X POST https://mcp.detracker.xyz/mcp -H "Content-Type: application/json" -d '{"jsonrpc":"2.0","id":7,"method":"tools/call","params":{"name":"get_protocol_report","arguments":{"slug":"aave-v3","sections":["security"]}}}'
list_protocols
curl -X POST https://mcp.detracker.xyz/mcp -H "Content-Type: application/json" -d '{"jsonrpc":"2.0","id":8,"method":"tools/call","params":{"name":"list_protocols","arguments":{}}}'
list_fact_categories
curl -X POST https://mcp.detracker.xyz/mcp -H "Content-Type: application/json" -d '{"jsonrpc":"2.0","id":9,"method":"tools/call","params":{"name":"list_fact_categories","arguments":{}}}'
get_protocol_facts
curl -X POST https://mcp.detracker.xyz/mcp -H "Content-Type: application/json" -d '{"jsonrpc":"2.0","id":10,"method":"tools/call","params":{"name":"get_protocol_facts","arguments":{"slug":"aave-v3","categories":["risks"]}}}'
get_score_history
curl -X POST https://mcp.detracker.xyz/mcp -H "Content-Type: application/json" -d '{"jsonrpc":"2.0","id":11,"method":"tools/call","params":{"name":"get_score_history","arguments":{"slug":"aave-v3","limit":10}}}'
Limits & fair use
- Rate limit: 10 requests per second, burst up to 20.
- Request body at most 256 KB.
- Read-only: tools only return prepared DeTracker data; nothing is written.
- No authentication; the X-API-Key header is reserved for future use.
- Always inspect returned timestamps before acting on the data.
- Data is informational and not financial advice.