Skip to main content

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

  1. Clone this repository:

    git clone https://github.com/lgcarrier/xrpl-mcp-server.git
    cd xrpl-mcp-server
    
  2. Create and activate a virtual environment:

    python -m venv venv
    source venv/bin/activate  # On Windows: venv\Scripts\activate
    
  3. Install dependencies:

    pip install -r requirements.txt
    

Using pip

pip install xrpl-mcp-server

Configuration

The server uses the following environment variables:

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

  1. Install the MCP:

    mcp install xrpl-mcp-server
    
  2. 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 results
  • limit (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 returned
  • binary (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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

iflow_mcp_lgcarrier_xrpl_mcp_server-0.1.0.tar.gz (5.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

File details

Details for the file iflow_mcp_lgcarrier_xrpl_mcp_server-0.1.0.tar.gz.

File metadata

File hashes

Hashes for iflow_mcp_lgcarrier_xrpl_mcp_server-0.1.0.tar.gz
Algorithm Hash digest
SHA256 9684e2c1d256df67ac141b2ccf99e7bf94ac3ab0481ff403405c0faec902b226
MD5 39be01e152ef87238b19b3d4c1ba4fc2
BLAKE2b-256 5438ca28d66dc784ca18f9c28750f0f9e4bf6e5fb6d30f95c487ec3d753c2258

See more details on using hashes here.

File details

Details for the file iflow_mcp_lgcarrier_xrpl_mcp_server-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for iflow_mcp_lgcarrier_xrpl_mcp_server-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 9ac1a38858d49913ac1a8ebf9866763a0693484d4ee89b05dbee38f558b7ef28
MD5 e3fa8ca6a6618d8601d6e8eae3d9bf4e
BLAKE2b-256 8812d423d93b23f54014a8aa44114e42e2800a4eea2be2dc72966b926b858a8a

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page