XRP Ledger Testnet MCP Server

XRP Ledger Testnet MCP Server

Enables AI systems to interact with the XRP Ledger Testnet, supporting XRP payments, token operations, NFTs, escrow, DEX trading, and more.

Category
访问服务器

README

XRP Ledger Testnet MCP Server

MBSS v3.0 Compliant - A comprehensive Model Context Protocol (MCP) server for XRP Ledger (XRPL) testnet integration with AI systems.

🎯 Quick Overview

  • Tool Count: 52 tools (25 MBSS mandatory + 27 XRP-specific)
  • Network: XRP Ledger Testnet (testnet-only server)
  • Architecture: MBSS v3.0 Unified Standard compliant
  • Test Coverage: 95%+ enforced with security & chaos testing
  • Help System: Interactive tool discovery and guidance
  • Performance: Production-ready with proper error handling

⚠️ Testnet Focus - Server is locked to XRP Ledger Testnet for safe development and testing.

🏗️ Server Architecture

graph TB
    A[AI Assistant] --> B[MCP Server]
    B --> C[XRP Ledger Client]
    C --> D[XRP Ledger Node]
    B --> E[Help System]
    B --> F[Tool Registry]
    E --> G[Tool Discovery]
    F --> H[Tool Execution]

    subgraph "Core Components"
        B
        E
        F
    end

    subgraph "External Services"
        C
        D
        G
        H
    end

Component Legend:

  • MCP Server: Main server handling MCP protocol
  • XRP Ledger Client: XRPL network interaction via WebSocket
  • XRP Ledger Node: Blockchain node for data queries
  • Help System: Interactive tool discovery and guidance
  • Tool Registry: Centralized tool metadata management

✨ Key Features

🔗 Core XRP Ledger Operations

  • Chain Information - Network statistics, health, and configuration details
  • Balance Queries - XRP balances with formatted and raw values
  • Transaction Lookup - Detailed transaction analysis with fee data
  • Block Information - Ledger data with transaction counts and timestamps
  • Address Validation - Format validation and network verification

💼 Wallet Management

  • Wallet Creation - Generate new wallets (development/testing only)
  • Wallet Import - Import from seed phrases or keys
  • Account Information - Comprehensive wallet details and settings
  • Balance Monitoring - Real-time balance tracking

🪙 Payment & DEX Operations

  • XRP Payments - Send XRP with path finding and fee estimation
  • DEX Trading - Order book management and trade execution
  • Fee Estimation - Smart fee calculation for different transaction types
  • Testnet Funding - Automated test XRP requests for development

AMM Operations (1 tool)

  • xrp_get_amm_info - Query AMM pool details ✅

Token/Currency Operations (4 tools)

  • xrp_create_trustline - Establish trust line for token ✅
  • xrp_remove_trustline - Remove trust line (set limit to 0) ✅
  • xrp_get_trustlines - Get all trustlines for account ✅
  • xrp_send_token - Send issued tokens ✅

Escrow Operations (4 tools)

  • xrp_create_escrow - Create time/conditional escrow ✅
  • xrp_finish_escrow - Complete escrow with fulfillment ✅
  • xrp_cancel_escrow - Cancel expired escrow ✅
  • xrp_get_escrows - List account escrows ✅

NFT Operations (6 tools)

  • xrp_mint_nft - Create NFT (basic) ✅
  • xrp_mint_nft_with_ipfs - Create NFT with IPFS storage (Pinata/Web3.Storage) ✅ 🆕
  • xrp_burn_nft - Destroy NFT ✅
  • xrp_create_nft_offer - Create sell/buy offers ✅
  • xrp_accept_nft_offer - Accept NFT offer ✅
  • xrp_get_nfts - List account NFTs ✅

AI & Assistant Utilities (2 tools)

  • xrp_get_conversation_guidance - Contextual prompts for guided agent flows ✅
  • xrp_generate_nft_image - IPFS-ready image generation helper for NFT minting ✅

Network & Ledger Operations (7 tools)

  • xrp_get_ledger - Ledger information ✅
  • xrp_get_transaction - Transaction details ✅
  • xrp_get_server_info - Network status ✅
  • xrp_get_ledger_entry - Get specific ledger entry ✅
  • xrp_get_account_objects - Get account-owned objects ✅
  • xrp_subscribe - Real-time ledger updates ✅
  • xrp_decode_transaction - Decode transaction blob ✅

Implementation Status

  • 40 tools fully implemented and tested
  • 🚀 All core XRPL features supported
  • 📝 Complete with examples and documentation

