XRPL MCP Service 使用说明

项目简介

XRPL MCP Service 是一个基于 Model Context Protocol (MCP) 构建的后端服务,旨在为大型语言模型 (LLM) 应用提供访问 XRP Ledger (XRPL) 区块链数据的标准化接口。通过该服务,LLM 可以便捷地查询 XRPL 上的账户信息、交易数据、NFT 资产以及进行去中心化交易等操作。

主要功能点

  • 账户信息查询: 获取 XRPL 账户的详细信息,包括余额、交易记录、信任线、NFT 持有情况等。
  • 去中心化交易 (DEX): 查询 XRPL 去中心化交易所的订单簿和市场价格信息。
  • NFT 操作: 查看账户持有的 NFT 资产信息。
  • 信任线和支付: 管理 XRPL 账户的信任线,查询支付通道和支付路径。
  • 系统信息: 获取 XRPL 服务器节点的状态和信息。
  • 交易提交: 提交已签名的 XRPL 交易。

安装步骤

  1. 创建 .env 配置文件: 在项目根目录下创建 '.env' 文件,并配置 XRPL 节点 URL。例如:

    XRPL_NODE_URL=https://xrplcluster.com

    你可以根据需要更换为其他的 XRPL 节点 URL。

  2. 安装依赖: 确保你的 Python 环境中已安装所需的依赖库。在命令行中执行以下命令:

    pip install xrpl-py fastapi uvicorn python-dotenv
  3. 启动服务器: 在命令行中导航到项目根目录,并执行以下命令启动 MCP 服务器:

    uvicorn src.xrpl_mcp.server:create_app --host 0.0.0.0 --port 8000 --reload

    服务器默认会在 'http://0.0.0.0:8000' 启动。 '--reload' 参数在开发阶段非常有用,它会在代码更改时自动重启服务器。

服务器配置

MCP 客户端需要配置以下信息才能连接到 XRPL MCP Service。请将以下 JSON 配置添加到 MCP 客户端的服务器配置中:

{
  "serverName": "xrpl-mcp-service",
  "command": "uvicorn",
  "args": [
    "src.xrpl_mcp.server:create_app",
    "--host",
    "0.0.0.0",
    "--port",
    "8000"
  ],
  "description": "XRPL MCP Service for accessing XRP Ledger data"
}

参数注释:

  • 'serverName': 服务器名称,可以自定义,用于在 MCP 客户端中标识该服务器。
  • 'command': 启动服务器的命令,这里使用 'uvicorn' 启动 FastAPI 应用。
  • 'args': 启动命令的参数列表:
    • '"src.xrpl_mcp.server:create_app"': 指定 FastAPI 应用入口点。
    • '"--host"': 指定服务器监听地址,'0.0.0.0' 表示监听所有网络接口。
    • '"0.0.0.0"': '--host' 参数的值。
    • '"--port"': 指定服务器监听端口。
    • '"8000"': '--port' 参数的值,服务器将在 8000 端口监听。

基本使用方法

MCP 客户端需要向服务器的 '/mcp/v1' 路径发送 POST 请求,请求体为 JSON 格式的 MCP 请求。以下是一些基本的使用示例:

获取账户信息:

POST /mcp/v1
Content-Type: application/json

{
  "type": "account_info",
  "params": {
    "account": "rsuUjfWxrACCAwGQDsNeZUhpzXf1n1NK5Z"
  }
}

服务器会返回包含账户信息的 JSON 响应。

获取服务器信息:

POST /mcp/v1
Content-Type: application/json

{
  "type": "server_info",
  "params": {}
}

服务器会返回包含 XRPL 服务器节点信息的 JSON 响应。

更多请求类型和参数,请参考仓库 'README.md' 文件中 "API Usage Examples" 部分,并根据 'src/xrpl_mcp/handlers.py' 文件中 'XRPLRequestHandler' 类的 'handlers' 字典定义进行调用。

健康检查: 可以通过访问服务器的 '/health' 路径进行健康检查,GET 请求即可。

GET /health

服务器会返回 JSON 格式的健康状态信息。

信息

分类

网页与API