Connects to Ripple's XRP Ledger network to retrieve server information, account data, and enable transaction submission through a standardized API interface.
Provides tools for interacting with the XRP Ledger, allowing retrieval of account information, querying trust lines and issued currencies, viewing NFTs, accessing transaction history, retrieving order book data, and submitting transactions.
Click on "Install 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 Serverwhat's the balance of account rPT1Sjq2YGrBMTttX4GZHjKu9dyfzbpAYe?"
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
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 |
| Recommended if you want the packaged CLI/server immediately and do not need an editable checkout. | |
Source checkout | — |
| You are developing in this repo, running tests, or using the local |
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-serverConfiguration
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_transactionsubmits 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_serverYou 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_serverRun as an installed package
xrpl-mcp-serverInspect 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:
accountbalance_dropsbalance_xrpsequence
get_account_lines
Parameters:
address(string): XRP Ledger account addresspeer(string, optional): Counterparty account filterlimit(integer, optional): Maximum number of trust lines
Returns the XRPL account_lines result object.
get_account_nfts
Parameters:
address(string): XRP Ledger account addresslimit(integer, optional): Maximum number of NFTs
Returns the XRPL account_nfts result object.
get_account_transactions
Parameters:
address(string): XRP Ledger account addresslimit(integer, optional): Maximum number of transactionsbinary(boolean, optional): Return transactions in binary formforward(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 receivetaker_pays(object): Currency/issuer object the taker wants to paylimit(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
actNotFoundtransaction lookups for unknown hashes, such as
txnNotFoundupstream 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 rejectedExamples
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:
pytestLicense
MIT License
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.