返回市场
MCP-XRPL服务器

MCP-XRPL服务器

作者:RomThpt5 星标更新:2025-04-21

项目介绍

XRP账本模型上下文协议服务器

MCP服务器

许可证:MIT | XRPL网络 | TypeScript | xrpl.js

一个全面的模型上下文协议(MCP)服务器,为XRP账本生态系统提供区块链服务。此服务器使AI代理能够通过统一接口与XRPL主网、测试网和开发网进行交互。

📋 内容

🔭 概述

MCP XRPL服务器利用模型上下文协议为AI代理提供XRP账本服务。它支持广泛的服务,包括:

  • 阅读账本状态(余额、交易、账户信息等)
  • 与智能合约交互(通过挂钩)
  • 转移XRP和发行的代币
  • 查询代币元数据和余额
  • 管理去中心化标识符(DIDs)
  • 在XRPL上处理NFT
  • 自动市场制造(AMM)操作
  • 支付通道、托管和支票
  • 预言机数据操作
  • 信任线管理

所有服务都通过一致的MCP工具和资源界面暴露出来,使得AI代理可以轻松发现并使用XRPL功能。

✨ 特性

账户管理

  • 连接到XRPL网络(主网、测试网、开发网)
  • 获取账户信息
  • 管理账户属性
  • 存款预授权
  • 常规密钥管理

XRP和代币操作

  • 在账户之间转移XRP
  • 获取代币元数据(名称、符号、小数位数、供应量)
  • 检查代币余额
  • 在地址之间转移代币
  • 批准代币支出
  • 代币回收

NFT操作

  • 在XRP账本上铸造NFT
  • 查看NFT元数据
  • 验证NFT所有权
  • 在地址之间转移NFT
  • 获取NFT集合

去中心化标识符(DID)

  • 在XRPL上创建DIDs
  • 解析DIDs
  • 更新DID文档
  • 停用DIDs

AMM操作

  • 创建自动市场制造者
  • 向AMMs存入资金
  • 在AMMs上出价
  • 对AMM参数投票
  • 删除AMMs
  • 从AMMs中收回资产

支票操作

  • 创建支票
  • 兑现支票
  • 取消支票

提供/DEX操作

  • 创建报价
  • 取消报价

预言机操作

  • 设置预言机数据
  • 删除预言机数据

支付通道

  • 创建支付通道
  • 资助支付通道
  • 从支付通道中索赔

托管

  • 创建托管
  • 完成托管
  • 取消托管

信任线

  • 设置和管理信任线

票务

  • 为事务处理创建票据

🌐 支持的网络

  • 主网:生产XRP账本网络
  • 测试网:开发测试网络
  • 开发网:实验性功能开发网络

🛠️ 先决条件

  • Node.js 18.0.0或更高版本

📦 安装

# 克隆仓库
git clone https://github.com/yourusername/mcp-xrpl.git
cd mcp-xrpl

# 安装依赖
npm install

# 构建项目
npm run build

⚙️ 服务器配置

在项目根目录下创建一个.env文件,并添加以下变量:

# 可选:用于自动连接的XRPL钱包种子
# 如果未提供,您可以使用connect-to-xrpl工具进行连接
DEFAULT_SEED=sEdVoKkRRF8RsNYZ689NDeMyrijiCbg  # 示例 - 替换为您自己的或删除

# 网络选择(默认是"testnet")
XRPL_NETWORK=testnet  # 选项:mainnet, testnet, devnet

🚀 使用

启动服务器

# 以stdio模式启动服务器(适用于CLI工具)
npm start

连接到服务器

使用任何兼容MCP的客户端连接到此MCP服务器。对于测试和调试,您可以使用MCP Inspector。

📚 API参考

工具

服务器为代理提供了以下MCP工具:

账户管理

工具名称描述关键参数
connect-to-xrpl使用种子连接到XRP账本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铸造NFTprivateKey, uri, flags, network
get-nft-info获取NFT元数据tokenID, network
check-nft-ownership验证NFT所有权tokenID, ownerAddress, network
transfer-nft转移NFTprivateKey, tokenID, to, network
get-nft-collection获取集合中的NFTsaddress, network

DID操作

工具名称描述关键参数
create-did创建DIDprivateKey, data, network
resolve-did解析DIDdid, network
update-did更新DIDprivateKey, did, data, network
deactivate-did停用DIDprivateKey, did, network

AMM操作

工具名称描述关键参数
amm-create创建AMMprivateKey, 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删除AMMprivateKey, 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}/ownerNFT所有权信息

🔒 安全注意事项

  • 钱包种子仅用于交易签名,应保持安全
  • 考虑为生产用途实现额外的身份验证机制
  • 对于高价值服务,考虑增加确认步骤
  • 默认操作在测试网上执行,以确保开发期间的安全性
  • 使用环境变量进行敏感配置

📁 项目结构

mcp-xrpl/
├── src/
│   ├── core/                # 核心实用程序和服务
│   │   ├── constants.ts     # XRPL网络URL和其他常量
│   │   ├── state.ts         # 连接的钱包状态管理
│   │   ├── utils.ts         # 辅助函数
│   │   └── services/        # 服务模块
│   ├── server/              # MCP服务器实现
│   ├── transactions/        # XRPL事务实现
│   │   ├── token/           # 与代币相关的事务
│   │   ├── nft/             # 与NFT相关的事务
│   │   ├── did/             # 与DID相关的事务
│   │   ├── amm/             # 与AMM相关的事务
│   │   ├── check/           # 与支票相关的事务
│   │   ├── offer/           # 与报价相关的事务
│   │   ├── oracle/          # 与预言机相关的事务
│   │   ├── payment/         # 与支付相关的事务
│   │   ├── escrow/          # 与托管相关的事务
│   │   └── trust/           # 与信任线相关的事务
│   └── index.ts             # 入口点
├── build/                   # 编译后的JavaScript输出
├── package.json
├── package-lock.json
└── tsconfig.json

🛠️ 开发

添加新工具

要添加新工具:

  1. src/transactions/下的适当目录中创建一个新的TypeScript文件
  2. server/server.js导入服务器
  3. 使用server.tool()定义工具
  4. src/index.ts中导入工具

项目依赖

📄 许可证

本项目根据MIT许可证的条款发布。

⚠️ 免责声明

本软件仅供教育和开发目的使用。自行承担风险。在主网上使用真实XRP之前,请务必在测试网上进行全面测试。