Skip to main content
Glama

XRPL MCP Service

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

Related MCP server: XTBApiServer

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

-
security - not tested
F
license - not found
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/tedlikeskix/xrpl-mcp-service'

If you have feedback or need assistance with the MCP directory API, please join our Discord server