M

MCP-XRPL (XRP账本集成服务器)

@RomThpt/mcp-xrpl
0 Stars 359 次浏览 RomThpt 更新于 2026-08-23

提供与XRP账本集成的CP服务器。该服务器允许AI助手访问XRP账本上的账户信息、交易历史和网络数据,具备查询账本对象、提交交易和监控网络的功能。

该服务暂未提供标准配置,请参考 README 手动接入

服务介绍

XRP Ledger 模型上下文协议服务器

MCP Server

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

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

📋 目录

🔭 概述

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

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

所有服务都通过 MCP 工具和资源的一致接口暴露,使 AI 代理能够轻松发现和使用 XRPL 功能。

✨ 功能

账户管理

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

XRP 和代币操作

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

NFT 操作

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

去中心化标识符 (DID)

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

AMM 操作

  • 创建自动做市商
  • 向 AMMs 存款
  • 在 AMMs 上出价
  • 对 AMM 参数投票
  • 删除 AMMs
  • 从 AMMs 回收资产

支票操作

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

报价/DEX 操作

  • 创建报价
  • 取消报价

预言机操作

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

支付通道

  • 创建支付通道
  • 为支付通道注资
  • 从支付通道中认领

托管

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

信任线

  • 设置和管理信任线

票务


-   创建交易处理工单

## 🌐 支持的网络

-   **MainNet**: 生产环境 XRP Ledger 网络
-   **TestNet**: 用于开发的测试网络
-   **DevNet**: 用于实验性功能的开发网络

## 🛠️ 前提条件

-   Node.js 18.0.0 或更高版本

## 📦 安装

#0



## ⚙️ 服务器配置

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

#1



## 🚀 使用方法

### 启动服务器

#2



### 连接到服务器

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

## 📚 API 参考

### 工具

服务器为代理提供了以下 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 操作的具体内容,因此此处保持空白)

| 工具名称             | 描述              | 关键参数                   |
| --------------------- | ------------------------ | -------------------------------- |
| `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`  | 获取集合中的 NFTs | 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 上执行,以确保开发过程中的安全性
-   使用环境变量来管理敏感配置

## 📁 项目结构

#3



## 🛠️ 开发

### 添加新工具

要添加新工具:

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

### 项目依赖

-   [`@modelcontextprotocol/sdk`](https://www.npmjs.com/package/@modelcontextprotocol/sdk): MCP SDK
-   [`xrpl`](https://www.npmjs.com/package/xrpl): XRP 分类账 JavaScript/TypeScript API
-   [`dotenv`](https://www.npmjs.com/package/dotenv): 环境变量管理
-   [`zod`](https://www.npmjs.com/package/zod): 优先使用 TypeScript 的模式声明和验证

## 📄 许可证

本项目根据 MIT 许可证的条款进行许可。

## ⚠️ 免责声明

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

相关 MCP 服务