XRPL MCP Server
Provides read-only access to the XRP Ledger, enabling querying of accounts, transactions, NFTs, DEX order books, and ledger state on Mainnet, Testnet, and Devnet.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@XRPL MCP Server get balance for rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
XRPL MCP Server
A Model Context Protocol (MCP) server that provides read-only access to the XRP Ledger. Query accounts, transactions, NFTs, DEX order books, and more.
Features
Account Operations: Get account info, balances, trust lines, transaction history
Transaction Lookup: Retrieve detailed transaction information by hash
Ledger Data: Query ledger state and server information
NFT Support: List account NFTs and get NFT details
DEX Integration: View account offers and order books
Multi-Network: Supports Mainnet, Testnet, and Devnet
Related MCP server: onchain-mcp
Installation
git clone https://github.com/esonica/mcp_xrpl.git
cd mcp_xrpl
npm install
npm run buildConfiguration
Claude Desktop
Add to your Claude Desktop configuration file:
Windows: %APPDATA%\Claude\claude_desktop_config.json
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"xrpl": {
"command": "node",
"args": ["C:/path/to/mcp_xrpl/build/index.js"]
}
}
}Claude Code
Add to your Claude Code MCP settings (.claude/settings.json):
{
"mcpServers": {
"xrpl": {
"command": "node",
"args": ["C:/path/to/mcp_xrpl/build/index.js"]
}
}
}Network Selection
All tools accept an optional network parameter:
Network | Description | WebSocket URL |
| Production XRP Ledger (default) | wss://xrplcluster.com |
| Test network with test XRP | wss://s.altnet.rippletest.net:51233 |
| Development network | wss://s.devnet.rippletest.net:51233 |
Tools Reference
Account Tools
get_account_info
Get detailed information about an XRPL account including balance, sequence number, and flags.
Parameter | Type | Required | Description |
| string | Yes | The XRPL account address (starts with r) |
| string | No | Network to query: |
Example:
{
"account": "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"network": "mainnet"
}Returns: Account balance (in drops), sequence number, flags, owner count, and other account settings.
get_account_lines
Get trust lines (token balances) for an XRPL account. Shows all issued currencies the account holds.
Parameter | Type | Required | Description |
| string | Yes | The XRPL account address (starts with r) |
| string | No | Filter to trust lines with this specific issuer |
| number | No | Maximum number of trust lines to return (default: 200) |
| string | No | Network to query: |
Example:
{
"account": "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"limit": 50
}Returns: Array of trust lines with currency code, balance, limit, and issuer for each.
get_account_currencies
Get a list of currencies an account can send or receive.
Parameter | Type | Required | Description |
| string | Yes | The XRPL account address (starts with r) |
| string | No | Network to query: |
Example:
{
"account": "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"
}Returns: Lists of send_currencies and receive_currencies.
get_account_transactions
Get transaction history for an XRPL account.
Parameter | Type | Required | Description |
| string | Yes | The XRPL account address (starts with r) |
| number | No | Maximum transactions to return (default: 20) |
| boolean | No | If true, return oldest first (default: false, newest first) |
| string | No | Network to query: |
Example:
{
"account": "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"limit": 10,
"forward": false
}Returns: Array of transactions with full transaction details and metadata.
Transaction Tools
get_transaction
Get detailed information about a specific transaction by its hash.
Parameter | Type | Required | Description |
| string | Yes | The transaction hash (64 character hex string) |
| boolean | No | If true, return as binary blob (default: false) |
| string | No | Network to query: |
Example:
{
"transaction_hash": "E08D6E9754025BA2534A78707605E0601F03ACE063687A0CA1BCCABD0B9C4226"
}Returns: Full transaction details including type, accounts involved, amounts, and result.
Ledger Tools
get_ledger
Get information about a specific ledger or the latest validated ledger.
Parameter | Type | Required | Description |
| string | No | Ledger index or |
| boolean | No | Include transaction hashes (default: false) |
| boolean | No | Include full transaction details (default: false) |
| string | No | Network to query: |
Example:
{
"ledger_index": "validated",
"transactions": true
}Returns: Ledger header info including hash, close time, transaction count, and state hash.
get_server_info
Get information about the XRPL server/node including its current state and sync status.
Parameter | Type | Required | Description |
| string | No | Network to query: |
Example:
{
"network": "testnet"
}Returns: Server version, uptime, validated ledger range, peer count, and sync state.
ping
Ping the XRPL server to check connectivity and measure response time.
Parameter | Type | Required | Description |
| string | No | Network to ping: |
Example:
{
"network": "mainnet"
}Returns: Connection status, response time in milliseconds, and network info.
NFT Tools
get_account_nfts
Get all NFTs (Non-Fungible Tokens) owned by an XRPL account.
Parameter | Type | Required | Description |
| string | Yes | The XRPL account address (starts with r) |
| number | No | Maximum NFTs to return (default: 100) |
| string | No | Network to query: |
Example:
{
"account": "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
"limit": 50
}Returns: Array of NFTs with NFT ID, issuer, serial number, URI, and flags.
get_nft_info
Get detailed information about a specific NFT by its NFT ID.
Parameter | Type | Required | Description |
| string | Yes | The NFT ID (64 character hex string) |
| string | No | Network to query: |
Example:
{
"nft_id": "00081388DC1AB4937C899037B2FDFC3CB20F6F64E73120BB5F8AA66A00000228"
}Returns: NFT details including owner, issuer, taxon, serial, URI, and flags.
DEX Tools
get_account_offers
Get all open DEX (Decentralized Exchange) offers for an XRPL account.
Parameter | Type | Required | Description |
| string | Yes | The XRPL account address (starts with r) |
| number | No | Maximum offers to return (default: 200) |
| string | No | Network to query: |
Example:
{
"account": "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh"
}Returns: Array of open offers with taker_gets, taker_pays, sequence, and quality.
get_order_book
Get the order book for a currency pair on the XRPL DEX.
Parameter | Type | Required | Description |
| string | Yes | Base currency code (e.g., "XRP", "USD") |
| string | No | Issuer for base currency (not needed for XRP) |
| string | Yes | Quote currency code (e.g., "XRP", "USD") |
| string | No | Issuer for quote currency (not needed for XRP) |
| number | No | Maximum offers per side (default: 20) |
| string | No | Network to query: |
Example - XRP/USD order book:
{
"base_currency": "XRP",
"quote_currency": "USD",
"quote_issuer": "rhub8VRN55s94qWKDv6jmDy1pUykJzF3wq",
"limit": 10
}Example - USD/EUR order book:
{
"base_currency": "USD",
"base_issuer": "rhub8VRN55s94qWKDv6jmDy1pUykJzF3wq",
"quote_currency": "EUR",
"quote_issuer": "rhub8VRN55s94qWKDv6jmDy1pUykJzF3wq"
}Returns: Object with asks and bids arrays containing order book offers.
Common Issuers
Here are some well-known token issuers on XRPL mainnet:
Issuer | Address | Tokens |
Bitstamp |
| USD, BTC, EUR |
GateHub |
| USD, EUR, GBP |
Development
# Install dependencies
npm install
# Build
npm run build
# Watch mode (rebuild on changes)
npm run devLicense
MIT
Available Tools
12 toolsget_account_currenciesA
Get a list of currencies an account can send or receive
Inputs: account (required), network.
get_account_infoA
Get detailed information about an XRPL account including balance, sequence number, and flags
Inputs: account (required), network.
get_account_linesA
Get trust lines (token balances) for an XRPL account. Shows all tokens the account holds or can receive.
Inputs: account (required), peer, limit, network.
get_account_nftsB
Get all NFTs (Non-Fungible Tokens) owned by an XRPL account
Inputs: account (required), limit, network.
get_account_offersB
Get all open DEX (Decentralized Exchange) offers for an XRPL account
Inputs: account (required), limit, network.
get_account_transactionsC
Get transaction history for an XRPL account
Inputs: account (required), limit, forward, network.
get_ledgerB
Get information about a specific ledger or the latest validated ledger
Inputs: expand, network, ledger_index, transactions.
get_nft_infoA
Get detailed information about a specific NFT by its NFT ID
Inputs: nft_id (required), network.
get_order_bookA
Get the order book for a currency pair on the XRPL DEX. Shows current buy and sell offers.
Inputs: base_currency (required), quote_currency (required), limit, network, +2 more.
get_server_infoA
Get information about the XRPL server/node including its current state, version, and sync status
Inputs: network.
get_transactionA
Get detailed information about a specific transaction by its hash
Inputs: transaction_hash (required), binary, network.
pingA
Ping the XRPL server to check connectivity and measure response time
Inputs: network.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 12 tools
Each tool targets a distinct resource or aspect of XRPL, from account info to NFTs to order books. There is no overlap or ambiguity between tools.
All tools follow a snake_case get_<resource> pattern with the sole exception of ping, which is a minor deviation. The naming is otherwise highly consistent and predictable.
With 12 tools covering accounts, transactions, NFTs, DEX, ledger, and server state, the count is well-scoped for a query-focused XRPL server and feels neither sparse nor bloated.
The tool set provides broad read access to XRPL data but lacks any write or transaction submission capabilities, such as sending payments or creating offers. This is a notable gap if the server is intended for full lifecycle management, though it may be acceptable for a read-only explorer.
Maintenance
Related MCP Connectors
Read-only XRP Ledger token-risk, issuer-authenticity and wallet-security checks.
Read public AT Protocol profiles, records, threads, backlinks and lexicons. No API key required.
Read-only market and on-chain data for Bitcoin, Ethereum and more; on-chain from our own nodes.
Read-only THORChain swap quotes, liquidity pools, and network status.
Related MCP Servers
- AlicenseBqualityDmaintenanceProvides access to Mina blockchain data, enabling queries for events, actions, and network state information through a standardized interface.35 npmMIT
- AlicenseAqualityDmaintenanceProvides read-only access to Solana on-chain data, enabling natural language queries for wallet balances, token holdings, prices, transactions, and more via MCP-compatible clients.8MIT

Tegro Wallet MCPofficial
AlicenseAqualityCmaintenanceProvides read-only, real-time access to TON blockchain data including wallet balances, token holdings, transactions, prices, NFTs, DNS resolution, and address validation, without requiring private keys.846 npmMIT- AlicenseNot gradedqualityBmaintenanceRead-only XRP Ledger analytics — signed snapshots, AMM pools, token volume, whale activity, NFT tracking. Proof-annotated. Public beta 2026-09.MIT