# xrpldashboard

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

- name: com.xrpldashboard/xrpldashboard-mcp
- version: 2.0.0
- connection class: R0 (autonomous)
- trust: 92/100
- quality: 79/100 (good)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/com.xrpldashboard%2Fxrpldashboard-mcp
- tools: https://api.protogrid.dev/v1/servers/com.xrpldashboard%2Fxrpldashboard-mcp/tools

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

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "xrpldashboard-mcp": {
      "type": "http",
      "url": "https://mcp.xrpldashboard.com/mcp?ref=anthropic"
    }
  }
}
```


## Trust

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

## Quality 79/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: 71 (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
- fail `tools.annotations`: no tool declares readOnlyHint or destructiveHint, so clients cannot tell safe calls from risky ones
- fail `tools.directory_hints`: no tool declares all four of readOnlyHint, destructiveHint, idempotentHint and openWorldHint; missing: get_unl_status (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); get_whale_events (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); get_whale_watchlist (readOnlyHint, destructiveHint, idempotentHint, openWorldHint); …
- pass `tools.token_cost`: about 1,681 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 100 (weight 15)

- pass `stability.changes`: 4 tool changes in 30 days
- pass `stability.rug_pull`: no tool changed its meaning under the same name

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

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 19, about 1,681 tokens to load them all
- tool set hash: 8fd4fc11740516282b5874f57befb303
- tools last changed: 2026-09-26T14:48:57.192Z
- badge: [![protogrid quality](https://protogrid.dev/badge/com.xrpldashboard/xrpldashboard-mcp.svg)](https://protogrid.dev/servers/com.xrpldashboard/xrpldashboard-mcp)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

- 2026-09-26 `get_amendments` added
  - 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.
- 2026-09-26 `get_pools` added
  - 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.
- 2026-09-26 `get_whales` added
  - 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.
- 2026-09-26 `get_tokens` added
  - 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.

Full history: https://api.protogrid.dev/v1/servers/com.xrpldashboard%2Fxrpldashboard-mcp/changes

## Remotes

- https://mcp.xrpldashboard.com/mcp?ref=anthropic (streamable-http, auth none, reachable true, uptime30d 0.95689654)

## Packages

_none_

## Tools (19)

- `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.
- `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.
- `get_amm_pool`: 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.
- `get_amm_top_by_tvl`: 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.
- `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.
- `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.
- `get_pools`: 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.
- `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.
- `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.
- `get_rwa_families`: Return every rwa_family row with attributed pool count. Data
        payload includes `dispute_contact_url`. Wrapped in the proof
        envelope.
- `get_rwa_pools`: Return every attributed RWA pool with provenance + TVL. Data
        payload includes `dispute_contact_url`. Wrapped in the proof
        envelope.
- `get_signed_snapshot`: 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.
- `get_token_attestation`: 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.
- `get_tokens`: 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.
- `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.
- `get_whale_events`: 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.
- `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.
- `get_whale_watchlist`: Return the last N tagged-watchlist events (type='tagged'),
        floored at TAGGED_XRP_FLOOR_DROPS for XRP-denominated rows.
        Wrapped in the proof envelope.
- `verify_snapshot_signature`: 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.
