{"serverId":"mcp-registry/com.cerberusindex/cerberus-index","tools":[{"name":"analyze_token_trend","fixed":{"name":"analyze_token_trend","description":"A data-driven technical read on an XRPL token. Computes real indicators from OHLC — trend (9/21 EMA), RSI momentum, support/resistance, volatility, volume trend — with a plain-language assessment, and (when the server has an LLM configured) an AI-written outlook plus a genuine counter-argument. `interval` is 5|15|60|240|D|W, `bars` how many candles. Returns `ai_available` so you know whether the narrative is live. Always an informational signal, NEVER financial advice or a price target. Price: $","inputSchema":{"type":"object","title":"analyze_token_trendArguments","required":["issuer","currency"],"properties":{"bars":{"type":"integer","title":"Bars","default":90},"issuer":{"type":"string","title":"Issuer"},"currency":{"type":"string","title":"Currency"},"interval":{"type":"string","title":"Interval","default":"D"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":243,"tokensAfter":243},{"name":"check_address","fixed":{"name":"check_address","description":"Cross-chain address & counterparty risk — one call before you send to, approve, or trust an address. EVM chains (ethereum, base, bsc, polygon, arbitrum, optimism, avalanche, …): sanctions, mixer, phishing, drainer, money-laundering & cybercrime flags aggregated from GoPlus, told whether it's a contract or a wallet. XRP Ledger (r-addresses): Cerberus's own engine — the production rug blocklist, live clawback/global-freeze flags (can this address seize or freeze tokens it issues?), burn-address de","inputSchema":{"type":"object","title":"check_addressArguments","required":["address"],"properties":{"chain":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Chain","default":null},"attest":{"type":"boolean","title":"Attest","default":false},"address":{"type":"string","title":"Address"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":233,"tokensAfter":233},{"name":"check_alerts","fixed":{"name":"check_alerts","description":"Collect alerts raised by your `watch_token` watches: what changed, how severe (critical | warning | info), and the on-chain numbers behind it — plus the status of every watch you own. Requires the `subscriber_key` from watch_token. Each alert is delivered once. FREE — poll it as often as every couple of minutes.","inputSchema":{"type":"object","title":"check_alertsArguments","required":["subscriber_key"],"properties":{"limit":{"type":"integer","title":"Limit","default":50},"subscriber_key":{"type":"string","title":"Subscriber Key"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":161,"tokensAfter":161},{"name":"check_endpoint","fixed":{"name":"check_endpoint","description":"Endpoint & tool trust — one call before an agent connects to a third-party MCP server or HTTP tool. Pass the endpoint `url` (and, to unlock the strongest check, its `tools`: the name/description/inputSchema the agent is about to trust). Returns three signals behind one verdict: (1) transport & TLS identity — encrypted, valid chain, not expired or self-signed; (2) domain age via RDAP — freshly-registered hosts are a scam tell; (3) a TOOL-POISONING scan of the tool definitions for the hidden direc","inputSchema":{"type":"object","title":"check_endpointArguments","required":["url"],"properties":{"url":{"type":"string","title":"Url"},"tools":{"anyOf":[{"type":"array","items":{}},{"type":"null"}],"title":"Tools","default":null},"attest":{"type":"boolean","title":"Attest","default":false}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":233,"tokensAfter":233},{"name":"check_issuer_reputation","fixed":{"name":"check_issuer_reputation","description":"Reputation for an XRPL issuer: blocklist status + historical detection outcomes. Price: $0.002 USDC. Missing something? Call `submit_feedback` (free) to request it.","inputSchema":{"type":"object","title":"check_issuer_reputationArguments","required":["issuer"],"properties":{"issuer":{"type":"string","title":"Issuer"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":104,"tokensAfter":104},{"name":"check_transaction","fixed":{"name":"check_transaction","description":"Simulate an unsigned XRPL transaction and tell you what it will ACTUALLY do — before you sign it. Pass the transaction JSON; get back (1) its intent in plain language, (2) a live-ledger dry-run (`simulate`): would it succeed, and the exact balance changes per account — computed, never submitted, never signed — and (3) drain vectors flagged: handing over your signing key (SetRegularKey / SignerListSet), disabling your master key, enabling clawback, partial-payment tricks, trustlines to blockliste","inputSchema":{"type":"object","title":"check_transactionArguments","required":["transaction"],"properties":{"attest":{"type":"boolean","title":"Attest","default":false},"account":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Account","default":null},"transaction":{"anyOf":[{"type":"object","additionalProperties":true},{"type":"string"}],"title":"Transaction"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":255,"tokensAfter":255},{"name":"check_xrpl_token","fixed":{"name":"check_xrpl_token","description":"Live safety verdict for an XRPL token: clawback & global-freeze hard rejects, issuer blackhole status (can supply ever be re-minted?), NoFreeze, pool depth & trading fee, LP-burn fraction (is liquidity locked?), plus Cerberus's proprietary rug blocklist & detection history. Verdicts: unsafe | caution | likely_safe | unknown, with reasons. Covers BOTH XRPL fungible-token standards. `currency` may be a 3-char or 40-char hex trust-line code, OR a 48-char MPTokenIssuanceID — pass an issuance ID and ","inputSchema":{"type":"object","title":"check_xrpl_tokenArguments","required":["issuer","currency"],"properties":{"attest":{"type":"boolean","title":"Attest","default":false},"issuer":{"type":"string","title":"Issuer"},"currency":{"type":"string","title":"Currency"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":226,"tokensAfter":226},{"name":"find_best_path","fixed":{"name":"find_best_path","description":"Find the safest EXECUTABLE route to acquire an XRPL token and screen every hop. Unlike quote_amm (one direct AMM pool), this asks the ledger for real payment paths (order books + AMM + multi-hop) and runs the rug-safety engine over every issuer and gateway the route touches — a clean token reached through a hop that can freeze or claw back mid-route is a trap a destination-only check misses. Returns the cheapest route, its effective price, hop count, and a verdict: route_safe | route_caution | r","inputSchema":{"type":"object","title":"find_best_pathArguments","required":["to_currency","to_issuer"],"properties":{"account":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Account","default":null},"to_amount":{"type":"number","title":"To Amount","default":100},"to_issuer":{"type":"string","title":"To Issuer"},"from_issuer":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"From Issuer","default":null},"to_currency":{"type":"string","title":"To Currency"},"from_currency":{"type":"string","title":"From Currency","default":"XRP"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":303,"tokensAfter":303},{"name":"get_new_pools","fixed":{"name":"get_new_pools","description":"Recently detected XRPL AMM pools (newest first, max 100), enriched: readable name, age, initial liquidity and fee, plus an honest launch-time screening label. Price: $0.010 USDC. Missing something? Call `submit_feedback` (free) to request it.","inputSchema":{"type":"object","title":"get_new_poolsArguments","properties":{"limit":{"type":"integer","title":"Limit","default":20}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":117,"tokensAfter":117},{"name":"get_token_ohlc","fixed":{"name":"get_token_ohlc","description":"OHLC price-history candles for an XRPL token — open/high/low/close plus volume per interval, the series behind a candlestick chart. `interval` is 5 | 15 | 60 | 240 | D | W (minutes, or Day/Week); `bars` is how many candles (max 1000); prices are quoted in XRP, or pass `fx=\"USD\"` for USD. Sourced from the XRPL DEX/AMM; returns ok:false with a reason when the pair is unknown or the source is unreachable — never invented prices. Price: $0.004 USDC. Missing something? Call `submit_feedback` (free) t","inputSchema":{"type":"object","title":"get_token_ohlcArguments","required":["issuer","currency"],"properties":{"fx":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Fx","default":null},"bars":{"type":"integer","title":"Bars","default":168},"issuer":{"type":"string","title":"Issuer"},"currency":{"type":"string","title":"Currency"},"interval":{"type":"string","title":"Interval","default":"60"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":264,"tokensAfter":264},{"name":"get_wallet_activity","fixed":{"name":"get_wallet_activity","description":"A readable, risk-annotated history of what an XRPL wallet did: recent transactions turned into plain language (sent/received amounts with token names, trustlines, DEX/AMM ops), with counterparties on the Cerberus rug blocklist flagged, new trustlines to blocklisted issuers flagged, and account-takeover transactions (SetRegularKey, SignerListSet, master-key disable) surfaced as notable — watching your OWN wallet is compromise detection. Returns XRP balance, a summary (in/out counts, distinct and ","inputSchema":{"type":"object","title":"get_wallet_activityArguments","required":["address"],"properties":{"limit":{"type":"integer","title":"Limit","default":30},"address":{"type":"string","title":"Address"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":211,"tokensAfter":211},{"name":"resolve_asset","fixed":{"name":"resolve_asset","description":"Cross-chain identity for an XRPL token — 'what is this, everywhere it exists?' Resolves the token's real identity across chains and catches IMPOSTORS: a token using a famous symbol (USDC, WBTC, SOLO…) from an issuer that is NOT that asset's canonical deployment is flagged — a fake USDC is a fake USDC on every chain, and a single-chain check misses it. Combines XRPLMeta (the XRPL registry: name, issuer, trust_level), CoinGecko (the canonical multi-chain asset and every chain it lives on), and Cer","inputSchema":{"type":"object","title":"resolve_assetArguments","required":["issuer","currency"],"properties":{"attest":{"type":"boolean","title":"Attest","default":false},"issuer":{"type":"string","title":"Issuer"},"currency":{"type":"string","title":"Currency"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":225,"tokensAfter":225},{"name":"submit_feedback","fixed":{"name":"submit_feedback","description":"Request a tool/feature or report an issue. FREE. High-volume requests get built first — this is how you shape Cerberus's roadmap.","inputSchema":{"type":"object","title":"submit_feedbackArguments","required":["message"],"properties":{"tool":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Tool","default":null},"message":{"type":"string","title":"Message"},"requested_capability":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Requested Capability","default":null}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":145,"tokensAfter":145}],"toolsChanged":13,"tokensSaved":0,"todo":[{"tool":"analyze_token_trend","params":["bars","issuer","currency","interval"]},{"tool":"check_address","params":["chain","attest","address"]},{"tool":"check_alerts","params":["limit","subscriber_key"]},{"tool":"check_endpoint","params":["url","tools","attest"]},{"tool":"check_issuer_reputation","params":["issuer"]},{"tool":"check_transaction","params":["attest","account","transaction"]},{"tool":"check_xrpl_token","params":["attest","issuer","currency"]},{"tool":"explore_tokens","params":["sort","limit","query","offset","trust_only"]},{"tool":"find_best_path","params":["account","to_amount","to_issuer","from_issuer","to_currency","from_currency"]},{"tool":"get_new_pools","params":["limit"]},{"tool":"get_token_ohlc","params":["fx","bars","issuer","currency","interval"]},{"tool":"get_wallet_activity","params":["limit","address"]},{"tool":"quote_amm","params":["issuer","xrp_in","currency"]},{"tool":"resolve_asset","params":["attest","issuer","currency"]},{"tool":"submit_feedback","params":["tool","message","requested_capability"]},{"tool":"token_holders","params":["issuer","currency"]},{"tool":"verify_attestation","params":["attestation"]},{"tool":"verify_issuer_domain","params":["issuer"]},{"tool":"verify_price","params":["attest","issuer","currency"]},{"tool":"watch_token","params":["issuer","currency","rebaseline","duration_days","subscriber_key","drain_threshold_pct"]}],"note":"Deterministic fixes. Changes marked verify need a human look before shipping (renames, inferred annotations, inferred types, removed text). Parameter descriptions in `todo` need to be written by someone who knows the API."}