A Model Context Protocol (MCP) server for the XRP Ledger
Project description
XRPL MCP Server
A Model Context Protocol (MCP) server that provides AI models with access to XRP Ledger data and functionality.
Overview
XRPL MCP Server acts as a bridge between large language models (LLMs) like Claude and GPT and the XRP Ledger. It enables AI models to retrieve account information from the XRP Ledger through a standardized API interface.
Features
- Get account information (balance, sequence number)
- Query trust lines and issued currencies
- View NFTs owned by accounts
- Retrieve transaction history
- Access order book data from the DEX
- Submit signed transactions to the network
- Get server status information
- Reliable XRP Ledger data access through MCP
- Easy integration with MCP-compatible AI applications
Installation
From Source
-
Clone this repository:
git clone https://github.com/lgcarrier/xrpl-mcp-server.git cd xrpl-mcp-server -
Create and activate a virtual environment:
python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate -
Install dependencies:
pip install -r requirements.txt
Using pip
pip install xrpl-mcp-server
Configuration
The server uses the following environment variables:
XRPL_NODE_URL- XRP Ledger node URL (defaults to "https://s1.ripple.com:51234/")
Usage
Run from Source
Launch the server:
python -m xrpl_mcp_server
Run as Installed Package
xrpl-mcp-server
Using with Claude or Other MCP-Compatible AI Assistants
-
Install the MCP:
mcp install xrpl-mcp-server -
The XRPL tools will be available to Claude, allowing you to ask for XRP Ledger account information.
Available Tools
get_account_info
Retrieves information about an XRP Ledger account.
Parameters:
address(string): The XRP Ledger account address (starts with "r")
Returns:
- Account balance in XRP
- Account sequence number
get_account_lines
Retrieves trust lines for an XRP Ledger account.
Parameters:
address(string): The XRP Ledger account address (starts with "r")peer(string, optional): Address of a counterparty account to filter resultslimit(integer, optional): Limit for the number of trust lines returned
Returns:
- JSON-formatted information about the account's trust lines
get_account_nfts
Retrieves NFTs owned by an XRP Ledger account.
Parameters:
address(string): The XRP Ledger account address (starts with "r")limit(integer, optional): Limit for the number of NFTs returned
Returns:
- JSON-formatted information about the account's NFTs
get_account_transactions
Retrieves transaction history for an XRP Ledger account.
Parameters:
address(string): The XRP Ledger account address (starts with "r")limit(integer, optional): Limit for the number of transactions returnedbinary(boolean, optional): Flag to return transactions in binary format (default False)forward(boolean, optional): Flag to search forward in ledger history (default False)
Returns:
- JSON-formatted information about the account's transaction history
get_server_info
Retrieves information about the connected XRP Ledger server.
Parameters:
- None
Returns:
- JSON-formatted information about the XRP Ledger server
submit_transaction
Submits a signed transaction blob to the XRP Ledger.
Parameters:
tx_blob(string): The signed transaction blob in hexadecimal format
Returns:
- JSON-formatted submission result
get_transaction_info
Retrieves information about a specific transaction.
Parameters:
transaction_hash(string): The hash of the transaction
Returns:
- JSON-formatted transaction details
get_book_offers
Retrieves order book offers for a currency pair on the DEX.
Parameters:
taker_gets(object): Currency the taker wants to receive, e.g.,{"currency": "XRP"}or{"currency": "USD", "issuer": "r..."}taker_pays(object): Currency the taker wants to pay, e.g.,{"currency": "EUR", "issuer": "r..."}or{"currency": "XRP"}limit(integer, optional): Limit for the number of offers returned
Returns:
- JSON-formatted order book offers
Examples
Ask Claude:
What is the balance of the XRP account rPT1Sjq2YGrBMTttX4GZHjKu9dyfzbpAYe?
Claude can then use the get_account_info tool to fetch this information directly from the XRP Ledger.
Example response:
Account: rPT1Sjq2YGrBMTttX4GZHjKu9dyfzbpAYe
XRP Balance: 25.5
Sequence: 123456
Here's another example:
What NFTs does account rPT1Sjq2YGrBMTttX4GZHjKu9dyfzbpAYe own?
Claude can use the get_account_nfts tool to retrieve this information.
Development
See the memory-bank directory for detailed documentation about architecture, coding rules, and implementation plans.
To set up the development environment:
pip install -e ".[dev]"
License
MIT License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file iflow_mcp_lgcarrier_xrpl_mcp_server-0.1.0.tar.gz.
File metadata
- Download URL: iflow_mcp_lgcarrier_xrpl_mcp_server-0.1.0.tar.gz
- Upload date:
- Size: 5.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.7.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9684e2c1d256df67ac141b2ccf99e7bf94ac3ab0481ff403405c0faec902b226
|
|
| MD5 |
39be01e152ef87238b19b3d4c1ba4fc2
|
|
| BLAKE2b-256 |
5438ca28d66dc784ca18f9c28750f0f9e4bf6e5fb6d30f95c487ec3d753c2258
|
File details
Details for the file iflow_mcp_lgcarrier_xrpl_mcp_server-0.1.0-py3-none-any.whl.
File metadata
- Download URL: iflow_mcp_lgcarrier_xrpl_mcp_server-0.1.0-py3-none-any.whl
- Upload date:
- Size: 6.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.7.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9ac1a38858d49913ac1a8ebf9866763a0693484d4ee89b05dbee38f558b7ef28
|
|
| MD5 |
e3fa8ca6a6618d8601d6e8eae3d9bf4e
|
|
| BLAKE2b-256 |
8812d423d93b23f54014a8aa44114e42e2800a4eea2be2dc72966b926b858a8a
|