Skip to main content
Glama

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 build

Configuration

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

mainnet

Production XRP Ledger (default)

wss://xrplcluster.com

testnet

Test network with test XRP

wss://s.altnet.rippletest.net:51233

devnet

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

account

string

Yes

The XRPL account address (starts with r)

network

string

No

Network to query: mainnet, testnet, or devnet

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

account

string

Yes

The XRPL account address (starts with r)

peer

string

No

Filter to trust lines with this specific issuer

limit

number

No

Maximum number of trust lines to return (default: 200)

network

string

No

Network to query: mainnet, testnet, or devnet

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

account

string

Yes

The XRPL account address (starts with r)

network

string

No

Network to query: mainnet, testnet, or devnet

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

account

string

Yes

The XRPL account address (starts with r)

limit

number

No

Maximum transactions to return (default: 20)

forward

boolean

No

If true, return oldest first (default: false, newest first)

network

string

No

Network to query: mainnet, testnet, or devnet

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

transaction_hash

string

Yes

The transaction hash (64 character hex string)

binary

boolean

No

If true, return as binary blob (default: false)

network

string

No

Network to query: mainnet, testnet, or devnet

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

ledger_index

string

No

Ledger index or validated, closed, current (default: validated)

transactions

boolean

No

Include transaction hashes (default: false)

expand

boolean

No

Include full transaction details (default: false)

network

string

No

Network to query: mainnet, testnet, or devnet

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

network

string

No

Network to query: mainnet, testnet, or devnet

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

network

string

No

Network to ping: mainnet, testnet, or devnet

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

account

string

Yes

The XRPL account address (starts with r)

limit

number

No

Maximum NFTs to return (default: 100)

network

string

No

Network to query: mainnet, testnet, or devnet

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

nft_id

string

Yes

The NFT ID (64 character hex string)

network

string

No

Network to query: mainnet, testnet, or devnet

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

account

string

Yes

The XRPL account address (starts with r)

limit

number

No

Maximum offers to return (default: 200)

network

string

No

Network to query: mainnet, testnet, or devnet

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

base_currency

string

Yes

Base currency code (e.g., "XRP", "USD")

base_issuer

string

No

Issuer for base currency (not needed for XRP)

quote_currency

string

Yes

Quote currency code (e.g., "XRP", "USD")

quote_issuer

string

No

Issuer for quote currency (not needed for XRP)

limit

number

No

Maximum offers per side (default: 20)

network

string

No

Network to query: mainnet, testnet, or devnet

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

rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B

USD, BTC, EUR

GateHub

rhub8VRN55s94qWKDv6jmDy1pUykJzF3wq

USD, EUR, GBP


Development

# Install dependencies
npm install

# Build
npm run build

# Watch mode (rebuild on changes)
npm run dev

License

MIT

Available Tools

12 tools
get_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

    A3.6/5.0

    Scored across 12 tools

    Disambiguation5/5

    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.

    Naming Consistency4/5

    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.

    Tool Count5/5

    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.

    Completeness3/5

    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

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers

    • A
      license
      A
      quality
      D
      maintenance
      Provides 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.
      8
      MIT
    • A
      license
      A
      quality
      C
      maintenance
      Provides 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.
      8
      46 npm
      MIT