Cover image
Try Now
2025-02-01

An MCP server implementation for interacting with the XRP Ledger blockchain

3 years

Works with Finder

1

Github Watches

2

Github Forks

2

Github Stars

XRPL MCP Service

smithery badge

A Model Context Protocol (MCP) server providing comprehensive access to the XRP Ledger (XRPL). This service enables AI models to interact with XRPL through standardized endpoints.

Features

Account Information

  • xrpl_account_info - Basic account details
  • xrpl_account_balances - XRP and token balances (human-readable)
  • xrpl_account_lines - Trust lines
  • xrpl_account_offers - Active trading offers
  • xrpl_account_nfts - NFT holdings
  • xrpl_account_tx - Transaction history

Decentralized Exchange

  • xrpl_order_book - View order book for currency pairs
  • xrpl_market_price - Get current market prices
  • xrpl_amm_info - Automated Market Maker information

NFT Operations

  • xrpl_nft_offers - View NFT buy/sell offers

Trust Lines & Payments

  • xrpl_set_trust_line - Establish new trust lines
  • xrpl_remove_trust_line - Remove existing trust lines
  • xrpl_payment_channels - Payment channel information
  • xrpl_find_path - Payment path finding
  • xrpl_deposit_auth - Check payment authorization

System

  • xrpl_server_info - Node status and information
  • xrpl_submit_tx - Submit signed transactions

Setup

  1. Create a .env file:
XRPL_NODE_URL=https://xrplcluster.com
  1. Install dependencies:
pip install xrpl-py fastapi uvicorn python-dotenv
  1. Run the server:
uvicorn main:app --host 0.0.0.0 --port 8000 --reload

API Usage Examples

Get Account Info

POST /call-tool/xrpl_account_info
{
  "account": "rsuUjfWxrACCAwGQDsNeZUhpzXf1n1NK5Z"
}

Get Account Balances

POST /call-tool/xrpl_account_balances
{
  "account": "rsuUjfWxrACCAwGQDsNeZUhpzXf1n1NK5Z"
}

Set Trust Line

POST /call-tool/xrpl_set_trust_line
{
  "wallet_seed": "sXXXXXXXXXXXXXXXXXXXX",
  "currency": "USD",
  "issuer": "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B",
  "limit": "1000"
}

Get AMM Info

POST /call-tool/xrpl_amm_info
{
  "asset": {
    "currency": "XRP"
  },
  "asset2": {
    "currency": "USD",
    "issuer": "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B"
  }
}

Get Market Price

POST /call-tool/xrpl_market_price
{
  "base_currency": {
    "currency": "XRP"
  },
  "quote_currency": {
    "currency": "USD",
    "issuer": "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B"
  }
}

Project Structure

├── main.py              # FastAPI application entry point
├── tools/
│   ├── __init__.py
│   ├── register_tools.py # Tool registration
│   └── xrpl_tools.py    # XRPL endpoint implementations

Key Components

  1. xrpl_tools.py

    • Core XRPL interaction functions
    • Async implementation with event loop handling
    • Error handling and response formatting
  2. register_tools.py

    • MCP tool registration
    • Endpoint mapping and configuration

Future Enhancements

  1. AMM (Liquidity Pool) Operations

    • Create pools
    • Add/remove liquidity
    • Vote on pool parameters
  2. Advanced Trading

    • Create/cancel offers
    • Automated trading functions
    • Price alerts
  3. NFT Operations

    • Mint NFTs
    • Create/accept offers
    • Collection management

Common Issues

  1. Async Event Loop: If you see "asyncio.run() cannot be called from a running event loop", check the async implementation in xrpl_tools.py

  2. Rate Limiting: Consider implementing rate limiting for production use

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Implement your changes
  4. Submit a pull request

Important Notes

  • Always use "validated" ledger for production
  • Secure wallet seeds and private keys
  • Monitor transaction fees
  • Test thoroughly on testnet first

Resources

License

MIT

相关推荐

  • NiKole Maxwell
  • I craft unique cereal names, stories, and ridiculously cute Cereal Baby images.

  • Bora Yalcin
  • Evaluator for marketplace product descriptions, checks for relevancy and keyword stuffing.

  • Joshua Armstrong
  • Confidential guide on numerology and astrology, based of GG33 Public information

  • https://suefel.com
  • Latest advice and best practices for custom GPT development.

  • Callycode Limited
  • A geek-themed horoscope generator blending Bitcoin prices, tech jargon, and astrological whimsy.

  • Emmet Halm
  • Converts Figma frames into front-end code for various mobile frameworks.

  • Khalid kalib
  • Write professional emails

  • Elijah Ng Shi Yi
  • Advanced software engineer GPT that excels through nailing the basics.

  • https://maiplestudio.com
  • Find Exhibitors, Speakers and more

  • Lists Tailwind CSS classes in monospaced font

  • apappascs
  • Discover the most comprehensive and up-to-date collection of MCP servers in the market. This repository serves as a centralized hub, offering an extensive catalog of open-source and proprietary MCP servers, complete with features, documentation links, and contributors.

  • ShrimpingIt
  • Micropython I2C-based manipulation of the MCP series GPIO expander, derived from Adafruit_MCP230xx

  • OffchainLabs
  • Go implementation of Ethereum proof of stake

  • huahuayu
  • A unified API gateway for integrating multiple etherscan-like blockchain explorer APIs with Model Context Protocol (MCP) support for AI assistants.

  • deemkeen
  • control your mbot2 with a power combo: mqtt+mcp+llm

    Reviews

    3 (1)
    Avatar
    user_ppT5FbiN
    2025-04-16

    As a dedicated user of the xrpl-mcp-service by tedlikeskix, I must say it has truly revolutionized my workflow. The seamless integration and comprehensive documentation make it incredibly user-friendly. The support for multiple languages is a notable advantage, catering to a diverse user base. Overall, it's a robust and reliable service that I'd highly recommend to anyone working with XRP ledger projects.