Skip to main content
Glama

XRPLHub — XRPLScore & XRPL actions

Server Details

Free XRPL scores + tx previews; pay per unsigned txjson via x402 (USDC/RLUSD). You sign; no keys.

If you are the author of this connector, you can claim ownership with GitHub, an HTTP challenge, or a DNS record. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
100.0% over 21 days
Last Tested
Transport
Streamable HTTP · MCP 2024-11-05
URL
Repository
Dcroyalty/XRPLHub.io
GitHub Stars
0

TDQS

A3.9/5.0

Scored across 21 tools

Disambiguation4/5

Most tools target clearly distinct resources and actions—credential checks, MPT risk, lending exposure, attestation verification, transaction preview/build—so an agent can usually pick correctly. A few close pairs (get_lending_exposure vs. get_lending_history, search_mpts vs. get_issuer_mpts) could cause hesitation, but the detailed descriptions resolve the boundaries.

Naming Consistency5/5

All tool names follow a consistent snake_case verb_noun convention: check_, get_, list_, preview_, build_, verify_, search_, etc. Verbs are descriptive and match the action, and there is no mixing of camelCase or inconsistent stylistic patterns.

Tool Count3/5

At 21 tools, this is on the heavy side per the calibration guidance, and the set spans several distinct subdomains (scoring, credentials, MPT, lending, OFAC, transactions, grants, monitoring). Most tools earn their place for the broad service, but the count feels somewhat bloated for a single MCP server.

Completeness4/5

The surface covers the main workflows: score lookup, credential checks, MPT risk/search, lending exposure/history, OFAC screening, attestation verification, and transaction preview/build. Minor gaps exist—such as no dedicated tool to subscribe to monitoring or verify an issued score credential—but agents can work around them via existing tools or HTTP endpoints.

Available Tools

21 tools
build_xrpl_transactionAInspect

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).

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsNoPer-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 params) | lockdown: (no params) | issuerdecl: (no params) | issuercfg: (no params) | tokenfee: transferFee | trustline: issuer, currency | trustsend: issuer, currency, destination, amount | rippling: (no params) | mptissue: name, ticker, maximumAmount | mptsend: destination, mptIssuanceId, amount | globalfreeze: (no params) | freezeline: holder, currency | dexorder: takerGetsValue, takerPaysValue | ammwithdraw: asset2Currency | smartswap: receiveValue, receiveCurrency | ammlaunch: assetValue, asset2Value | ammentry: assetValue, asset2Currency | paychannel: destination, amount, publicKey | tickets: (no params) | nftmint: uri | nftburn: nftokenId | nftoffer: nftokenId, amount | checkcreate: destination, amount | checkcash: checkId, amount | checkcancel: checkId | depositpreauth: sender | escrow: destination, amount, finishAfter | identity: domain | did: uri | compliance: domain, didUri | credentialissue: subject, credentialType | permdomain: (no params)
product_idYesWhich XRPL action to buy. Call list_xrpl_services for the full catalogue with each id's label, tier, price and parameters.
wallet_addressYesXRPL classic address (r...) of the account that will sign the transaction
confirm_cautionNoCaution-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 to the payment resource.

TDQS

A4.3/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden and does it well: it discloses that the tool returns a payment resource rather than the txjson directly, that XRPLHub never signs, that the service is paid, and 'No payment, no txjson.' It also mentions confirm_caution is for caution-tier irreversible services after reading the preview, adding important risk disclosure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense but every sentence contributes: purpose, cost, payment method, signing behavior, prerequisite, and parameter summary. It is somewhat long but not bloated; the key facts are front-loaded, and the parameter list at the end serves as a quick reminder.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with no output schema and no annotations, this description provides a solid mental model: it explains the payment resource, how the response becomes txjson, who signs, and the caution flag. It could be slightly more explicit about the payment resource response structure, but the core information needed to invoke it correctly is present.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description adds a small amount of semantic value by noting wallet_address is the signer and confirm_caution applies only after the wallet owner reads the preview, but most parameter meaning is already in the schema. It does not significantly exceed the baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource: 'BUY the unsigned, ready-to-sign transaction for one of 34 XRPL actions.' It clearly distinguishes itself from its free sibling preview_xrpl_transaction and from list_xrpl_services by framing the action as a paid purchase, so an agent can immediately tell what this tool does.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly instructs 'Call preview_xrpl_transaction (free) first,' giving a clear prerequisite and sequencing. It also warns 'Not free' and explains the payment flow, but it doesn't explicitly name when not to use the tool beyond the preview-first rule. That is sufficient guidance for most agents.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

check_domain_eligibilityAInspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
domain_idYesThe PermissionedDomain's ledger index — 64 hex characters
wallet_addressYesXRPL classic address to check (starts with r)

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full disclosure burden and does well: it states live mainnet behavior, OR eligibility semantics, accepted/expired credential rules, and 'Free, no signup' for auth. It does not mention return format or error behavior, which prevents a 5.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and informative, with useful facts front-loaded: mainnet live, OR logic, params, and no signup. The rhetorical phrase 'the question every domain operator...' adds flavor but not function, slightly reducing conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple read-only eligibility check with two required params and no output schema, the description covers the core semantics well: what is checked, the OR condition, live mainnet behavior, and auth requirements. It omits explicit return value/error details, which would make it more complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the baseline is 3. The description mostly restates the schema's parameter info, but it adds meaningful interaction semantics: 'Eligibility is OR: any ONE accepted, unexpired credential matching the domain's AcceptedCredentials is enough', clarifying how wallet_address and domain_id relate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: 'Check whether an XRPL account holds a credential that satisfies a PermissionedDomain (XLS-80d)'. This clearly differentiates the tool from siblings like check_xrpl_score, check_mpt_risk, and get_account_credentials by focusing on PermissionedDomain eligibility.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear context: it is the check 'before a real transaction' and operates 'against a validated mainnet ledger'. It does not explicitly name alternative tools or state when not to use it, so it stops short of a 5, but the intended use case is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

