Skip to main content
Glama
lgcarrier
by lgcarrier

XRPL MCP Server

An MCP server that gives AI assistants structured access to XRP Ledger data and network actions.

Requirements

  • Python 3.10 or newer

Related MCP server: Armor Crypto MCP

Features

  • Get account balances and sequence numbers

  • Query trust lines and issued currencies

  • View NFTs owned by an account

  • Retrieve account transaction history

  • Fetch individual transaction details

  • Inspect DEX order book offers

  • Retrieve XRPL server status

  • Submit signed transactions

Package Chooser

Pick the install target that matches how you plan to use the server.

Package

PyPI

Install

Use when

Published package

PyPI version

python -m pip install iflow-mcp_lgcarrier-xrpl-mcp-server

Recommended if you want the packaged CLI/server immediately and do not need an editable checkout.

Source checkout

python -m pip install -e ".[dev]"

You are developing in this repo, running tests, or using the local mcp dev / mcp install workflows below.

Quickstart

The quickstart below is the source-checkout path for local development and MCP registration. If you only need the published package, use the PyPI install command above.

python3 -m venv .venv
source .venv/bin/activate
python -m pip install -e ".[dev]"
mcp install src/xrpl_mcp_server/server.py:mcp --with-editable .

First prompt to try:

What is the XRP balance and sequence number for account rPT1Sjq2YGrBMTttX4GZHjKu9dyfzbpAYe?

Installation

From source

git clone https://github.com/lgcarrier/xrpl-mcp-server.git
cd xrpl-mcp-server
python3 -m venv .venv
source .venv/bin/activate
python -m pip install -e ".[dev]"

This installs the package in editable mode and includes the mcp CLI used for local development and Claude Desktop integration.

From PyPI

The published package name is different from the GitHub repository name.

python -m pip install iflow-mcp_lgcarrier-xrpl-mcp-server

Configuration

The server uses the following environment variable:

  • XRPL_NODE_URL: XRP Ledger JSON-RPC endpoint. Default: https://s1.ripple.com:51234/

Safety Note

By default, the server connects to Ripple's public mainnet endpoint. That means:

  • read-only tools query live mainnet data

  • submit_transaction submits a signed transaction to the live XRP Ledger network

Only use submit_transaction when you intend to broadcast a real signed transaction.

For testing, point the server to testnet before launching it:

export XRPL_NODE_URL="https://s.altnet.rippletest.net:51234/"
python -m xrpl_mcp_server

You can also install the Claude Desktop entry with the environment variable set:

mcp install src/xrpl_mcp_server/server.py:mcp --with-editable . \
  --env-var XRPL_NODE_URL=https://s.altnet.rippletest.net:51234/

Usage

Run directly from source

python -m xrpl_mcp_server

Run as an installed package

xrpl-mcp-server

Inspect locally with the MCP Inspector

mcp dev src/xrpl_mcp_server/server.py:mcp --with-editable .

Install into Claude Desktop

mcp install src/xrpl_mcp_server/server.py:mcp --with-editable .

If you prefer uv, the equivalent commands are uv run mcp dev ... and uv run mcp install ....

Available Tools

All tools keep their existing names and arguments. Successful calls return structured MCP outputs instead of plain text or JSON-encoded strings.

get_account_info

Parameters:

  • address (string): XRP Ledger account address

Returns a structured object with:

  • account

  • balance_drops

  • balance_xrp

  • sequence

get_account_lines

Parameters:

  • address (string): XRP Ledger account address

  • peer (string, optional): Counterparty account filter

  • limit (integer, optional): Maximum number of trust lines

Returns the XRPL account_lines result object.

get_account_nfts

Parameters:

  • address (string): XRP Ledger account address

  • limit (integer, optional): Maximum number of NFTs

Returns the XRPL account_nfts result object.

get_account_transactions

Parameters:

  • address (string): XRP Ledger account address

  • limit (integer, optional): Maximum number of transactions

  • binary (boolean, optional): Return transactions in binary form

  • forward (boolean, optional): Search forward through ledger history

Returns the XRPL account_tx result object.

get_server_info

Returns the XRPL server_info result object.

submit_transaction

Parameters:

  • tx_blob (string): Signed transaction blob in hex format

Returns the XRPL submit result object.

get_transaction_info

Parameters:

  • transaction_hash (string): Transaction hash

Returns the XRPL tx result object.

get_book_offers

Parameters:

  • taker_gets (object): Currency/issuer object the taker wants to receive

  • taker_pays (object): Currency/issuer object the taker wants to pay

  • limit (integer, optional): Maximum number of offers

Returns the XRPL book_offers result object.

Errors

Tool failures are returned as MCP tool errors rather than success payloads. Common cases include:

  • account lookups for missing addresses, such as actNotFound

  • transaction lookups for unknown hashes, such as txnNotFound

  • upstream XRPL request failures, including submission errors and transport exceptions

Example not-found error:

Account rMissingExampleAddress not found on the ledger.

Example submission error:

Submitting transaction failed: tefFAILURE: submission rejected

Examples

get_account_info

Prompt:

What is the balance of the XRP account rPT1Sjq2YGrBMTttX4GZHjKu9dyfzbpAYe?

Structured result:

{
  "account": "rPT1Sjq2YGrBMTttX4GZHjKu9dyfzbpAYe",
  "balance_drops": "25500000",
  "balance_xrp": "25.5",
  "sequence": 123456
}

get_account_transactions

Prompt:

Show me the two most recent transactions for rPT1Sjq2YGrBMTttX4GZHjKu9dyfzbpAYe.

Representative result shape:

{
  "account": "rPT1Sjq2YGrBMTttX4GZHjKu9dyfzbpAYe",
  "ledger_index_max": 98765432,
  "ledger_index_min": 98765400,
  "transactions": [
    {
      "tx": {
        "hash": "ABC123...",
        "TransactionType": "Payment"
      },
      "validated": true
    },
    {
      "tx": {
        "hash": "DEF456...",
        "TransactionType": "TrustSet"
      },
      "validated": true
    }
  ]
}

get_book_offers

Prompt:

Show me the first three book offers for XRP/USD on the XRPL DEX.

Representative result shape:

{
  "ledger_current_index": 98765432,
  "offers": [
    {
      "Account": "rOfferMaker1",
      "Sequence": 100,
      "quality": "0.5"
    },
    {
      "Account": "rOfferMaker2",
      "Sequence": 101,
      "quality": "0.51"
    }
  ]
}

Development

Run the test suite:

pytest

License

MIT License

-
security - not tested
F
license - not found
-
quality - not tested

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/lgcarrier/xrpl-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server