关于 XRP Ledger Model Context Protocol Server
XRP Ledger Model Context Protocol Server 为 AI Agent 提供统一接口,用于查询和操作 XRP Ledger 的账户、代币、NFT、DID 等功能。它支持 MainNet、TestNet 和 DevNet,并通过 MCP 工具与资源开放账本服务。
主要功能
- 01支持 MainNet、TestNet 和 DevNet
- 02查询账户、账本与交易信息
- 03转账 XRP 和已发行代币
- 04管理 NFT 与 DID
- 05操作 AMM、托管和支付通道
适用场景
- 01查询账户余额与交易详情
- 02在 TestNet 测试代币或 NFT 操作
- 03管理 XRPL 上的 DID 和信任线
MCP 相关
它通过 MCP 工具和资源向客户端开放 XRPL 操作及数据查询,覆盖账户、交易、代币和 NFT 等内容。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
XRP Ledger 模型上下文协议服务
许可证:MIT | XRPL 网络 | TypeScript | xrpl.js
一款功能全面的模型上下文协议(MCP)服务,为 XRP Ledger 生态系统提供区块链服务。此服务可让 AI Agent 通过统一接口与 XRPL MainNet、TestNet 和 DevNet 交互。
📋 目录
🔭 概览
MCP XRPL 服务利用模型上下文协议,为 AI Agent 提供 XRP Ledger 服务。它支持多种服务,包括:
- 读取账本状态(余额、交易、账户信息等)
- 与智能合约交互(通过 Hooks)
- 转移 XRP 和已发行代币
- 查询代币元数据和余额
- 管理去中心化标识符(DID)
- 在 XRPL 上处理 NFT
- 自动做市商(AMM)操作
- 支付通道、托管和支票
- 预言机数据操作
- 信任线管理
所有服务均通过统一的 MCP 工具和资源接口提供,便于 AI Agent 发现并使用 XRPL 功能。
✨ 功能
账户管理
- 连接到 XRPL 网络(MainNet、TestNet、DevNet)
- 获取账户信息
- 管理账户属性
- 存款预授权
- 管理常规密钥
XRP 和代币操作
- 在账户间转移 XRP
- 获取代币元数据(名称、符号、小数位数、供应量)
- 查询代币余额
- 在地址间转移代币
- 批准代币支出
- 代币回收
NFT 操作
- 在 XRP Ledger 上铸造 NFT
- 查看 NFT 元数据
- 验证 NFT 所有权
- 在地址间转移 NFT
- 获取 NFT 集合
去中心化标识符(DID)
- 在 XRPL 上创建 DID
- 解析 DID
- 更新 DID 文档
- 停用 DID
AMM 操作
- 创建自动做市商
- 向 AMM 存款
- 在 AMM 上出价
- 对 AMM 参数投票
- 删除 AMM
- 从 AMM 中回收资产
支票操作
- 创建支票
- 兑现支票
- 取消支票
报价/DEX 操作
- 创建报价
- 取消报价
预言机操作
- 设置预言机数据
- 删除预言机数据
支付通道
- 创建支付通道
- 为支付通道注资
- 从支付通道中领取资金
托管
- 创建托管
- 完成托管
- 取消托管
信任线
- 设置和管理信任线
票据
- 创建用于交易处理的票据
🌐 支持的网络
- MainNet:XRP Ledger 生产网络
- TestNet:用于开发的测试网络
- DevNet:用于实验性功能的开发网络
🛠️ 前提条件
- Node.js 18.0.0 或更高版本
📦 安装
# Clone the repository
git clone https://github.com/yourusername/mcp-xrpl.git
cd mcp-xrpl
# Install dependencies
npm install
# Build the project
npm run build
⚙️ 服务配置
在项目根目录中创建 .env 文件,并添加以下变量:
# Optional: XRPL wallet seed for automatic connection
# If not provided, you can connect using the connect-to-xrpl tool
DEFAULT_SEED=sEdVoKkRRF8RsNYZ689NDeMyrijiCbg # Example - replace with your own or remove
# Network selection (default is "testnet")
XRPL_NETWORK=testnet # Options: mainnet, testnet, devnet
🚀 使用方法
启动服务
# Start the server in stdio mode (for CLI tools)
npm start
连接到服务
使用任何兼容 MCP 的客户端连接到此 MCP 服务。要进行测试和调试,可以使用 MCP Inspector。
📚 API 参考
工具
此服务为 Agent 提供以下 MCP 工具:
账户管理
| 工具名称 | 描述 | 关键参数 |
|---|---|---|
connect-to-xrpl | 使用种子连接到 XRP Ledger | seed, network |
get-account-info | 获取账户信息 | address, network |
delete-account | 删除 XRPL 账户 | privateKey, destination, network |
set-account-properties | 设置账户属性 | privateKey, properties, network |
deposit-preauth | 预授权存款 | privateKey, authorize, network |
set-regular-key | 为账户设置常规密钥 | privateKey, regularKey, network |
XRP 和代币操作
| 工具名称 | 描述 | 关键参数 |
|---|---|---|
transfer-xrp | 向账户发送 XRP | privateKey, to, amount, network |
get-token-metadata | 获取代币元数据 | tokenAddress, network |
check-token-balance | 检查代币余额 | tokenAddress, ownerAddress, network |
transfer-token | 转移代币 | privateKey, tokenAddress, to, amount, network |
approve-token-spending | 批准代币支出 | privateKey, tokenAddress, limit, network |
token-clawback | 收回代币 | privateKey, tokenAddress, from, amount, network |
NFT 操作
| 工具名称 | 描述 | 关键参数 |
|---|---|---|
nft-mint | 铸造 NFT | privateKey, uri, flags, network |
get-nft-info | 获取 NFT 元数据 | tokenID, network |
check-nft-ownership | 验证 NFT 所有权 | tokenID, ownerAddress, network |
transfer-nft | 转移 NFT | privateKey, tokenID, to, network |
get-nft-collection | 获取集合中的 NFT | address, network |
DID 操作
| 工具名称 | 描述 | 关键参数 |
|---|---|---|
create-did | 创建 DID | privateKey, data, network |
resolve-did | 解析 DID | did, network |
update-did | 更新 DID | privateKey, did, data, network |
deactivate-did | 停用 DID | privateKey, did, network |
AMM 操作
| 工具名称 | 描述 | 关键参数 |
|---|---|---|
amm-create | 创建 AMM | privateKey, assets, network |
amm-deposit | 存入 AMM | privateKey, ammID, assets, network |
amm-bid | 在 AMM 上出价 | privateKey, ammID, bid, network |
amm-vote | 对 AMM 参数投票 | privateKey, ammID, vote, network |
amm-delete | 删除 AMM | privateKey, ammID, network |
amm-clawback | 从 AMM 收回资产 | privateKey, ammID, assets, network |
资源
服务器通过以下 MCP 资源 URI 提供 XRPL 数据:
账本资源
| 资源 URI 模式 | 描述 |
|---|---|
xrpl://{network}/ledger/current | 当前账本信息 |
xrpl://{network}/ledger/{ledger_index} | 按索引查询账本 |
xrpl://{network}/account/{address} | 账户信息 |
xrpl://{network}/account/{address}/balance | 账户 XRP 余额 |
xrpl://{network}/tx/{tx_hash} | 交易详情 |
代币资源
| 资源 URI 模式 | 描述 |
|---|---|
xrpl://{network}/token/{currency}/{issuer} | 代币信息 |
xrpl://{network}/token/{currency}/{issuer}/balanceOf/{address} | 代币余额 |
xrpl://{network}/nft/{tokenID} | NFT 信息 |
xrpl://{network}/nft/{tokenID}/owner | NFT 所有权信息 |
🔒 安全注意事项
- 钱包种子仅用于交易签名,应妥善保管
- 考虑为生产环境使用添加额外的身份验证机制
- 对于高价值服务,考虑添加确认步骤
- 默认在 TestNet 上执行操作,以确保开发期间的安全
- 使用环境变量存储敏感配置
📁 项目结构
mcp-xrpl/
├── src/
│ ├── core/ # Core utilities and services
│ │ ├── constants.ts # XRPL network URLs and other constants
│ │ ├── state.ts # State management for connected wallet
│ │ ├── utils.ts # Helper functions
│ │ └── services/ # Service modules
│ ├── server/ # MCP server implementation
│ ├── transactions/ # XRPL transaction implementation
│ │ ├── token/ # Token-related transactions
│ │ ├── nft/ # NFT-related transactions
│ │ ├── did/ # DID-related transactions
│ │ ├── amm/ # AMM-related transactions
│ │ ├── check/ # Check-related transactions
│ │ ├── offer/ # Offer-related transactions
│ │ ├── oracle/ # Oracle-related transactions
│ │ ├── payment/ # Payment-related transactions
│ │ ├── escrow/ # Escrow-related transactions
│ │ └── trust/ # Trust line-related transactions
│ └── index.ts # Entry point
├── build/ # Compiled JavaScript output
├── package.json
├── package-lock.json
└── tsconfig.json
🛠️ 开发
添加新工具
添加新工具的步骤:
- 在
src/transactions/下的相应目录中创建新的 TypeScript 文件 - 从
server/server.js导入服务器 - 使用
server.tool()定义工具 - 在
src/index.ts中导入该工具
项目依赖项
@modelcontextprotocol/sdk:MCP SDKxrpl:XRP Ledger JavaScript/TypeScript APIdotenv:环境变量管理zod:TypeScript 优先的模式声明与验证
📄 许可证
本项目根据 MIT License 的条款授权。
⚠️ 免责声明
本软件仅用于教育和开发目的。使用风险自负。在使用真实 XRP 接入 Mainnet 之前,请务必在 Testnet 上进行充分测试。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。