check_mpt_riskAInspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
issuance_idYesThe MPTokenIssuanceID — 48 hexadecimal characters (XLS-33, 192-bit)

TDQS

A4.6/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

There are no annotations, so the description carries the full behavioral burden. It discloses key operational traits: the tool is free, requires no signup, every response states its source, and unmatched issuances return 'unknown' rather than 'does not exist'. The phrase 'Get the risk view' also conveys a read-only intent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is longer than the minimum but each sentence earns its place: risk semantics, pricing, an explicit alternative, edge-case behavior, and the required parameter. The 'Params:' sentence is somewhat redundant with the schema, but the description remains front-loaded with purpose and well organized.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Though there is no output schema, the description conveys the essential response content: issuer powers, XRPLScore, source attribution, and the not-found behavior. With one fully documented required parameter and no annotations, the description gives an agent enough context to select and invoke the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the input schema already fully documents issuance_id as a required 48-hex MPTokenIssuanceID. The description repeats this information but adds no additional parameter-level meaning beyond what the schema provides, warranting the baseline score.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Get the risk view') with a precise resource ('one XLS-33 Multi-Purpose Token issuance') and enumerates concrete risk dimensions (clawback, freeze, require-auth, transferability) plus the issuer's XRPLScore. This clearly distinguishes it from siblings like check_xrpl_score, check_domain_eligibility, and get_issuer_mpts.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It explicitly frames when to use this tool ('before touching it') and directly names an alternative for a fuller picture, including the cost and endpoint. This gives an agent actionable routing guidance without ambiguity.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

check_service_healthAInspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full behavioral disclosure responsibility. It explicitly states the return format (overall 'ok' | 'warn' | 'down' plus per-component list), notes that the tool is free and requires no signup, and implies readiness checks without side effects. It does not mention potential rate limits or how to handle a 'down' response, but covers the essential behavior well.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded: the first sentence states the trigger condition and scope, followed by the return format, then usage guidance and cost/friction notes. Every sentence earns its place with no redundancy or filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a zero-parameter tool with no output schema, the description is remarkably complete. It explains what is checked, what the output looks like, when to poll, and that no signup or cost is involved. An agent has enough context to invoke the tool and interpret the result correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has zero parameters, and the schema coverage is 100% (empty object). Per the rubric, a baseline of 4 applies, and the description reinforces this with 'No params.' No additional parameter semantics are needed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose with a specific verb ('Check'), a defined resource ('XRPLHub money path'), and a precise context ('BEFORE you pay'). It enumerates the exact components checked, distinguishing it from sibling tools like check_mpt_risk or check_domain_eligibility, which target entirely different resources.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear usage context: use it before paying and poll it if a prior paid call failed. This tells an agent exactly when to invoke the tool, though it does not explicitly name alternatives or exclusion conditions, leaving room for a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

check_xrpl_scoreAInspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
wallet_addressYesXRP Ledger classic address to score (starts with r, 25–35 characters)

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

There are no annotations, so the description carries the full transparency burden. It discloses that this is a read-only, public-ledger operation ('100% public ledger data'), that no API key or signup is required, and exactly what the caller receives. It stops short of covering failure modes or data freshness, but the essential behavioral profile is clear.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is tightly organized: action and use case first, then the return payload, then the parameter, then access requirements. Every sentence adds useful information without fluff or repetition beyond a compact params reminder.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter tool with no output schema, this description is unusually complete. It explains what the score means, the range, the signals used, the returned artifacts, the required address format, and the access model, so an agent has enough context to invoke it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% for the single required parameter, and the schema already specifies that wallet_address starts with 'r' and is 25–35 characters. The description repeats these constraints rather than adding new semantic detail, so it meets the baseline but does not elevate it.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource: 'Get a 300–850 creditworthiness score for any XRP Ledger wallet.' It also enumerates the exact output components (score, letter grade, percentile, per-signal breakdown, tips), which makes the tool's function unmistakable and separates it from sibling tools like check_mpt_risk or issue_score_credential.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives clear usage context: 'before you pay, lend to, trade with, or onboard it.' It does not explicitly state when to avoid this tool or name an alternative for different wallet checks, but the intended decision-making context is well conveyed.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_account_credentialsAInspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
issuerNoOptional — restrict to one issuer via a direct ledger lookup (no owner-directory walk)
wallet_addressYesXRPL classic address to look up (starts with r)
credential_typeNoOptional — credential type (plain name or hex); required with issuer unless the issuer is XRPLHub's

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden, and it delivers rich behavioral detail: it is live against a validated mainnet ledger, never stale, bounded at ~20s for the default walk, with a coverage field of complete/partial, and a direct-lookup mode that is always fast and complete. It also discloses that the result can be partial for large exchange-scale accounts, which is critical for correct use.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Every sentence earns its place: purpose, use case, default behavior, alternative mode, parameter summary, and access requirements. The information is front-loaded and dense without being wordy, and the dash-separated parameter list makes it scannable.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Even without an output schema, the description tells the agent what the response will contain (issuer, type, accepted, expired, expiry date) and the completeness semantics. It covers performance characteristics, the two invocation modes, parameter constraints, and access prerequisites. An agent has enough to decide when to call it and how to invoke it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, and the schema already explains the direct-ledger-lookup behavior for issuer and the conditional requirement for credential_type. The description mostly restates this, adding only minor conveniences like the 'r...' format and 'name or hex'. It does not meaningfully extend the parameter semantics beyond what the schema already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb and resource: 'Get every XLS-70 credential an XRPL account holds', and lists the exact attributes returned (issuer, type, acceptance, expiry, expiry date). This clearly distinguishes it from sibling tools like get_issuer_credentials or search_mpts by targeting credentials held by an account rather than issued or listed elsewhere.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly says when to use it: 'Use this before trusting a counterparty who claims to hold a credential.' It also provides clear routing between the default owner-directory walk and the faster direct lookup when an issuer is passed. It does not explicitly name alternative sibling tools as exclusions, so it falls just short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_issuer_credentialsAInspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
issuer_addressYesXRPL classic address of the credential issuer (starts with r)

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the burden and handles it well: it discloses the census/cached nature, the periodic rebuild, the coverage field, and the risk of mistaking a partial answer for final, plus free/no-signup access. This goes beyond a simple read hint.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three compact chunks—purpose, provenance/coverage caveat, and param/access note—are front-loaded with no filler. Every sentence adds decision-relevant information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter read tool with no output schema and no annotations, the description covers what data is returned, that it may be partial, and what access is needed. It does not spell out the exact response shape or update cadence, but these are minor for invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already fully documents issuer_address with a description, so the description adds little beyond restating it as required and noting the r-prefix. Baseline 3 is appropriate when schema coverage is complete.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Get'), names the resource ('everything an issuer account has issued'), and enumerates the returned dimensions (credential type, distinct subject count, acceptance rate), making it clear what the tool does and separating it from account-level or MPT-focused siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The issuer-account wording and the list of aggregate metrics provide a clear context for when to call it. It does not explicitly name alternatives or say when not to use it, so it stops short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_issuer_mptsAInspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
issuer_addressYesXRPL issuer address (starts with r)