🚀 Installation

Prerequisites

  • Node.js: v18.0.0 or higher
  • npm: Latest stable version
  • Git: For cloning repository

Quick Start

# Clone the repository
git clone https://github.com/your-repo/xrp-testnet-mcp-server.git
cd xrp-testnet-mcp-server

# Install dependencies
npm install

# Build the server
npm run build

# Run with MCP Inspector for testing
npm run inspect

Configuration

Create a .env file in the root directory:

# Network Configuration
XRP_NETWORK=testnet
RPC_URL=wss://s.altnet.rippletest.net:51233
CHAIN_ID=NA

# Optional: IPFS configuration for NFT operations
PINATA_API_KEY=your_pinata_api_key
PINATA_SECRET_KEY=your_pinata_secret_key
IPFS_SERVICE=pinata

MCP Integration

Add to your Claude Desktop configuration (~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "xrp-testnet": {
      "command": "node",
      "args": ["/path/to/xrp-testnet-mcp-server/dist/index.js"],
      "cwd": "/path/to/xrp-testnet-mcp-server",
      "env": {
        "XRP_NETWORK": "testnet"
      }
    }
  }
}

Docker Support

# Build Docker image
docker build -t xrp-testnet-mcp-server .

# Run container
docker run -p 3000:3000 xrp-testnet-mcp-server

📖 Usage Examples

Basic Operations

Get Network Information

{
  "tool": "xrp_get_chain_info",
  "arguments": {}
}

Check Balance

{
  "tool": "xrp_get_balance",
  "arguments": {
    "address": "rN7n7otQDd6FczFgLdSqtcsAUxDkw6fzRH"
  }
}

Create Wallet (Development Only)

{
  "tool": "xrp_create_wallet",
  "arguments": {}
}

Advanced Workflows

Complete Transaction Flow

  1. Check balance:
{
  "tool": "xrp_get_balance",
  "arguments": {
    "address": "rN7n7otQDd6FczFgLdSqtcsAUxDkw6fzRH"
  }
}
  1. Send payment:
{
  "tool": "xrp_send_transaction",
  "arguments": {
    "to": "rB7ASwFaJ2ryXUDUN8ViiVWba1ikXcqFxB",
    "amount": "10",
    "seed": "your_wallet_seed"
  }
}

AI Integration Examples

Claude Desktop Integration

{
  "tool": "xrp_help",
  "arguments": {
    "topic": "balance_queries"
  }
}

Tool Discovery

{
  "tool": "xrp_search_tools",
  "arguments": {
    "query": "balance"
  }
}

🛠️ Complete Tool Reference

MBSS v3.0 Core Tools (25 Mandatory)

1. xrp_get_chain_info

Get comprehensive XRP Ledger network information.

Purpose: Network health, statistics, and configuration details

Parameters: None

Returns:

{
  "network": "string",
  "ledgerVersion": "number",
  "fee": "string",
  "reserves": "object",
  "validatedLedger": "object",
  "serverInfo": "object"
}

2. xrp_get_balance

Get XRP balance for an address.

Purpose: Query account balances with formatted and raw values

Parameters:

  • address (string, required): XRP Ledger address

Returns:

{
  "address": "string",
  "balance": "string",
  "balanceRaw": "string",
  "symbol": "XRP",
  "reserves": "string"
}

3. xrp_get_transaction

Get detailed transaction information by hash.

Purpose: Transaction analysis with fee and validation data

Parameters:

  • hash (string, required): Transaction hash

Returns:

{
  "hash": "string",
  "validated": "boolean",
  "ledgerIndex": "number",
  "account": "string",
  "destination": "string",
  "amount": "string",
  "fee": "string",
  "meta": "object"
}

XRP-Specific Tools (29 Additional)

NFT Operations (6 tools)

  • xrp_mint_nft: Create basic NFT
  • xrp_mint_nft_with_ipfs: Create NFT with IPFS storage
  • xrp_burn_nft: Destroy NFT
  • xrp_create_nft_offer: Create sell/buy offers
  • xrp_accept_nft_offer: Accept NFT offer
  • xrp_get_nfts: List account NFTs

Token/Currency Operations (4 tools)

  • xrp_create_trustline: Establish trust line for token
  • xrp_remove_trustline: Remove trust line
  • xrp_get_trustlines: Get all trustlines for account
  • xrp_send_token: Send issued tokens

Escrow Operations (4 tools)

  • xrp_create_escrow: Create time/conditional escrow
  • xrp_finish_escrow: Complete escrow with fulfillment
  • xrp_cancel_escrow: Cancel expired escrow
  • xrp_get_escrows: List account escrows

