XRPL MCP Service

by tedlikeskix

306 downloads
Not rated
GitHub

About

An MCP server implementation for interacting with the XRP Ledger blockchain

Details

Author
tedlikeskix
Downloads
306
Categories
Other

- Retrieve account info, balances, trust lines, offers, NFTs, and transaction history
- View order books, market prices, and AMM information
- Manage trust lines and payment channels
- Find payment paths and check deposit authorization
- Submit signed transactions to the XRPL

Configure the server by setting the XRPL_NODE_URL environment variable in a .env file (default: https://xrplcluster.com). Install dependencies with pip install xrpl-py fastapi uvicorn python-dotenv, then run the server with uvicorn main:app --host 0.0.0.0 --port 8000 --reload. Make HTTP POST requests to endpoints like /call-tool/xrpl_account_info with the required JSON parameters.

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

2. Install dependencies:

pip install xrpl-py fastapi uvicorn python-dotenv

3. 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

- XRPL Documentation
- MCP Protocol Docs
- FastAPI Documentation

License

MIT

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.