TDQS

A3.9/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the behavioral disclosure burden. It does well by revealing that the response includes a coverage status ('complete-per-known-issuer'/'partial'), explaining that each issuance lists the issuer's powers over a holder, and noting it is free and requires no signup. It does not explain what leads to 'partial' coverage or data freshness, but the disclosures are substantive.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact and front-loaded with the core purpose. Every sentence contributes useful information: scope, source, output composition, coverage, parameter hint, and access conditions. It is slightly dense but not wasteful, earning a strong score.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a one-parameter tool with no output schema, the description covers the main return contents (MPTs, XRPLScore) and even the coverage nuance. It omits error behavior and exact formatting of the score, but the tool is relatively simple and the description gives enough to invoke it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% for issuer_address, so the baseline is 3. The description adds only a duplicate note (r..., required) that mirrors the schema. It does not add meaningful parameter behavior beyond what the schema already states.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific, well-scoped statement: 'Everything one issuer has put out as Multi-Purpose Tokens (XLS-33), from the registry index, plus the issuer's own XRPLScore.' This clearly identifies the resource (issuer MPTs), the operation (get all), and the unique addition (XRPLScore), effectively distinguishing it from siblings like search_mpts or verify_mpt_registry.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is implied rather than explicit. The description implies 'use when you need all MPTs for a specific issuer and their XRPLScore,' but it never states when not to use it or names alternatives such as search_mpts for cross-issuer queries. There is clear context but no exclusions or explicit routing guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_lending_exposureAInspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
borrowerYesXRPL classic address (r..., 25–35 chars) of the borrower

TDQS

A4.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description transparently states that every call persists an immutable Merkle-anchored snapshot, which is a side effect an agent should know. It also clarifies the limitation of 'no-loans-ever' (not proof of none) and the risk of borrowers erasing defaults. However, it does not explicitly state whether the tool is read-only or has any destructive capabilities, though the snapshot mention implies a write. The description is largely transparent about behavioral nuances.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense but well-structured. It front-loads the main purpose, then provides important caveats, return value hints, and operational notes. All sentences contribute value—some are warnings, some explain state meanings, and some clarify the mainnet status. No fluff or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers all essential context: what the tool does, what it returns (outstanding by asset, loan count, etc.), the meaning of disposition states, mainnet status, and a disclaimer. It also mentions the free pricing. Given there is no output schema, the description compensates by listing return fields. No critical missing information for an agent to decide to call this tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The parameter 'borrower' is described with details: XRPL classic address format (r..., 25–35 chars) and required status. This matches the schema. The description adds contextual value by explaining the address format and the required constraint, but there is only one parameter and no enums or nested objects, so the coverage is adequate. A small deduction because the description does not elaborate on possible edge cases (e.g., invalid address handling), but it is clear enough.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: to retrieve a borrower's total XLS-66 lending exposure across all loan brokers. It specifies the resource (borrower exposure data) and the action (get). It also differentiates itself from a sibling tool (get_lending_history) by focusing on aggregate exposure across brokers, which is distinct.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit guidance on when to use this tool: when needing total lending exposure across all brokers. It also includes important caveats about XLS-66 not being enabled on mainnet, the meaning of 'disposition' values, and the fact that deletions can erase default evidence. This is actionable guidance for an agent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_lending_historyAInspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
borrowerYesXRPL classic address (r...) of the borrower

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden. It discloses the data source (append-only exposure snapshots), the visibility limitation (loans before first observation are invisible), the behavior for deleted loans (shown as vanished with everDefaulted true), and the observationWindow concept. It also mentions 'Free, no signup' as a practical access trait. This is thorough and transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is long but each sentence contributes meaning. It front-loads the core purpose, then explains per-loan details, an example, the observationWindow, and the parameter. It is structured logically and avoids fluff, though it could be slightly more compact without losing important nuance.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter tool with no output schema, the description explains the output fields, the observationWindow, and the edge case of deleted loans. It gives the agent enough to know what to expect and how to interpret results. Missing error cases are minor and not critical for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already describes the borrower parameter as an XRPL classic address (r...), and the description repeats this without adding new meaning. It does not elaborate on formatting, validation, or any edge cases. Since schema coverage is 100%, the description adds minimal value beyond restating the parameter.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states exactly what the tool does: returns the complete observed loan history for a borrower, including deleted loans, with specific fields like first/last ledger, status, and flags. It is distinct from other lending tools by emphasizing the historical, append-only nature and the 'credit file' concept. The verb 'get' plus the resource 'lending history' is clear and unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides clear context that this is for historical loan data, especially for loans deleted from the ledger, which is a unique use case. It implies when to use it (when you need the full credit file) but does not explicitly name alternatives like get_lending_exposure or state when not to use it. The context is strong, but no explicit exclusions or alternative routing is given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_monitoring_infoAInspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden, and it does so well: it says the tool has no parameters, is free, is not the subscription mechanism, and offers no recommendation or probability of default. It also discloses watcher categories and delivery mechanics, giving the agent a realistic model of the service without overstating side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is information-dense and front-loaded with its purpose, but it is a single long run-on passage that would be easier for an agent to parse as structured bullets. Every clause adds content, so it is not padded, but the structure is not ideal.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema, the description covers the key contents an agent needs: what is monitored, delivery mechanism, plan limits, capacity constraints, consumer-use restrictions, limitations, and the subscription endpoint. The phrase 'and the endpoints' is slightly vague, but enough is included to make the tool usable.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are no parameters, so the schema leaves nothing to document; the description explicitly confirms 'No params.' This matches the baseline for a zero-parameter tool and adds no confusing parameter information.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific action and resource: 'Describe XRPLHub's continuous-monitoring service' and immediately states the decision it supports. It also distinguishes itself from the subscription endpoint by saying 'Subscribing needs an API key over HTTP (POST /api/monitor/subscribe), not this tool.'

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