DEX & AMM Operations (5 tools)

  • xrp_place_order: Create buy/sell orders
  • xrp_cancel_order: Cancel existing orders
  • xrp_get_orderbook: Get order book data
  • xrp_get_order_history: Get trading history
  • xrp_get_amm_info: Query AMM pool details

Network & Ledger Operations (7 tools)

  • xrp_get_ledger: Ledger information
  • xrp_get_server_info: Network status
  • xrp_get_ledger_entry: Get specific ledger entry
  • xrp_get_account_objects: Get account-owned objects
  • xrp_subscribe: Real-time ledger updates
  • xrp_decode_transaction: Decode transaction blob
  • xrp_request_faucet: Request testnet XRP

AI & Assistant Utilities (2 tools)

  • xrp_get_conversation_guidance: Contextual prompts for guided flows
  • xrp_generate_nft_image: IPFS-ready image generation helper

Account & Wallet Management (1 additional)

  • xrp_get_account_info: Comprehensive account details

🌐 Supported Networks

Primary Network

  • XRP Ledger Testnet (Chain ID: N/A)
    • Purpose: Primary XRP Ledger test network for development and testing
    • Block Time: ~3-5 seconds
    • Consensus: Ripple Protocol Consensus Algorithm (RPCA)
    • Native Token: XRP (Ripple)

Additional Networks

  • XRP Ledger Devnet: Alternative testing network with controlled features

Testnet Faucets

  • Official XRPL Faucet: https://faucet.altnet.rippletest.net/
  • XRPL Dev Portal: https://xrpl.org/xrp-testnet-faucet.html

RPC Endpoints

  • Primary: wss://s.altnet.rippletest.net:51233
  • Backup: wss://testnet.xrpl-labs.com
  • WebSocket: wss://s.altnet.rippletest.net:51233

Environment Variables

  • XRP_NETWORK - Set to testnet or devnet (defaults to testnet)
  • PINATA_API_KEY - Pinata API key for IPFS uploads
  • PINATA_SECRET_KEY - Pinata secret key for IPFS uploads
  • IPFS_SERVICE - IPFS service to use (pinata | web3Storage | nftStorage)

Testnet Resources

  • Testnet Explorer: https://testnet.xrpl.org/
  • Testnet WebSocket: wss://s.altnet.rippletest.net:51233
  • Devnet Explorer: https://devnet.xrpl.org/
  • XRPL Dev Tools: https://xrpl.org/dev-tools.html

IPFS Integration for NFTs 🆕

The server now supports decentralized NFT storage via IPFS using Pinata, Web3.Storage, or NFT.Storage.

Setting up IPFS Storage

  1. Get a Pinata Account (Recommended)

    • Sign up at pinata.cloud
    • Get 1GB free storage (50% off with code NFTSTORAGE50)
    • Create API keys in dashboard
  2. Configure Environment

    # .env file
    PINATA_API_KEY=your_api_key
    PINATA_SECRET_KEY=your_secret_key
    IPFS_SERVICE=pinata
    
  3. Use the Enhanced NFT Tool

    // Tool #37: xrp_mint_nft_with_ipfs
    {
      "seed": "your_wallet_seed",
      "name": "My NFT",
      "description": "NFT with IPFS storage",
      "imageUrl": "https://example.com/image.jpg",
      "attributes": [
        { "trait_type": "Rarity", "value": "Legendary" }
      ],
      "flags": 8,  // 8 = transferable
      "transferFee": 1000  // 1% royalty
    }
    

IPFS Benefits

  • ✅ Permanent, decentralized storage
  • ✅ No single point of failure
  • ✅ Content-addressed (tamper-proof)
  • ✅ Globally accessible via any IPFS gateway
  • ✅ Metadata and images stored separately

Conversational Usage Examples

Example 1: Quick NFT with Stock Image

User: "Create an NFT called 'Majestic Eagle' with a bald eagle image"

Assistant: "I'll create that NFT for you. Let me use a stock image of a bald eagle:"

// Uses Unsplash or similar stock photo
await xrp_mint_nft_with_ipfs({
  seed: "your_wallet_seed",
  name: "Majestic Eagle",
  description: "A powerful bald eagle soaring through the sky",
  imageUrl: "https://images.unsplash.com/photo-[eagle-id]",
  attributes: [
    { trait_type: "Species", value: "Bald Eagle" },
    { trait_type: "Rarity", value: "Legendary" }
  ]
})

