mcpField
X
XRPL MCP Server

XRPL MCP Server

Local
github.com/lgcarrierFinance11Updated 31w ago

About XRPL MCP Server

XRPL MCP Server exposes XRP Ledger account, transaction, NFT, currency, and DEX data, plus signed transaction submission, to AI assistants. It is for applications that need structured XRPL queries and network actions through MCP.

Key features

  1. 01Account balances and sequence numbers
  2. 02Trust lines and issued currencies
  3. 03Owned NFTs and transaction history
  4. 04Transaction details and DEX offers
  5. 05XRPL server status
  6. 06Submit signed transactions

Use cases

  1. 01Check an account’s XRP balance
  2. 02Review account transactions and NFTs
  3. 03Inspect XRPL DEX order book offers
  4. 04Broadcast a signed transaction

MCP support

It exposes XRPL queries and transaction submission as structured tools for MCP clients. The default endpoint is Ripple’s public mainnet; `XRPL_NODE_URL` can point to another endpoint.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

No install method listed yet

We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.

Repository

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

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

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.

PackagePyPIInstallUse when
Published packagePyPI versionpython -m pip install iflow-mcp_lgcarrier-xrpl-mcp-serverRecommended 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

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.