It gives clear context for when this information is relevant ('so an agent can decide whether to use it') and explicitly routes subscription actions away from the tool to the HTTP endpoint. It clarifies the service is advisory only ('never a replacement; no recommendation, no probability of default'), though it does not name sibling tools as alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_underwriting_inputsAInspect

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).

ParametersJSON Schema
NameRequiredDescriptionDefault
borrowerYesXRPL classic address (r...) of the borrower

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Even without annotations, the description fully discloses behavior: it returns payment resource details, includes a Merkle-anchored attestation, and explicitly states what it does NOT return (no recommendation). Cost and endpoint are also transparent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Every sentence in the description adds value: purpose, contents, exclusions, cost, endpoint, alternatives, and parameter format. No fluff or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Comprehensive for a paid, special-purpose tool. Covers purpose, components, payment details, endpoint, relationship to free siblings, and the single parameter. No critical operational details are missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema covers the only parameter with a description matching the tool's mention of 'r...' format. Description adds no new semantic information beyond the schema, so baseline applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states the tool returns the full underwriting-inputs bundle for an XLS-66 decision, listing specific components. Also distinguishes from sibling tools by noting free alternatives for some data.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly notes this is a paid x402 call with cost and endpoint, states there is no free tier or API key, and directs users to get_lending_exposure and screen_address_ofac for free components. No ambiguity about when to use this tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

issue_score_credentialAInspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
uuidNoOnly for the second call: the payment uuid returned by the first call, after the user has signed in Xaman.
currencyNoPayment currency. Defaults to XRP.
wallet_addressYesXRP Ledger wallet address the credential will attest to (starts with r)

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden and does so thoroughly. It discloses that the signature is an HMAC under a key only XRPLHub holds, that the result is XRPLHub's own attestation not independently verifiable proof, that the buyer need not control the wallet, that the first call returns a payment request valid 90 days, and that the second call returns certId and verifyUrl.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is dense but every sentence earns its place: purpose, trust model, call flow, parameters, and auth requirement. It is front-loaded with the primary purpose and proceeds logically through caveats and sequencing. The parameter sentence is compact and does not bloat the text.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a two-step, paid credential tool with no output schema, the description fully explains the sequence, return values (payment request, then certId/verifyUrl), fee (1 XRP or 1 RLUSD), validity period, trust model, and the fact that no signup is required. Missing edge cases like invalid wallet or expired uuid are minor against this level of completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% and the description reinforces roles by noting wallet_address format ('r...'), currency default, and uuid for the second call only. It adds the explicit constraint that the second call must reuse the same wallet_address together with the returned uuid, which goes beyond the schema's individual parameter descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific action and resource: 'Get a certificate of a wallet's XRPLScore, signed by XRPLHub, with the score computed fresh at issuance.' This clearly distinguishes the tool from siblings like check_xrpl_score (score checking) and verify_attestation (verification) by focusing on issuance of a paid, signed credential.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides a clear usage context: a two-call flow, payment amount and validity, parameter roles, and 'No signup.' It even hints at when not to use the tool for verification ('counterparty checks it by asking XRPLHub's verify URL'). However, it does not explicitly name sibling alternatives or state exclusion conditions, so it stops short of full when/when-not guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_xrpl_servicesAInspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden and does a strong job: it states the tool has no parameters, is free, requires no signup, and returns a fixed set of fields for all 34 actions. It also warns about avoiding missing-params errors. It does not mention rate limits or pagination, but for a no-parameter listing endpoint this is a minor gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three tight sentences with no wasted words. The core purpose and count are front-loaded, followed by the return fields, tactical usage guidance, and operational constraints. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

