XRPL MCP Server

XRPL MCP Server

Provides read-only access to the XRP Ledger for querying accounts, transactions, NFTs, DEX order books, and more.

Category
Visit Server

README

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

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

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured