XRPLHub — XRPLScore & XRPL actions
REMOTE · WWW.XRPLHUB.IO · SCANNED SEP 27
Free XRPL scores + tx previews; pay per unsigned txjson via x402 (USDC/RLUSD). You sign; no keys.
Available components
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security63
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation not fully verified: no authorisation is required to call this server, and 21 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe. See how to fix → View diagnostics → Unverified
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- The HSTS (Strict-Transport-Security) header is present. View diagnostics → Pass
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability69
- AI-judged instruction clarity (excellent).Pass
- Context-footprint check failed: tool/resource definitions use about 4071 tokens (~193/item across 21 items; 21 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management77
- Stability observed for 23 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 21 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 21 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities20
- Spec-recency check failed: implements MCP spec 2024-11-05; the latest is 2026-07-28. See how to fix → Fail
How do I install the XRPLHub — XRPLScore & XRPL actions MCP server?
XRPLHub — XRPLScore & XRPL actions is a hosted endpoint at https://www.xrplhub.io/api/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · www.xrplhub.io
claude mcp add --transport http dcroyalty-xrplhub 'https://www.xrplhub.io/api/mcp'
{
"mcpServers": {
"dcroyalty-xrplhub": {
"url": "https://www.xrplhub.io/api/mcp"
}
}
} {
"servers": {
"dcroyalty-xrplhub": {
"type": "http",
"url": "https://www.xrplhub.io/api/mcp"
}
}
} [mcp_servers.dcroyalty-xrplhub] url = "https://www.xrplhub.io/api/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"dcroyalty-xrplhub": {
"type": "remote",
"url": "https://www.xrplhub.io/api/mcp",
"enabled": true
}
}
} openclaw mcp add dcroyalty-xrplhub --url 'https://www.xrplhub.io/api/mcp' --transport streamable-http
mcp_servers:
dcroyalty-xrplhub:
url: "https://www.xrplhub.io/api/mcp" {
"McpServers": {
"dcroyalty-xrplhub": {
"Transport": "http",
"Url": "https://www.xrplhub.io/api/mcp"
}
}
} assistant mcp add dcroyalty-xrplhub -t streamable-http -u 'https://www.xrplhub.io/api/mcp'
{
"mcpServers": {
"dcroyalty-xrplhub": {
"type": "http",
"url": "https://www.xrplhub.io/api/mcp"
}
}
} The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 27 Sept 26 0
- “build_xrpl_transaction” reworded the description of “params” cosmetic
1 cosmetic change on this day. Switch on “Show cosmetic changes” to see it.
- 26 Sept 26 +1
- Tool “build_xrpl_transaction” rewrote its description, which is the text the model reads security
- Server version: 1.11.0 → 1.13.0 functional
- New tool “preview_xrpl_transaction” functional
- “build_xrpl_transaction” added an optional parameter “confirm_caution” cosmetic
- “build_xrpl_transaction” reworded the description of “product_id” cosmetic
- 25 Sept 26 0
- We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
- 24 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 63 to 67. That category is still filling its 30-day observation window: 19 days of observed history at the previous scan, 20 at this one. The score rises as the window fills, whether or not the server changes.
- 22 Sept 26 +1
- Tool “issue_score_credential” rewrote its description, which is the text the model reads security
- 20 Sept 26 0
- Tool “build_xrpl_transaction” rewrote its description, which is the text the model reads security
- Tool “list_xrpl_services” rewrote its description, which is the text the model reads security
- New tool “get_monitoring_info” functional
- “build_xrpl_transaction” reworded the description of “params” cosmetic
- 19 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 47 to 50. That category is still filling its 30-day observation window: 14 days of observed history at the previous scan, 15 at this one. The score rises as the window fills, whether or not the server changes.
- 17 Sept 26 +1
No change was recorded against any check on this day. Stability & Change Management went from 40 to 43. That category is still filling its 30-day observation window: 12 days of observed history at the previous scan, 13 at this one. The score rises as the window fills, whether or not the server changes.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 27 Sept 2026 · Probed https://www.xrplhub.io/api/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=www.xrplhub.io | CN=YR1,O=Let's Encrypt,C=US | 24 Jul 2026 | 22 Oct 2026 | RSA 2048 | SHA256-RSA | 5f2c8eb3953d72ada47f38ba7a10c432aa1 |
| SANs: www.xrplhub.io | ||||||
| CN=YR1,O=Let's Encrypt,C=US (CA) | CN=Root YR,O=ISRG,C=US | 3 Sept 2025 | 2 Sept 2028 | RSA 2048 | SHA256-RSA | a20253f15f2691c05dc1ce13b9bcca4e |
| CN=Root YR,O=ISRG,C=US (CA) | CN=ISRG Root X1,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | RSA 4096 | SHA256-RSA | f24b6d17f9d9ad7cb1c9fea78782699f |
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of www.xrplhub.io. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| io. | present | 57355 | 8 | Verified |
| xrplhub.io. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
| Header | Value |
|---|---|
| strict-transport-security | max-age=63072000 |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://www.xrplhub.io/api/mcp | Verified | 200 | |
| http (plaintext) | http://www.xrplhub.io/api/mcp | HTTPS enforced | 308 | https://www.xrplhub.io/api/mcp |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
build_xrpl_transaction ~580
BUY the unsigned, ready-to-sign transaction for one of 34 XRPL actions. Not free: returns the exact x402 payment resource (GET /api/x402/tx?...) at the storefront price, payable in USDC on Base or RLUSD on XRPL. Pay it with an x402 client and that response is the txjson; you sign it with your own wallet (XRPLHub never signs). No payment, no txjson. Call preview_xrpl_transaction (free) first. Params: product_id, wallet_address (r..., the signer), params (object), confirm_caution (caution-tier only, after the wallet owner has read the preview).
| Name | Type | Req | Description |
|---|---|---|---|
| confirm_caution | boolean | – | Caution-tier services (multisig lockdown, No Freeze, MPT issuance…) can be irreversible. Set true ONLY after the wallet owner has read the preview_xrpl_transaction `irreversible` block; it is added t… |
| params | object | – | Per-service parameters. Call list_xrpl_services for types + examples for every field. Required fields by id — multisig: signers, quorum | regkey: regularKey | depositauth: (no params) | desttag: (no… |
| product_id | string | yes | Which XRPL action to buy. Call list_xrpl_services for the full catalogue with each id's label, tier, price and parameters. |
| wallet_address | string | yes | XRPL classic address (r...) of the account that will sign the transaction |
No output schema declared.
No examples provided.
check_domain_eligibility ~149
Check whether an XRPL account holds a credential that satisfies a PermissionedDomain (XLS-80d) — the question every domain operator and every would-be participant actually asks before a real transaction. Live against a validated mainnet ledger. Eligibility is OR: any ONE accepted, unexpired credential matching the domain's AcceptedCredentials is enough. Params: wallet_address (r..., required), domain_id (64-hex DomainID, the PermissionedDomain ledger index, required). Free, no signup.
| Name | Type | Req | Description |
|---|---|---|---|
| domain_id | string | yes | The PermissionedDomain's ledger index — 64 hex characters |
| wallet_address | string | yes | XRPL classic address to check (starts with r) |
No output schema declared.
No examples provided.
check_mpt_risk ~187
Get the risk view of one XLS-33 Multi-Purpose Token issuance before touching it: what the issuer CAN DO to a holder (clawback, freeze, require-auth, whether it's transferable at all) plus the issuer's XRPLScore. Free. For the full issuer picture — account age, xrp-ledger.toml-verified domain, credentials held, Bithomp cross-check — GET /api/x402/usdc/mpt/{id} pays $0.01 USDC on Base via x402. Every response states its source and returns 'unknown', never 'does not exist', when an issuance isn't found. Params: issuance_id (48-hex MPTokenIssuanceID, required). No signup.
| Name | Type | Req | Description |
|---|---|---|---|
| issuance_id | string | yes | The MPTokenIssuanceID — 48 hexadecimal characters (XLS-33, 192-bit) |
No output schema declared.
No examples provided.
check_service_health ~99
Check whether the XRPLHub money path is working BEFORE you pay: database, Xaman, both x402 facilitators (t54 RLUSD + CDP USDC-on-Base), the on-ledger anchor config, the credential signing secret, and alerting. Returns overall "ok" | "warn" | "down" plus a per-component list. Poll this if a prior paid call failed. No params. Free, no signup.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
check_xrpl_score ~150
Get a 300–850 creditworthiness score for any XRP Ledger wallet before you pay, lend to, trade with, or onboard it. You get back: the score, a letter grade, peer percentile, a per-signal breakdown (account age, lifetime tx history, financial health, token engagement, DEX activity, AMM participation, security config, NFTs), and ranked tips to raise it. Params: wallet_address (r... classic address, 25–35 chars, required). Free — no API key, no signup, 100% public ledger data.
| Name | Type | Req | Description |
|---|---|---|---|
| wallet_address | string | yes | XRP Ledger classic address to score (starts with r, 25–35 characters) |
No output schema declared.
No examples provided.
donate_to_community_fund ~214
Donate XRP or RLUSD to the XRPLHub Community Grant Treasury — a transparent on-chain fund that pays approved applicants wallet-to-wallet with zero overhead. Returns the treasury address and, if you pass donor_wallet, a ready-to-sign Payment txjson; every donation and payout is recorded on the XRP Ledger and publicly verifiable. Params: amount (number, required), currency (XRP|RLUSD, default XRP), donor_wallet (r..., optional), message (optional). No signup.
| Name | Type | Req | Description |
|---|---|---|---|
| amount | number | yes | Amount to donate. Minimum 1. Any size welcome — even 1-5 XRP helps fund a real grant. |
| currency | string | – | XRP or RLUSD. Default: XRP. Use RLUSD for a stable USD-equivalent donation. |
| donor_wallet | string | – | Optional. XRPL wallet address of the donor. Providing this allows building a ready-to-sign Payment transaction. |
| message | string | – | Optional. A short dedication or message to attach to the donation record. |
No output schema declared.
No examples provided.
get_account_credentials ~225
Get every XLS-70 credential an XRPL account holds — issuer, type, whether it has been accepted, whether it's expired, and its expiry date. Live against a validated mainnet ledger (never stale). Use this before trusting a counterparty who claims to hold a credential. Default walks the owner directory (bounded ~20s; response has coverage "complete"/"partial" — for an exchange-scale account it can be partial). Pass issuer (and credential_type unless it is XRPLHub's issuer) to do a direct ledger lookup instead — always fast and always complete. Params: wallet_address (r..., required), issuer (r..., optional), credential_type (name or hex, optional). Free, no signup.
| Name | Type | Req | Description |
|---|---|---|---|
| credential_type | string | – | Optional — credential type (plain name or hex); required with issuer unless the issuer is XRPLHub's |
| issuer | string | – | Optional — restrict to one issuer via a direct ledger lookup (no owner-directory walk) |
| wallet_address | string | yes | XRPL classic address to look up (starts with r) |
No output schema declared.
No examples provided.
get_issuer_credentials ~100
Get everything an issuer account has issued: every credential type, distinct subject count, and acceptance rate. Served from a network-wide census rebuilt on a schedule — the response includes coverage ("complete" or "partial") so a mid-walk answer is never mistaken for a finished count. Params: issuer_address (r..., required). Free, no signup.
| Name | Type | Req | Description |
|---|---|---|---|
| issuer_address | string | yes | XRPL classic address of the credential issuer (starts with r) |
No output schema declared.
No examples provided.
get_issuer_mpts ~96
Everything one issuer has put out as Multi-Purpose Tokens (XLS-33), from the registry index, plus the issuer's own XRPLScore. Each issuance lists the issuer's powers over a holder. Response carries coverage ('complete-per-known-issuer'/'partial'). Params: issuer_address (r..., required). Free, no signup.
| Name | Type | Req | Description |
|---|---|---|---|
| issuer_address | string | yes | XRPL issuer address (starts with r) |
No output schema declared.
No examples provided.
get_lending_exposure ~274
A borrower's TOTAL XLS-66 lending exposure across ALL loan brokers in one call — the XRP Ledger has no aggregate borrower-debt object, so a broker carrying first-loss capital cannot see a borrower's total leverage elsewhere. Returns: outstanding by asset, loan count, distinct broker count, defaults / impairments / overdue, XRPLHub's XRPLScore, and an observation history summary. IMPORTANT: XLS-66 keeps CURRENT exposure only. A defaulted loan zeroes its own amounts (the flag is the credit event, not the balance), and either the borrower or the broker can delete a paid or defaulted loan to reclaim the borrower's reserve — a borrower can erase evidence of their own default. Every call here persists an immutable Merkle-anchored snapshot. `disposition` = 'no-loans-ever' means we have never observed a loan (NOT proof of none); 'history-only' means loans were seen before but none are on the ledger now. XLS-66 is not yet enabled on mainnet — until it is, this returns amendment-not-active with the live XRPLScore. Not underwriting or credit advice. Params: borrower (r..., required). Free via MCP.
| Name | Type | Req | Description |
|---|---|---|---|
| borrower | string | yes | XRPL classic address (r..., 25–35 chars) of the borrower |
No output schema declared.
No examples provided.
get_lending_history ~166
Every loan XRPLHub has EVER observed for a borrower, built from append-only exposure snapshots — the credit file the XRP Ledger can't keep. Per loan: first/last observed ledger, last-known status, monotonic everDefaulted / everImpaired / everOverdue flags, and for loans since deleted from the ledger, the ledger window in which they vanished. A borrower who defaulted and then deleted the loan shows nothing on-ledger; here it shows as vanished with everDefaulted true. `observationWindow` says how far back our view goes — loans deleted before we first saw this borrower are invisible to us. Params: borrower (r..., required). Free, no signup.
| Name | Type | Req | Description |
|---|---|---|---|
| borrower | string | yes | XRPL classic address (r...) of the borrower |
No output schema declared.
No examples provided.
get_monitoring_info ~182
Describe XRPLHub's continuous-monitoring service so an agent can decide whether to use it: what it watches for a list of wallets (score drops against a threshold YOU set, OFAC SDN list hits, and — once XLS-66 activates — first loan / overdue / impaired / defaulted), how it is delivered (HMAC-signed webhooks, once-a-day checks, attested Merkle-anchored history), per-plan watch slots, the shared capacity limit, the consumer-use acknowledgement text that subscribing requires (no FCRA/ECOA consumer credit, insurance, employment or housing decisions) and the endpoints. Layered on top of underwriting, never a replacement; no recommendation, no probability of default. Subscribing needs an API key over HTTP (POST /api/monitor/subscribe), not this tool. No params. Free.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
get_underwriting_inputs ~192
The full underwriting-inputs bundle a LoanBroker needs for an XLS-66 decision, in one call: cross-broker exposure, XRPLScore + grade, OFAC SDN screening (with its own verifiable receipt), observation history + gaps, and one Merkle-anchored attestation over the whole bundle. FACTS ONLY — it never returns a recommended principal, rate, approve/decline, or probability of default; the broker decides. This is a PAID x402 call: $0.05 USDC on Base at GET /api/x402/lending/underwrite?borrower=r... (no free tier, no API key). For the free components use get_lending_exposure and screen_address_ofac. This tool returns the payment resource details. Params: borrower (r..., required).
| Name | Type | Req | Description |
|---|---|---|---|
| borrower | string | yes | XRPL classic address (r...) of the borrower |
No output schema declared.
No examples provided.
issue_score_credential ~228
Get a certificate of a wallet's XRPLScore, signed by XRPLHub, with the score computed fresh at issuance. A counterparty checks it by asking XRPLHub's verify URL — the signature is an HMAC under a key only XRPLHub holds, so this is XRPLHub's own attestation, not independently verifiable proof, and the buyer need not control the wallet. Two calls: first returns a Xaman payment request (1 XRP or 1 RLUSD, valid 90 days); call again with the same wallet_address + returned uuid after signing to get certId and verifyUrl. Params: wallet_address (r..., required), currency (XRP|RLUSD, default XRP), uuid (2nd call only). No signup.
| Name | Type | Req | Description |
|---|---|---|---|
| currency | string | – | Payment currency. Defaults to XRP. |
| uuid | string | – | Only for the second call: the payment uuid returned by the first call, after the user has signed in Xaman. |
| wallet_address | string | yes | XRP Ledger wallet address the credential will attest to (starts with r) |
No output schema declared.
No examples provided.
list_xrpl_services ~89
List all 34 XRPL actions that build_xrpl_transaction can produce. For each you get: id, plain-English label, category, safety tier, and every parameter (name, type, required, example). Call this FIRST so you pass the right product_id and params in one shot instead of guessing and getting a missing-params error. No parameters. Free, no signup.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
preview_xrpl_transaction ~146
FREE. Describe one XRPL transaction before you buy it: what it does, what is irreversible, the price, and every field it needs. Returns NO signable txjson — enough to decide, not enough to sign. Then call build_xrpl_transaction to buy it. Params: product_id (required, from list_xrpl_services), params (optional object; tailors the multisig warning).
| Name | Type | Req | Description |
|---|---|---|---|
| params | object | – | Optional per-service parameters; only used to tailor the irreversibility wording (e.g. signers, quorum). |
| product_id | string | yes | Which XRPL action to describe. Call list_xrpl_services for the catalogue. |
No output schema declared.
No examples provided.
screen_address_ofac ~274
Compare one XRPL address against a vintage-pinned snapshot of the US Treasury OFAC SDN list (exact address-string match only) and get a factual, Merkle-anchored receipt. ATTESTS TO PROCESS, NOT GROUND TRUTH: the receipt records that the address was compared against a named list snapshot (its OFAC publish date + the SHA-256 of the exact file) at a stated time, and what the comparison found. A "no match" means the address did NOT appear on that list version — it is NOT a statement that the address is clean, safe, or unsanctioned. This is not legal or compliance advice, makes no compliance decision, and does not discharge your own screening obligations. Scope: OFAC SDN only — no EU/UK/UN lists, no name/alias/fuzzy matching, no transaction-graph analysis. Returns queryId (verify it later with verify_attestation), the list {name,vintage,sha256}, result {listed, matches[]}, and a one-sentence factual statement. Params: address (r..., required). Free via MCP. Terms: /legal/screening.
| Name | Type | Req | Description |
|---|---|---|---|
| address | string | yes | XRPL classic address (r..., 25–35 chars) to compare against the OFAC SDN list |
No output schema declared.
No examples provided.
search_mpts ~148
Search the XRPL Multi-Purpose Token (XLS-33) registry index by issuer address, MPTokenIssuanceID (or a hex prefix of one), or token name / ticker. Returns each match with issuer powers (clawback, freeze, require-auth, transferable), supply, holder count and source. Served from the index — the response carries coverage ('complete' or 'partial') and lastCompletedPassAt; treat 'partial' as a floor, not the whole population. Params: q (required). Free, no signup.
| Name | Type | Req | Description |
|---|---|---|---|
| q | string | yes | Issuer address (r...), MPTokenIssuanceID or hex prefix, or token name/ticker |
No output schema declared.
No examples provided.
submit_grant_application ~249
Apply for a community micro-grant ($25–$100) paid wallet-to-wallet from the XRPLHub on-chain treasury for rent, utilities, groceries, medical, transport, or childcare. Returns a grant id and status. A person reviews every application and makes every decision — no automated triage, no middleman. Params: wallet_address (r..., required), category (RENT|UTILITIES|GROCERIES|MEDICAL|TRANSPORT|CHILDCARE|OTHER, required), amount (25–100, required), description (2–4 sentences, required). No signup.
| Name | Type | Req | Description |
|---|---|---|---|
| amount | number | yes | Amount requested in RLUSD (1–100) |
| category | string | yes | Grant category: RENT, UTILITIES, GROCERIES, MEDICAL, TRANSPORT, CHILDCARE, or OTHER |
| currency | string | – | Payout currency. Default and recommended: RLUSD |
| description | string | yes | Clear description of the need, situation, and urgency (2–4 sentences). Be specific — vague applications are harder for the reviewer to verify. |
| wallet_address | string | yes | XRPL wallet address where the grant will be sent if approved |
No output schema declared.
No examples provided.
verify_attestation ~172
Given a queryId from screen_address_ofac OR get_lending_exposure, return everything needed to verify that receipt WITHOUT trusting XRPLHub: the canonical leaf, its Merkle inclusion proof, the on-ledger anchor transaction hash + ledger close time, and the SHA-256 of the source data (the OFAC SDN snapshot, or — for lending — the exact list of Loan ids observed). Rebuild the leaf, fold the proof to the Merkle root, confirm that root is in the anchor tx's MemoData. Before the daily anchor runs it shows status "pending" with the leaf hash only. Params: query_id (UUID, required). Free, no signup.
| Name | Type | Req | Description |
|---|---|---|---|
| query_id | string | yes | The queryId (UUID) from screen_address_ofac or get_lending_exposure |
No output schema declared.
No examples provided.
verify_mpt_registry ~151
Get the latest on-ledger anchor of the MPT registry (BIS Working Paper 1374 pattern): a Merkle root over the canonicalised index, committed in a Memo on a transaction from a dedicated anchor wallet (not the credential issuer). Returns the root, its tx hash, ledger index, issuance/issuer counts, coverage, and the exact canonicalisation + Merkle scheme so you can reproduce the root from the published /api/mpt/search + /api/mpt/issuer data and check that those rows match the root we anchored on-ledger at a known time (proves published-rows-match-anchored-root, not immutability). No params. Free, no signup.
Input schema present but exposes no named parameters.
No output schema declared.
No examples provided.
What is the XRPLHub — XRPLScore & XRPL actions MCP server?
XRPLHub — XRPLScore & XRPL actions is an MCP server listed in the public MCP registry as io.github.Dcroyalty/xrplhub. Free XRPL scores + tx previews; pay per unsigned txjson via x402 (USDC/RLUSD). You sign; no keys. This page covers its hosted endpoint (https://www.xrplhub.io/api/mcp).
Is the XRPLHub — XRPLScore & XRPL actions MCP server safe to use?
XRPLHub — XRPLScore & XRPL actions scores 73 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the XRPLHub — XRPLScore & XRPL actions MCP server expose?
XRPLHub — XRPLScore & XRPL actions exposes 21 tools: issue_score_credential, check_xrpl_score, get_account_credentials, get_issuer_credentials, check_mpt_risk, and 16 more. Their descriptions and schemas cost roughly 4,071 tokens of context every time the server is loaded.
Does the XRPLHub — XRPLScore & XRPL actions MCP server require authentication?
No. We connected to XRPLHub — XRPLScore & XRPL actions without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.
Is the XRPLHub — XRPLScore & XRPL actions MCP server still maintained?
XRPLHub — XRPLScore & XRPL actions is still listed as active in the MCP registry. We last reached this channel on 27 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.