This is a low-complexity no-parameter tool with no output schema, so the description must explain what is returned—and it does: id, label, category, safety tier, and all parameters with type, required, and example. It also covers when to call it and that no signup is needed, making it fully actionable.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There are zero parameters, so the baseline is 4. The description explicitly confirms 'No parameters.' and reinforces it with 'Free, no signup.' There is no additional parameter meaning to add because the input schema is already empty and fully covered.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb and resource: 'List all 34 XRPL actions that build_xrpl_transaction can produce.' It clearly distinguishes this discovery tool from the transaction-building sibling by focusing on enumeration rather than execution. The listed output fields further clarify exactly what the tool returns.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives explicit usage timing: 'Call this FIRST so you pass the right product_id and params in one shot.' It contrasts this with the failure mode of 'guessing and getting a missing-params error', which tells the agent when and why to use this tool instead of directly calling build_xrpl_transaction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

preview_xrpl_transactionAInspect

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).

ParametersJSON Schema
NameRequiredDescriptionDefault
paramsNoOptional per-service parameters; only used to tailor the irreversibility wording (e.g. signers, quorum).
product_idYesWhich XRPL action to describe. Call list_xrpl_services for the catalogue.

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the disclosure burden. It states the tool is FREE, that it returns no signable txjson, and that the optional params only tailor the irreversibility wording — a real behavioral quirk. It stops short of explicitly stating 'read-only/no side effects,' but 'describe' plus 'not enough to sign' strongly signals safety.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three front-loaded sentences cover purpose, output constraint, and next step. The final Params line is a compact summary but slightly duplicates schema documentation; otherwise there is no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a preview tool with no output schema, the description tells the agent what the response contains (description, irreversibility, price, required fields), what it explicitly lacks (signable txjson), and the handoff to build_xrpl_transaction. Nothing essential is missing for correct invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%: both product_id and params already have their meanings documented. The description's Params line essentially repeats the schema ('tailors the multisig warning'), adding no new parameter-level information, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: 'Describe one XRPL transaction before you buy it' and enumerates the output content ('what it does, what is irreversible, the price, and every field it needs'). It also distinguishes itself from sibling build_xrpl_transaction by explicitly noting it returns 'NO signable txjson'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly names the alternative tool and the sequence: 'Then call build_xrpl_transaction to buy it.' It also tells the agent where product_id comes from ('from list_xrpl_services'), giving clear when-to-use and next-step guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

screen_address_ofacAInspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
addressYesXRPL classic address (r..., 25–35 chars) to compare against the OFAC SDN list

TDQS

A4.2/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description fully carries the burden. It transparently discloses the nature of the output (a receipt attesting to process, not ground truth), clarifies that a 'no match' is not a statement of being clean, and includes legal disclaimers. It also conveys the operation is non-destructive (compare and receive receipt) and free.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is excessively verbose and repetitive. Key caveats are stated multiple times (e.g., 'not legal or compliance advice', 'NOT a statement that the address is clean'). It could be condensed into a few concise sentences without losing meaning, so it scores below average.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has no output schema, the description compensates by clearly enumerating return fields (queryId, list, result, statement). It also includes operational details like the terms of service and cost (free), making it complete for an agent to invoke correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema already provides full coverage of the single 'address' parameter, including type, format, and requirement. The description adds no substantive meaning beyond the schema, merely restating 'Params: address (r..., required)', so it meets the baseline of 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: comparing one XRPL address against an OFAC SDN list snapshot and returning a receipt. It also specifies the exact scope (OFAC SDN only, no EU/UK/UN lists), which distinguishes it from potential sibling tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implicitly guides usage by specifying the scope (OFAC SDN only) and directs users to verify the receipt later with 'verify_attestation'. However, it does not explicitly name alternative tools for non-OFAC screenings, though the sibling list includes other tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_mptsAInspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
qYesIssuer address (r...), MPTokenIssuanceID or hex prefix, or token name/ticker

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full behavioral burden. It discloses that results are served from an index (not live), that coverage may be 'complete' or 'partial,' and that 'partial' should be treated as a floor. It also notes the response includes lastCompletedPassAt and source. It does not detail rate limits or error behavior, but the most important non-obvious behavioral trait (partial coverage) is explicitly surfaced.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is compact, information-dense, and well-ordered: what it searches, what it returns, how to interpret the index coverage, and the parameter. Every sentence earns its place, and the critical caveat about 'partial' coverage is front-loaded in the middle. No filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter search tool with no output schema, the description covers the search target, return fields, coverage semantics, and cost/auth requirements ('Free, no signup'). It could mention source values (e.g., what 'source' refers to) or example queries, but for an agent to invoke it correctly with q, the description is nearly sufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description reinforces the meaning of 'q' by listing the accepted forms (issuer address, MPTokenIssuanceID or hex prefix, token name/ticker) but does not add formatting details, case sensitivity, or examples. The schema already documents the parameter adequately; the description adds modest enrichment.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description names a specific verb ('Search'), a specific resource ('XRPL Multi-Purpose Token (XLS-33) registry index'), and the exact search dimensions (issuer address, MPTokenIssuanceID/hex prefix, token name/ticker). It also lists return fields, making it unmistakable what the tool does and how it differs from sibling tools like get_issuer_mpts (which fetches MPTs for a specific issuer) and verify_mpt_registry (which verifies registry membership).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description clearly states when to use this tool: when searching the registry by issuer, ID, or ticker. It also signals the index-backed nature and coverage semantics ('partial' as a floor), which helps an agent decide if results are sufficient. It does not explicitly name sibling alternatives to avoid, but the purpose clarity and context make the appropriate usage reasonably inferable.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