Example 2: NFT with Your Own Image

User: "I have an image at https://mysite.com/art.jpg - make it an NFT with cool metadata"

Assistant: "I'll mint that as an NFT with enhanced metadata:"

await xrp_mint_nft_with_ipfs({
  seed: "your_wallet_seed",
  name: "Custom Artwork",
  imageUrl: "https://mysite.com/art.jpg",
  // Auto-generates rich metadata
})

Example 3: Detailed NFT Request

User: "Create an NFT of a cyberpunk dragon with these traits: Element=Fire, Rarity=Mythic, Power=9000"

Assistant: "I'll create that NFT with all specified traits:"

  • Finds appropriate dragon image from stock photos
  • Uploads to IPFS via Pinata
  • Creates metadata with all traits
  • Mints on XRP Ledger
  • Returns IPFS links and transaction hash

Image Sources

  1. Stock Photo APIs (current):

    • Unsplash: Free, high-quality photos
    • Pexels: Free stock photos
    • Pixabay: Free images and illustrations
  2. User-Provided URLs:

    • Any public image URL
    • Cloud storage links (Dropbox, Google Drive public links)
    • IPFS URLs (already decentralized)
  3. Future Enhancements:

    • AI image generation (DALL-E, Stable Diffusion)
    • Direct file uploads
    • Image search integration

Tool Documentation

xrp_get_account_info

Query account details and balances on testnet.

Parameters:

  • address (string): XRP Ledger address

Example:

{
  "address": "rN7n7otQDd6FczFgLdSqtcsAUxDkw6fzRH"
}

xrp_send_payment

Send XRP or tokens on testnet.

Parameters:

  • destination (string): Recipient address
  • amount (string): Amount to send
  • currency (string, optional): Currency code (default: XRP)

Example:

{
  "destination": "rN7n7otQDd6FczFgLdSqtcsAUxDkw6fzRH",
  "amount": "10",
  "currency": "XRP"
}

xrp_place_order

Create buy/sell orders on the testnet DEX.

Parameters:

  • side (string): "buy" or "sell"
  • amount (string): Order amount
  • price (string): Order price
  • pair (string): Trading pair

Example:

{
  "side": "buy",
  "amount": "100",
  "price": "0.5",
  "pair": "USD/XRP"
}

For complete tool documentation with parameters and examples, use the MCP Inspector or refer to the source code.

XRP Ledger Testnet Advantages

  • Native DEX Testing: Test the world's oldest DEX operating since 2012
  • Native AMM: Test protocol-level automated market makers
  • Built-in Escrow: Test time-based and conditional escrow without smart contracts
  • Payment Channels: Test micropayment infrastructure for high-frequency transactions
  • Fast Settlement: 3-5 seconds for rapid development iteration
  • Low Fees: Fraction of a cent per transaction (even lower on testnet)
  • Energy Efficient: Minimal environmental impact for extensive testing
  • Multi-signing: Test native multi-signature support

Testnet Native Features

Unlike Ethereum-based chains that require smart contracts, XRPL testnet provides:

  • Built-in DEX with auto-bridging for comprehensive testing
  • Native AMM functionality without external protocols
  • Escrow system without contract deployment
  • Payment channels for micropayment testing
  • Multi-signature transactions for security testing
  • Token issuance and management with native commands

Testnet Security & Development

⚠️ TESTNET WARNINGS:

  • No Real Value: Testnet tokens have no monetary value
  • Network Resets: Testnet may be reset, wiping all data
  • Experimental Features: Latest features may be unstable
  • Rate Limits: Testnet servers may have stricter rate limits

Development Best Practices

  • Test All Features: Thoroughly test DEX, AMM, and escrow functionality
  • Account Management: Test both funded and unfunded account scenarios
  • Transaction Fees: Monitor fee escalation during network stress
  • Sequence Numbers: Test transaction ordering and ticket usage
  • Trust Lines: Test token issuance and trust relationships

Development

# Development mode
npm run dev

# Build TypeScript
npm run build

# Run tests
npm test

Technical Details

  • Language: TypeScript
  • Framework: xrpl.js v4.4.0
  • Architecture: MCP Server Protocol
  • Networks: Testnet/Devnet support
  • Performance: 1,500 TPS, 3-5 second settlement
  • Consensus: Unique consensus algorithm (not PoW or PoS)
  • Environment: Testnet/Development only

🔒 Security & Best Practices

