Provides comprehensive access to the XRP Ledger (XRPL) through various endpoints including account information, decentralized exchange functionality, NFT operations, trust lines & payments, and system operations.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@xrpl-mcp-serviceget account balances for rsuUjfWxrACCAwGQDsNeZUhpzXf1n1NK5Z"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
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 detailsxrpl_account_balances- XRP and token balances (human-readable)xrpl_account_lines- Trust linesxrpl_account_offers- Active trading offersxrpl_account_nfts- NFT holdingsxrpl_account_tx- Transaction history
Decentralized Exchange
xrpl_order_book- View order book for currency pairsxrpl_market_price- Get current market pricesxrpl_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 linesxrpl_remove_trust_line- Remove existing trust linesxrpl_payment_channels- Payment channel informationxrpl_find_path- Payment path findingxrpl_deposit_auth- Check payment authorization
System
xrpl_server_info- Node status and informationxrpl_submit_tx- Submit signed transactions
Related MCP server: @lex-tools/codebase-context-dumper
Setup
Create a
.envfile:
XRPL_NODE_URL=https://xrplcluster.comInstall dependencies:
pip install xrpl-py fastapi uvicorn python-dotenvRun the server:
uvicorn main:app --host 0.0.0.0 --port 8000 --reloadAPI 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 implementationsKey Components
xrpl_tools.py
Core XRPL interaction functions
Async implementation with event loop handling
Error handling and response formatting
register_tools.py
MCP tool registration
Endpoint mapping and configuration
Future Enhancements
AMM (Liquidity Pool) Operations
Create pools
Add/remove liquidity
Vote on pool parameters
Advanced Trading
Create/cancel offers
Automated trading functions
Price alerts
NFT Operations
Mint NFTs
Create/accept offers
Collection management
Common Issues
Async Event Loop: If you see "asyncio.run() cannot be called from a running event loop", check the async implementation in xrpl_tools.py
Rate Limiting: Consider implementing rate limiting for production use
Contributing
Fork the repository
Create a feature branch
Implement your changes
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