submit_grant_applicationAInspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
amountYesAmount requested in RLUSD (1–100)
categoryYesGrant category: RENT, UTILITIES, GROCERIES, MEDICAL, TRANSPORT, CHILDCARE, or OTHER
currencyNoPayout currency. Default and recommended: RLUSD
descriptionYesClear description of the need, situation, and urgency (2–4 sentences). Be specific — vague applications are harder for the reviewer to verify.
wallet_addressYesXRPL wallet address where the grant will be sent if approved

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the burden of explaining behavior. It states the application is reviewed by a person, not automated, and that it returns a grant id and status. It does not mention potential side effects like whether submission guarantees approval or if funds are held, but the manual review process is transparently described.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is reasonably concise and front-loads the core purpose, eligibility, and human review process. However, it includes a 'Params:' section that largely duplicates the input schema, which adds minor redundancy but does not become overly verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the application context, eligibility, review process, and expected return value (grant id and status). Since there is no output schema, the return information is useful, though not detailed. It is complete enough for an agent to understand the tool's role and basic expectations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the description adds little beyond the schema. It repeats the category and amount constraints but omits the optional currency parameter from its inline param list. The schema already documents all parameters accurately, so the description provides no meaningful extra parameter-level meaning.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: applying for a community micro-grant from the XRPLHub treasury, with eligible categories and amount range. It is easily distinguished from sibling tools like donate_to_community_fund because it is explicitly about applying rather than donating.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context on how the tool is used: it is for grant applications, lists eligible spending categories, and notes that a human reviews every application with no automated triage. It does not explicitly name alternative tools or state 'do not use when', but the purpose and review process are clear enough.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

verify_attestationAInspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
query_idYesThe queryId (UUID) from screen_address_ofac or get_lending_exposure

TDQS

A4.4/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It explains the verification process step-by-step (rebuild leaf, fold proof, confirm root in MemoData) and mentions the pending status before the daily anchor runs. This fully discloses the tool's behavior without relying on annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core purpose and then provides necessary technical details about verification steps and the pending state. While somewhat verbose, the detail is directly relevant and the structure flows logically from purpose to method to edge case.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description fully equips the agent to understand what to expect: it lists all output components (canonical leaf, Merkle proof, anchor tx hash, ledger close time, SHA-256 of source data) and explains the verification flow. It also covers the pre-anchor edge case. Without an output schema, this level of detail is sufficient.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description for query_id already states it is the queryId from screen_address_ofac or get_lending_exposure. The tool description repeats this exact information, adding no new semantic meaning. Since schema coverage is 100%, the baseline score of 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: given a queryId from screen_address_ofac or get_lending_exposure, it returns all data needed to verify a receipt without trusting XRPLHub. It specifies the exact output components (canonical leaf, Merkle proof, anchor transaction hash, etc.), making the function unambiguous and distinct from sibling tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implicitly indicates when to use this tool: whenever a receipt from the two named source tools needs verification. It mentions the prerequisite queryId and the workflow of rebuilding the leaf, folding the proof, and checking the anchor transaction. It does not explicitly contrast with alternatives, but the references to the sibling tools provide clear context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

verify_mpt_registryBInspect

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.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