⚠️ Critical Security Notes

  • Testnet Only: This server is configured for XRP Ledger testnet only
  • No Private Key Storage: Server never stores private keys or seeds
  • Development Tools: Wallet creation tools are for development/testing only
  • Network Verification: Always verify network before transactions

🛡️ Security Features

  • Input Validation: All inputs validated with Zod schemas
  • Error Sanitization: Error messages don't expose sensitive data
  • Rate Limiting: Built-in rate limiting protection
  • Multi-network Isolation: Testnet/devnet/mainnet environment separation
  • Security Testing: Comprehensive injection and XSS protection
  • Chaos Testing: Fault tolerance and failure recovery testing
  • Private Key Protection: No private key storage or logging

📋 Best Practices

  1. Test First: Always test transactions on testnet
  2. Verify Addresses: Double-check recipient addresses
  3. Fee Management: Monitor transaction fees and reserves
  4. Backup Recovery: Keep wallet seeds secure
  5. Network Selection: Use appropriate network for your use case

🚨 Security Warnings

  • Private Key Exposure: Never share or log private keys or seeds
  • Faucet Limits: Testnet faucets have rate limits
  • Transaction Confirmation: Wait for ledger validation before considering transactions final
  • Trust Line Risks: Verify issuer addresses before creating trust lines

🔧 Troubleshooting

Common Issues

Connection Problems

Problem: "Failed to connect to XRP Ledger" Solution:

  • Verify WebSocket URL in environment variables
  • Check network connectivity
  • Try alternative XRP Ledger nodes
  • Ensure testnet node is accessible

Tool Not Found

Problem: "Unknown tool: xrp_tool_name" Solution:

  • Verify tool name spelling
  • Check MBSS naming convention
  • Use xrp_help for tool discovery
  • Update MCP server configuration

Balance Returns Zero

Problem: "Balance shows 0 for valid address" Solution:

  • Verify address format and network
  • Check if address is activated (20 XRP reserve)
  • Use testnet faucet if needed
  • Wait for ledger synchronization

Account Not Found

Problem: "Account not found error" Solution:

  • Account may not be activated
  • Fund account with at least 20 XRP
  • Use xrp_request_faucet for testnet XRP
  • Verify address format

Error Messages

  • Invalid address format: Check address format and network
  • Account not activated: Fund account with minimum reserve (20 XRP)
  • Insufficient XRP balance: Add funds to wallet or use faucet
  • Trust line not found: Create trust line before token operations
  • Fee exceeds available balance: Ensure sufficient XRP for transaction fees

Getting Help

  1. Use xrp_help for interactive assistance
  2. Use xrp_search_tools to find relevant tools
  3. Check this README for examples
  4. Review error logs in server output

🏗️ Technical Architecture

System Components

  • Language: TypeScript with strict type checking
  • Framework: Model Context Protocol (MCP) SDK
  • Validation: Zod schema validation for all inputs
  • Testing: Jest with 95%+ coverage, security & chaos tests
  • Build System: TypeScript compiler with ES2022 target
  • Architecture: MBSS v3.0 compliant modular design

Dependencies

{
  "@modelcontextprotocol/sdk": "^1.0.0",
  "zod": "^3.22.0",
  "xrpl": "^4.4.0",
  "axios": "^1.7.0",
  "uuid": "^10.0.0"
}

File Structure

src/
├── index.ts              # Main server entry point
├── client.ts             # XRP Ledger client abstraction
├── constants.ts          # Configuration constants
├── logger.ts             # MBSS-compliant logging
├── types.ts              # TypeScript type definitions
├── tools/                # Organized tool modules
│   ├── core/             # MBSS v3.0 mandatory tools (25)
│   ├── wallet/           # Wallet management tools
│   ├── tokens/           # Token operations
│   ├── nft/              # NFT operations
│   ├── escrow/           # Escrow operations
│   ├── dex/              # DEX trading tools
│   ├── amm/              # AMM operations
│   ├── advanced/         # Advanced features
│   ├── special/          # AI utilities
│   └── help/             # Help system tools
└── utils/                # Shared utilities

Performance Characteristics

  • Response Time: <5 seconds for standard operations
  • Concurrent Requests: Up to 10 simultaneous requests
  • Memory Usage: ~50MB base + ~10MB per active connection
  • Network: Optimized WebSocket connections with reconnection
  • Test Coverage: 95%+ enforced with comprehensive testing
  • Security: Input validation, injection protection, chaos testing
  • Ledger Settlement: 3-5 seconds for transaction validation
  • Consensus: Unique RPCA algorithm (not PoW or PoS)

License

MIT

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选