xrpldashboard

Read-only XRP Ledger MCP tools with proof-annotation envelopes and signed daily snapshots.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
51%
Naming quality
100%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,797Tokens (tool definitions)
~309 BTypical response size
Moderate attention impact (1.40% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "xrpldashboard-mcp": {
      "url": "https://mcp.xrpldashboard.com/mcp?ref=anthropic"
    }
  }
}

Remote endpoints

https://mcp.xrpldashboard.com/mcp?ref=anthropicstreamable-http
https://mcp.xrpldashboard.com/mcpstreamable-http

What it can do

Tool inventory

Tools (19)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢get_ledger_stats

Return the last-validated ledger stats (index, close time, server state, load factor, complete range, build). Wrapped in the xrpldashboard proof envelope; envelope source is derived from the actual URL host (`local_rippled` for loopback / private LAN, `remote_rippled:<host>` otherwise) — never hardcoded.

Input Schema

{
  "type": "object",
  "properties": {},
  "title": "get_ledger_statsArguments"
}
🟢get_amendment_status

Return the current amendments state (enabled / in-flight / superseded / unrecognized-enabled) with `cross_check_status` derived from the responding node's feature-RPC vs Amendments ledger-object concurrence. Wrapped in the proof envelope.

Input Schema

{
  "type": "object",
  "properties": {},
  "title": "get_amendment_statusArguments"
}
🟢get_unl_status

Return the current UNL composition (both published lists, overlap, expiry-days). Honest-partial when a list fetch fails. Wrapped in the proof envelope.

Input Schema

{
  "type": "object",
  "properties": {},
  "title": "get_unl_statusArguments"
}
🟢get_whale_events(limit)

Return the last N XRP-denominated whale events + tagged-watchlist events (trustset excluded). Same feed the homepage globe pulse reads. Wrapped in the proof envelope.

Input Schema

{
  "type": "object",
  "properties": {
    "limit": {
      "default": 25,
      "title": "Limit",
      "type": "integer"
    }
  },
  "title": "get_whale_eventsArguments"
}
🟢get_whale_watchlist(limit)

Return the last N tagged-watchlist events (type='tagged'), floored at TAGGED_XRP_FLOOR_DROPS for XRP-denominated rows. Wrapped in the proof envelope.

Input Schema

{
  "type": "object",
  "properties": {
    "limit": {
      "default": 25,
      "title": "Limit",
      "type": "integer"
    }
  },
  "title": "get_whale_watchlistArguments"
}
🟢get_rlusd_supply

Return the current cross-chain RLUSD supply (Ethereum + XRPL) from the same PG mirror /rlusd reads. Honest-partial when either chain errored. Wrapped in the proof envelope.

Input Schema

{
  "type": "object",
  "properties": {},
  "title": "get_rlusd_supplyArguments"
}
🟡get_rlusd_flow_24h

Return the last finalized 24h XRPL net-change from rlusd_supply_history. freshness_contract='finalized_only' is the machine-readable form of the R1/R2 finalized-window rule. cross_check_status derived from stored vs supply-diff pair. Wrapped in the proof envelope.

Input Schema

{
  "type": "object",
  "properties": {},
  "title": "get_rlusd_flow_24hArguments"
}
🟢get_amm_pool(amm_account)

Return the single ranked-pool row for one AMM account from the amm_ranked_pools snapshot. Raises when the account is absent (unranked, below thresholds, or newer than the last snapshot). Wrapped in the proof envelope.

Input Schema

{
  "type": "object",
  "properties": {
    "amm_account": {
      "title": "Amm Account",
      "type": "string"
    }
  },
  "required": [
    "amm_account"
  ],
  "title": "get_amm_poolArguments"
}
🟢get_amm_top_by_tvl(limit)

Return the top-N ranked AMM pools by tvl_usd from the same snapshot /pools reads. NULL-tvl rows sort last. Wrapped in the proof envelope.

Input Schema

{
  "type": "object",
  "properties": {
    "limit": {
      "default": 10,
      "title": "Limit",
      "type": "integer"
    }
  },
  "title": "get_amm_top_by_tvlArguments"
}
🟢get_token_attestation(currency, issuer)