The description indicates that the tool returns data and is 'free, no signup', but it does not explicitly state whether it is read-only, what happens on error, or whether it performs any state-changing operations. Since no annotations are provided, the description carries the full burden of behavioral disclosure and does not fully meet it.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness2/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is overly verbose and repetitive, restating the same idea of the on-ledger anchor and the reproduction/checking workflow multiple times. It could be condensed to a few clear sentences without losing meaning, and the long trailing explanation makes it less scannable.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers what the tool returns, why it matters, and how the returned root can be used to verify published data. There is no output schema, so the explanation of return values is important and is provided. It does not discuss error cases, but for a parameterless read-style verification call the core context is sufficiently complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema is empty and the description explicitly confirms 'No params', so there are no parameter details missing. This is essentially ideal for a parameterless tool, though it adds no extra semantic depth beyond confirming that no arguments are needed.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: to get the latest on-ledger anchor of the MPT registry and return the Merkle root plus associated metadata. It specifies the exact resource and action, and the output list makes it unambiguous what the tool does. The name 'verify_mpt_registry' aligns well with the described behavior.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies a verification use case by mentioning that you can reproduce the root from published data and check that rows match the anchor, but it never explicitly says when to use this tool versus alternatives like verify_attestation or search_mpts. It also does not state conditions under which this tool should be preferred, so guidance is mostly implicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 1 tool update
    • Changedbuild_xrpl_transaction1 field changed
      • changedInput schema / properties / params / description
        Previous value: -"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 params) | lockdown: (no params) | issuerdecl: (no params) | issuercfg: (no params) | tokenfee: transferFee | trustline: issuer, currency | trustsend: issuer, currency, destination, amount | rippling: (no params) | mptissue: name, ticker, maximumAmount | mptsend: destination, mptIssuanceId, amount | globalfreeze: (no params) | freezeline: holder, currency | dexorder: takerGetsValue, takerPaysValue | ammwithdraw: asset2Currency | smartswap: receiveValue, receiveCurrency | ammlaunch: assetValue, asset2Value | ammentry: assetValue, asset2Currency | paychannel: destination, amount, publicKey | tickets: (no params) | nftmint: uri | nftburn: nftokenId | nftoffer: nftokenId, amount | checkcreate: destination, amount | checkcash: checkId, amount | checkcancel: checkId | depositpreauth: sender | escrow: destination, amount, finishAfter | identity: domain | did: uri | compliance: domain, didUri | credentialissue: subject, credentialType | permdomain: credentialType"New value: +"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 params) | lockdown: (no params) | issuerdecl: (no params) | issuercfg: (no params) | tokenfee: transferFee | trustline: issuer, currency | trustsend: issuer, currency, destination, amount | rippling: (no params) | mptissue: name, ticker, maximumAmount | mptsend: destination, mptIssuanceId, amount | globalfreeze: (no params) | freezeline: holder, currency | dexorder: takerGetsValue, takerPaysValue | ammwithdraw: asset2Currency | smartswap: receiveValue, receiveCurrency | ammlaunch: assetValue, asset2Value | ammentry: assetValue, asset2Currency | paychannel: destination, amount, publicKey | tickets: (no params) | nftmint: uri | nftburn: nftokenId | nftoffer: nftokenId, amount | checkcreate: destination, amount | checkcash: checkId, amount | checkcancel: checkId | depositpreauth: sender | escrow: destination, amount, finishAfter | identity: domain | did: uri | compliance: domain, didUri | credentialissue: subject, credentialType | permdomain: (no params)"
  2. 2 tool updates
    • Changedbuild_xrpl_transaction2 fields changed
      • addedInput schema / properties / confirm_caution
        Added value: +{
        +  "description": "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 to the payment resource.",
        +  "type": "boolean"
        +}
      • changedInput schema / properties / product_id / description
        Previous value: -"Which XRPL action to build. Call list_xrpl_services for the full catalogue with each id's label, tier and parameters."New value: +"Which XRPL action to buy. Call list_xrpl_services for the full catalogue with each id's label, tier, price and parameters."
    • Addedpreview_xrpl_transaction
  3. 1 tool update
    • Addedget_monitoring_info
  4. 1 tool update
    • Changedbuild_xrpl_transaction2 fields changed
      • changedInput schema / properties / params / description
        Previous value: -"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 params) | lockdown: (no params) | issuerdecl: (no params) | issuercfg: (no params) | tokenfee: transferFee | trustline: issuer, currency | trustsend: issuer, currency, destination, amount | rippling: (no params) | mptissue: name, ticker, maximumAmount | mptsend: destination, mptIssuanceId, amount | globalfreeze: (no params) | freezeline: holder, currency | dexorder: takerGetsValue, takerPaysValue | dextrade: takerGetsValue, takerPaysValue | smartswap: receiveValue, receiveCurrency | ammlaunch: assetValue, asset2Value | ammentry: assetValue, asset2Currency | paychannel: destination, amount, publicKey | tickets: (no params) | nftmint: uri | nftburn: nftokenId | nftoffer: nftokenId, amount | checkcreate: destination, amount | checkcash: checkId, amount | checkcancel: checkId | desttagreq: (no params) | escrow: destination, amount, finishAfter | identity: domain | did: uri | compliance: domain, didUri | credentialissue: subject, credentialType | permdomain: credentialType"New value: +"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 params) | lockdown: (no params) | issuerdecl: (no params) | issuercfg: (no params) | tokenfee: transferFee | trustline: issuer, currency | trustsend: issuer, currency, destination, amount | rippling: (no params) | mptissue: name, ticker, maximumAmount | mptsend: destination, mptIssuanceId, amount | globalfreeze: (no params) | freezeline: holder, currency | dexorder: takerGetsValue, takerPaysValue | ammwithdraw: asset2Currency | smartswap: receiveValue, receiveCurrency | ammlaunch: assetValue, asset2Value | ammentry: assetValue, asset2Currency | paychannel: destination, amount, publicKey | tickets: (no params) | nftmint: uri | nftburn: nftokenId | nftoffer: nftokenId, amount | checkcreate: destination, amount | checkcash: checkId, amount | checkcancel: checkId | depositpreauth: sender | escrow: destination, amount, finishAfter | identity: domain | did: uri | compliance: domain, didUri | credentialissue: subject, credentialType | permdomain: credentialType"
      • changedInput schema / properties / product_id / enum
        Previous value: -[
        -  "multisig",
        -  "regkey",
        -  "depositauth",
        -  "desttag",
        -  "lockdown",
        -  "issuerdecl",
        -  "issuercfg",
        -  "tokenfee",
        -  "trustline",
        -  "trustsend",
        -  "rippling",
        -  "mptissue",
        -  "mptsend",
        -  "globalfreeze",
        -  "freezeline",
        -  "dexorder",
        -  "dextrade",
        -  "smartswap",
        -  "ammlaunch",
        -  "ammentry",
        -  "paychannel",
        -  "tickets",
        -  "nftmint",
        -  "nftburn",
        -  "nftoffer",
        -  "checkcreate",
        -  "checkcash",
        -  "checkcancel",
        -  "desttagreq",
        -  "escrow",
        -  "identity",
        -  "did",
        -  "compliance",
        -  "credentialissue",
        -  "permdomain"
        -]New value: +[
        +  "multisig",
        +  "regkey",
        +  "depositauth",
        +  "desttag",
        +  "issuerdecl",
        +  "issuercfg",
        +  "tokenfee",
        +  "trustline",
        +  "trustsend",
        +  "rippling",
        +  "mptissue",
        +  "mptsend",
        +  "globalfreeze",
        +  "freezeline",
        +  "dexorder",
        +  "ammwithdraw",
        +  "smartswap",
        +  "ammlaunch",
        +  "ammentry",
        +  "paychannel",
        +  "tickets",
        +  "nftmint",
        +  "nftburn",
        +  "nftoffer",
        +  "checkcreate",
        +  "checkcash",
        +  "checkcancel",
        +  "depositpreauth",
        +  "escrow",
        +  "identity",
        +  "did",
        +  "compliance",
        +  "credentialissue",
        +  "permdomain"
        +]
  5. 1 tool update
    • Changedbuild_xrpl_transaction1 field changed
      • changedInput schema / properties / params / description
        Previous value: -"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 params) | lockdown: (no params) | issuerdecl: (no params) | issuercfg: (no params) | tokenfee: transferFee | trustline: issuer, currency | trustsend: issuer, currency | rippling: (no params) | mptissue: name, ticker, maximumAmount | mptsend: destination, mptIssuanceId, amount | globalfreeze: (no params) | freezeline: holder, currency | dexorder: takerGetsValue, takerPaysValue | dextrade: takerGetsValue, takerPaysValue | smartswap: takerGetsValue, takerPaysValue | ammlaunch: assetValue, asset2Value | ammentry: assetValue, asset2Value | paychannel: destination, amount, publicKey | tickets: (no params) | nftmint: uri | nftburn: nftokenId | nftoffer: nftokenId, amount | checkcreate: destination, amount | checkcash: checkId, amount | checkcancel: checkId | desttagreq: (no params) | escrow: destination, amount, finishAfter | identity: data | did: uri | compliance: (no params) | credentialissue: subject, credentialType | permdomain: credentialType"New value: +"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 params) | lockdown: (no params) | issuerdecl: (no params) | issuercfg: (no params) | tokenfee: transferFee | trustline: issuer, currency | trustsend: issuer, currency, destination, amount | rippling: (no params) | mptissue: name, ticker, maximumAmount | mptsend: destination, mptIssuanceId, amount | globalfreeze: (no params) | freezeline: holder, currency | dexorder: takerGetsValue, takerPaysValue | dextrade: takerGetsValue, takerPaysValue | smartswap: receiveValue, receiveCurrency | ammlaunch: assetValue, asset2Value | ammentry: assetValue, asset2Currency | paychannel: destination, amount, publicKey | tickets: (no params) | nftmint: uri | nftburn: nftokenId | nftoffer: nftokenId, amount | checkcreate: destination, amount | checkcash: checkId, amount | checkcancel: checkId | desttagreq: (no params) | escrow: destination, amount, finishAfter | identity: domain | did: uri | compliance: domain, didUri | credentialissue: subject, credentialType | permdomain: credentialType"
  6. 2 tool updates
    • Changedbuild_xrpl_transaction1 field changed
      • changedInput schema / properties / params / description
        Previous value: -"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 params) | lockdown: (no params) | issuerdecl: (no params) | issuercfg: (no params) | tokenfee: transferFee | trustline: issuer, currency | trustsend: issuer, currency | rippling: (no params) | mptissue: (no params) | mptsend: destination, mptIssuanceId, amount | globalfreeze: (no params) | freezeline: holder, currency | dexorder: takerGetsValue, takerPaysValue | dextrade: takerGetsValue, takerPaysValue | smartswap: takerGetsValue, takerPaysValue | ammlaunch: assetValue, asset2Value | ammentry: assetValue, asset2Value | paychannel: destination, amount, publicKey | tickets: (no params) | nftmint: uri | nftburn: nftokenId | nftoffer: nftokenId, amount | checkcreate: destination, amount | checkcash: checkId, amount | checkcancel: checkId | desttagreq: (no params) | escrow: destination, amount, finishAfter | identity: data | did: uri | compliance: (no params) | credentialissue: subject, credentialType | permdomain: credentialType"New value: +"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 params) | lockdown: (no params) | issuerdecl: (no params) | issuercfg: (no params) | tokenfee: transferFee | trustline: issuer, currency | trustsend: issuer, currency | rippling: (no params) | mptissue: name, ticker, maximumAmount | mptsend: destination, mptIssuanceId, amount | globalfreeze: (no params) | freezeline: holder, currency | dexorder: takerGetsValue, takerPaysValue | dextrade: takerGetsValue, takerPaysValue | smartswap: takerGetsValue, takerPaysValue | ammlaunch: assetValue, asset2Value | ammentry: assetValue, asset2Value | paychannel: destination, amount, publicKey | tickets: (no params) | nftmint: uri | nftburn: nftokenId | nftoffer: nftokenId, amount | checkcreate: destination, amount | checkcash: checkId, amount | checkcancel: checkId | desttagreq: (no params) | escrow: destination, amount, finishAfter | identity: data | did: uri | compliance: (no params) | credentialissue: subject, credentialType | permdomain: credentialType"
    • Addedget_underwriting_inputs
  7. 3 tool updates
    • Addedget_lending_exposure
    • Addedget_lending_history
    • Changedverify_attestation1 field changed
      • changedInput schema / properties / query_id / description
        Previous value: -"The screening receipt queryId (UUID) returned by screen_address_ofac"New value: +"The queryId (UUID) from screen_address_ofac or get_lending_exposure"
  8. 2 tool updates
    • Addedscreen_address_ofac
    • Addedverify_attestation
  9. 1 tool update
    • Addedcheck_service_health
  10. 13 tool updates
    • First observedbuild_xrpl_transaction
    • First observedcheck_domain_eligibility
    • First observedcheck_mpt_risk
    • First observedcheck_xrpl_score
    • First observeddonate_to_community_fund
    • First observedget_account_credentials
    • First observedget_issuer_credentials
    • First observedget_issuer_mpts
    • First observedissue_score_credential
    • First observedlist_xrpl_services
    • First observedsearch_mpts
    • First observedsubmit_grant_application
    • First observedverify_mpt_registry

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables keyless interaction with KushBitx token-risk APIs: free token previews, advisory SpendGuard policy evaluations, and discovery of unsigned x402 payment challenges, without requiring LLM keys, wallets, or payments.
    Apache 2.0
  • F
    license
    Not graded
    quality
    C
    maintenance
    Provides counterparty risk checks for any EVM address, returning malicious-history flags, tiered risk scoring, and plain-language summaries via x402 payment.
    -
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.