Criptonlabs Agent APIs
by criptonlabs.com · remote · no sign-in to list tools · v0.19.2 · published by com.criptonlabs
Read-only XRPL and Solana data for agents: fees, slippage, readiness. Free /mcp; x402 /mcp/pro.
16 tools: 2 do something that can't be undone and 14 change things.
Scanned Oct 21, 2026
- Deletes or cancels0Claude Code: deny
- Can't be undone2Claude Code: ask: see these tools
- Changes things14Claude Code: ask: see these tools
- Only reads0Claude Code: allow
5 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http agent-apis https://api.criptonlabs.com/mcpFindings
Matches of fixed checks, with the text they matched.
The server marks "xrpl_payment_readiness" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The name "xrpl_payment_readiness" says "payment": a word that usually means money moves, which cannot be taken back.
The description contains a 44-character base64 string.
What this check looks forMatched text
description: "...eadiness {"source":"83astBRguLMdt2h5U1Tpdq5tjFoJ6noeGwaY3mDLVcri","destination":"A1T..."
The description contains a 44-character base64 string.
What this check looks forMatched text
description: "...cri","destination":"A1TMhSGzQxMr1TboBKtgixKz1sS6REASMxPo1qsyTSJd","mint":"SOL","amou..."
The server marks "solana_transfer_readiness" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The name "solana_transfer_readiness" says "transfer": a word for a change that another call does not undo.
- Warnsolana_token
The description contains a 44-character base64 string.
What this check looks forMatched text
description: "...lana_token {"mint":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"}"
Tools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
16 tools
Can't be undone 2Claude Code: ask
solana_transfer_readinessWill this Solana transfer succeed?3 findings
Why it is in this group
- The name "solana_transfer_readiness" says "transfer": a word for a change that another call does not undo.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The description contains a 44-character base64 string.
What this check looks forMatched text
description: "...eadiness {"source":"83astBRguLMdt2h5U1Tpdq5tjFoJ6noeGwaY3mDLVcri","destination":"A1T..."
- Warn
The description contains a 44-character base64 string.
What this check looks forMatched text
description: "...cri","destination":"A1TMhSGzQxMr1TboBKtgixKz1sS6REASMxPo1qsyTSJd","mint":"SOL","amou..."
- Warn
The server marks "solana_transfer_readiness" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The name "solana_transfer_readiness" says "transfer": a word for a change that another call does not undo.
Description, as the server wrote it Will this Solana transfer succeed? A verdict for SOL or an SPL or Token-2022 token. When to use: Before building or signing a Solana transfer, to learn whether it will fail and what it will cost in rent and fees. Prefer another tool: Not a simulation of the exact transaction (no priority fee, no program logic), not a token price or holder lookup, and not a way to read raw accounts. Example: solana_transfer_readiness {"source":"83astBRguLMdt2h5U1Tpdq5tjFoJ6noeGwaY3mDLVcri","destination":"A1TMhSGzQxMr1TboBKtgixKz1sS6REASMxPo1qsyTSJd","mint":"SOL","amount":"0.5"}
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- destructiveHint: false
- openWorldHint: true
xrpl_payment_readinessPre-payment check: can this payment from source to destination succeed now?1 finding
Why it is in this group
- The name "xrpl_payment_readiness" says "payment": a word that usually means money moves, which cannot be taken back.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "xrpl_payment_readiness" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The name "xrpl_payment_readiness" says "payment": a word that usually means money moves, which cannot be taken back.
Description, as the server wrote it Pre-payment check: can this payment from source to destination succeed now? When to use: Right before sending a payment: to catch a missing or unfunded destination, a required destination tag, deposit authorization, missing or frozen trust lines, insufficient balance and issuer freezes, in one call. Prefer another tool: To find a multi-hop route or the source amount needed for a cross-currency payment (use the paths endpoint), or to list balances (use `/v1/xrpl/account/{address}/summary`). Example: xrpl_payment_readiness {"source":"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh","destination":"rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B"}
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- destructiveHint: false
- openWorldHint: true
Changes things 14Claude Code: ask
solana_latest_slotLatest finalized Solana slot and its block time.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Latest finalized Solana slot and its block time. When to use: To check how fresh the finalized view of Solana is, or to anchor a read to a slot. Prefer another tool: Not a tip-of-chain feed: it is finalized, not processed or confirmed, and it is cached for 2 seconds. Example: solana_latest_slot {}
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- destructiveHint: false
- openWorldHint: true
solana_network_healthWhether Solana data is currently being served: latest probe status and finalized slot.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Whether Solana data is currently being served: latest probe status and finalized slot. When to use: Before relying on the Solana verdict endpoints, or to explain a 503 from them. Prefer another tool: Not a measure of the Solana network itself, only of this service's access to it; use the latest-slot endpoint to see chain progress. Example: solana_network_health {}
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- destructiveHint: false
- openWorldHint: true
solana_tokenIs this Solana token safe to hold or receive?1 finding
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The description contains a 44-character base64 string.
What this check looks forMatched text
description: "...lana_token {"mint":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"}"
Description, as the server wrote it Is this Solana token safe to hold or receive? A SAFE, WARN or DANGER verdict. When to use: Before accepting or swapping into an unfamiliar token, to see whether its mint can freeze, mint more, move or tax balances. Prefer another tool: Not a price, liquidity or holder lookup and not an audit of the token's project; it reads only the mint account. Example: solana_token {"mint":"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"}
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- destructiveHint: false
- openWorldHint: true
xrpl_account_linesOne page of an account's trust lines, with an opaque cursor for the next page.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it One page of an account's trust lines, with an opaque cursor for the next page. When to use: To list every trust line of an account (balances, limits, freeze and authorization flags), page by page. Prefer another tool: For a quick capped overview with the XRP balance, use `/v1/xrpl/account/{address}/summary`; for issued totals of a token, use the token endpoint. Example: xrpl_account_lines {"address":"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"}
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- destructiveHint: false
- openWorldHint: true
xrpl_account_summaryXRP balance, sequence, owner count, transfer rate and trust lines (capped) for an account.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it XRP balance, sequence, owner count, transfer rate and trust lines (capped) for an account. When to use: To inspect an account before building a transaction for it. Prefer another tool: Not for transaction history, reserves or account flags; it is a summary, not a full account dump. Example: xrpl_account_summary {"address":"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"}
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- destructiveHint: false
- openWorldHint: true
xrpl_account_transactionsOne page of an account's most recent validated transactions, newest first.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it One page of an account's most recent validated transactions, newest first. When to use: To check what an account did recently (payments sent or received, offers, trust line changes) and whether each transaction succeeded. Prefer another tool: For balances and trust lines, use `/v1/xrpl/account/{address}/summary` or `/v1/xrpl/account/{address}/lines`; for full archival history, use a full-history node or indexer: history depth depends on the serving node and older pages may be slower. Example: xrpl_account_transactions {"address":"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"}
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- destructiveHint: false
- openWorldHint: true
xrpl_ammAMM pool reserves and trading fee for an asset pair.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it AMM pool reserves and trading fee for an asset pair. When to use: To read AMM pool depth and fee for a pair. Prefer another tool: It does not estimate slippage or compare venues (use the slippage page for the CLOB vs AMM comparison); a pair without a pool returns 404. Example: xrpl_amm {"a":"XRP","b":"USD.rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"}
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- destructiveHint: false
- openWorldHint: true
xrpl_feeCurrent XRPL fee tiers in drops with a congestion score.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Current XRPL fee tiers in drops with a congestion score. When to use: Before submitting a transaction, to choose a `Fee` and to decide whether the network is congested. Prefer another tool: Not a price feed and not a historical series; it describes the latest validated ledger only. Example: xrpl_fee {}
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- destructiveHint: false
- openWorldHint: true
xrpl_latest_ledgerLatest validated ledger index, hash and close time.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Latest validated ledger index, hash and close time. When to use: To anchor other readings to a ledger or to check how current the network view is. Prefer another tool: Not for transaction data or account state; use the account endpoint for those. Example: xrpl_latest_ledger {}
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- destructiveHint: false
- openWorldHint: true
xrpl_network_healthOverall and per-node health of the upstream XRPL nodes.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Overall and per-node health of the upstream XRPL nodes. When to use: To decide whether to trust or retry data, or to explain a 503 from another endpoint. Prefer another tool: Not a probe of your own connectivity; it reports the service's upstream nodes. Example: xrpl_network_health {}
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- destructiveHint: false
- openWorldHint: true
xrpl_orderbookCLOB order book for a currency pair with unfunded offers removed.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it CLOB order book for a currency pair with unfunded offers removed. When to use: To read executable liquidity for a pair on the XRPL central limit order book (CLOB). Prefer another tool: Not for AMM liquidity (use the amm page) and not for a cost estimate (use the slippage page). Example: xrpl_orderbook {"base":"XRP","quote":"USD.rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"}
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- destructiveHint: false
- openWorldHint: true
xrpl_pathsMulti-hop payment paths and their source cost.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Multi-hop payment paths and their source cost. When to use: Before a cross-currency or multi-hop payment: to see whether a route exists and how much the source would spend to deliver the amount. A call can take up to about 20 seconds and paths may be non-optimal. Prefer another tool: To check whether a direct payment can succeed (use `/v1/xrpl/payment-readiness`), or for the single-hop cost of a trade on one pair (use `/v1/xrpl/slippage`, which compares the order book and the AMM). Example: xrpl_paths {"source":"rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh","destination":"rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B","asset":"XRP","amount":"1"}
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- destructiveHint: false
- openWorldHint: true
xrpl_slippageSlippage and average price for buying an amount of base currency.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Slippage and average price for buying an amount of base currency. When to use: Before placing a market-style trade, to size it against available depth and to see whether the CLOB or the AMM pool is the cheaper venue. Prefer another tool: It is an estimate, not a quote, and it does not split an amount across venues or route through other pairs. To read pool reserves, use the amm page. Example: xrpl_slippage {"base":"XRP","quote":"USD.rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh","amount":"1000"}
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- destructiveHint: false
- openWorldHint: true
xrpl_tokenIssuer data for an issued asset: flags, domain, transfer fee and total issued.No findings
Why it is in this group
- Nothing in its name or description says what it does, so it is counted as a write.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Description, as the server wrote it Issuer data for an issued asset: flags, domain, transfer fee and total issued. When to use: Before accepting or sending an issued token: check that the issuer exists, is not frozen, whether holders need authorization, and the transfer fee charged on every transfer between non-issuer accounts. Prefer another tool: For XRP (not an issued asset; 400), for one account's own balances use `/v1/xrpl/account/{address}/lines`, and for prices use `/v1/xrpl/orderbook` or `/v1/xrpl/amm/{a}/{b}`. Example: xrpl_token {"asset":"USD.rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"}
Annotations the server declares
- readOnlyHint: true
- idempotentHint: true
- destructiveHint: false
- openWorldHint: true
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 0.19.2. Values in angle brackets are yours to fill in.
claude mcp add --transport http agent-apis https://api.criptonlabs.com/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [],
"ask": [
"mcp__agent-apis__xrpl_fee",
"mcp__agent-apis__xrpl_network_health",
"mcp__agent-apis__xrpl_orderbook",
"mcp__agent-apis__xrpl_slippage",
"mcp__agent-apis__xrpl_amm",
"mcp__agent-apis__xrpl_account_summary",
"mcp__agent-apis__xrpl_account_lines",
"mcp__agent-apis__xrpl_account_transactions",
"mcp__agent-apis__xrpl_token",
"mcp__agent-apis__xrpl_payment_readiness",
"mcp__agent-apis__xrpl_paths",
"mcp__agent-apis__xrpl_latest_ledger",
"mcp__agent-apis__solana_transfer_readiness",
"mcp__agent-apis__solana_token",
"mcp__agent-apis__solana_latest_slot",
"mcp__agent-apis__solana_network_health"
],
"deny": []
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as agent-apis. Review it before you use it.