Return the attestation tier (verified / self-described / null) for one (currency, issuer) pair. Data payload includes `dispute_contact_url` — first tool to name a third party. Wrapped in the proof envelope.

Input Schema

{
  "type": "object",
  "properties": {
    "currency": {
      "title": "Currency",
      "type": "string"
    },
    "issuer": {
      "title": "Issuer",
      "type": "string"
    }
  },
  "required": [
    "currency",
    "issuer"
  ],
  "title": "get_token_attestationArguments"
}
🟢get_rwa_families

Return every rwa_family row with attributed pool count. Data payload includes `dispute_contact_url`. Wrapped in the proof envelope.

Input Schema

{
  "type": "object",
  "properties": {},
  "title": "get_rwa_familiesArguments"
}
🟢get_rwa_pools

Return every attributed RWA pool with provenance + TVL. Data payload includes `dispute_contact_url`. Wrapped in the proof envelope.

Input Schema

{
  "type": "object",
  "properties": {},
  "title": "get_rwa_poolsArguments"
}
🟢get_mpt_snapshot

Return the MPT snapshot dict (issuances / by_class / total). Not third-party-naming — no dispute_contact_url. Wrapped in the proof envelope.

Input Schema

{
  "type": "object",
  "properties": {},
  "title": "get_mpt_snapshotArguments"
}
🟢get_signed_snapshot(date_str)

Return the Ed25519-signed daily snapshot for `date_str` (ISO YYYY-MM-DD) wrapped in the proof envelope. Absence raises — the walker has not produced this date yet, or the date predates the chain start.

Input Schema

{
  "type": "object",
  "properties": {
    "date_str": {
      "title": "Date Str",
      "type": "string"
    }
  },
  "required": [
    "date_str"
  ],
  "title": "get_signed_snapshotArguments"
}
🟢verify_snapshot_signature(envelope)

Stateless verification: re-derive the leaf hash, check the Ed25519 signature against the pinned pubkey, check the audit path against the claimed chain root. Accepts full MCP envelope or bare signed payload. Wrapped in the proof envelope.

Input Schema

{
  "type": "object",
  "properties": {
    "envelope": {
      "additionalProperties": true,
      "title": "Envelope",
      "type": "object"
    }
  },
  "required": [
    "envelope"
  ],
  "title": "verify_snapshot_signatureArguments"
}
🟢get_tokens(limit)

Return the top-N tokens by trades_30d, joined against attestation tier + warning flags. Mirrors /tokens.json's data path (token_category_current JOIN token_facts). Third-party- naming — data payload includes `dispute_contact_url`. Wrapped in the proof envelope.

Input Schema

{
  "type": "object",
  "properties": {
    "limit": {
      "default": 100,
      "title": "Limit",
      "type": "integer"
    }
  },
  "title": "get_tokensArguments"
}
🟢get_whales

Return the whales_summary rollup cells (per-tier × per-filter body metadata). Mirrors /whales.json. Live stream on wss://wss.xrpldashboard.com — this tool returns generation stats + body length, not the live payload. Third-party-naming — data payload includes `dispute_contact_url`. Wrapped in the proof envelope.

Input Schema

{
  "type": "object",
  "properties": {},
  "title": "get_whalesArguments"
}
🟢get_pools(limit)

Return AMM pools ranked by TVL, broader list contract than get_amm_top_by_tvl (default limit=50 vs 10). Mirrors /pools.json. Same source snapshot (amm_ranked_pools). Third-party-naming — data payload includes `dispute_contact_url`. Wrapped in the proof envelope.

Input Schema

{
  "type": "object",
  "properties": {
    "limit": {
      "default": 50,
      "title": "Limit",
      "type": "integer"
    }
  },
  "title": "get_poolsArguments"
}
🟢get_amendments

Return the amendments block with per-amendment vote tallies. Mirrors /amendments.json. Distinct from get_amendment_status (state-only) — this tool adds live vote counts vs UNL-threshold per amendment. Not third-party-naming. Wrapped in the proof envelope.

Input Schema

{
  "type": "object",
  "properties": {},
  "title": "get_amendmentsArguments"
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded19 tools
verifiedversion not recorded19 tools
verifiedversion not recorded19 tools
verifiedversion not recorded19 tools
verifiedversion not recorded15 tools
verifiedversion not recorded15 tools