xrpl mcp

by RomThpt
Verified
MIT License
3
  • Linux
  • Apple

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Integrations

  • Used for environment variable management and configuration, allowing the server to securely store sensitive data like wallet seeds and network selection.

  • Serves as the runtime environment for the MCP server, with version 18.0.0 or higher required as a prerequisite.

  • Implementation language for the MCP server, providing type safety and modern language features.

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

许可证:MIT | XRPL Networks | TypeScript | xrpl.js

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

📋 内容

🔭 概述

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

  • 读取账本状态(余额、交易、账户信息等)
  • 与智能合约交互(通过 Hooks)
  • 转移 XRP 和发行的代币
  • 查询代币元数据和余额
  • 管理去中心化标识符 (DID)
  • 在 XRPL 上使用 NFT
  • 自动做市商(AMM)操作
  • 支付渠道、托管和支票
  • Oracle数据操作
  • Trustline 管理

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

✨ 特点

账户管理

  • 连接到 XRPL 网络(MainNet、TestNet、DevNet)
  • 账户信息检索
  • 账户财产管理
  • 存款预授权
  • 定期密钥管理

XRP 和代币操作

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

NFT 操作

  • XRP 账本上的 Mint NFT
  • 查看 NFT 元数据
  • 验证 NFT 所有权
  • 在地址之间转移 NFT
  • 获取 NFT 收藏品

去中心化标识符(DID)

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

AMM 操作

  • 创建自动化做市商
  • 向AMM存款
  • 在 AMM 上进行投标
  • 对 AMM 参数进行投票
  • 删除 AMM
  • 从AMM收回资产

检查操作

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

报价/DEX 操作

  • 创建优惠
  • 取消优惠

Oracle 操作

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

支付渠道

  • 创建支付渠道
  • 资金支付渠道
  • 通过支付渠道索赔

第三方托管

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

信任线

  • 设置和管理信任线

售票处

  • 创建交易处理的票据

🌐 支持的网络

  • 主网:生产XRP账本网络
  • 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 参考

工具

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

账户管理

工具名称描述关键参数
connect-to-xrpl使用种子连接到 XRP 账本种子、网络
get-account-info获取账户信息地址、网络
delete-account删除XRPL账户私钥、目的地、网络
set-account-properties设置帐户属性私钥、属性、网络
deposit-preauth预授权存款私钥,授权,网络
set-regular-key为帐户设置常规密钥私钥、常规密钥、网络

XRP 和代币操作

工具名称描述关键参数
transfer-xrp将 XRP 发送到账户私钥,到,金额,网络
get-token-metadata获取令牌元数据代币地址,网络
check-token-balance检查代币余额代币地址、所有者地址、网络
transfer-token转移代币私钥,tokenAddress,token数量,网络
approve-token-spending批准代币支出私钥、token地址、限制、网络
token-clawback追回代币私钥、token地址、来源、金额、网络

NFT 操作

工具名称描述关键参数
nft-mint铸造 NFT私钥、uri、标志、网络
get-nft-info获取 NFT 元数据代币ID,网络
check-nft-ownership验证 NFT 所有权代币ID、所有者地址、网络
transfer-nft转移NFTprivateKey,tokenID,到,网络
get-nft-collection获取收藏中的 NFT地址、网络

DID 操作

工具名称描述关键参数
create-did创建 DID私钥、数据、网络
resolve-did解决 DID确实,网络
update-did更新 DID私钥,did,数据,网络
deactivate-did停用 DID私钥,did,网络

AMM 操作

工具名称描述关键参数
amm-create创建AMM私钥、资产、网络
amm-deposit向AMM存款私钥、ammID、资产、网络
amm-bid在 AMM 上进行投标私钥、ammID、出价、网络
amm-vote对 AMM 参数进行投票私钥、ammID、投票、网络
amm-delete删除 AMM私钥、ammID、网络
amm-clawback从AMM收回资产私钥、ammID、资产、网络

资源

服务器通过以下 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/ # 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

🛠️ 开发

添加新工具

要添加新工具:

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

项目依赖关系

📄 许可证

该项目根据 MIT 许可条款进行授权。

⚠️ 免责声明

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

ID: aifp64y484