MultiversX MCP 服务器
使用说明(Markdown 格式)
- 项目简介
- 该仓库实现了一个基于 MCP 的服务端,核心职责是向 LLM 客户端暴露可读取的资源、可执行的工具、以及可渲染的 Prompt 模板,确保客户端通过标准化的接口进行交互。服务端提供两种传输模式:Stdio(在本地 Agent/桌面客户端场景使用)和 HTTP(对外服务/数据 feeds 等场景使用)。
- 内部实现包含:MCP 服务器注册大量工具、会话管理、UCP/ACP 兼容的发现与交互、HTTP 端点暴露谷歌商品 Feed、以及一组面向区块链的工具(如查询余额、发送代币/NFT、创建 NFT/Token、跟踪交易等)。
- 主要功能点
- MCP 服务器核心:注册并暴露大量工具(如查询余额、读取账户、代币转账、发行代币/NFT、批量转账等),并将工具结果统一封装为 MCP 能理解的 ToolResult 内容格式。
- 传输协议支持:默认以 MCP Stdio 运输进行本地交互,HTTP 模式提供 REST/HTTP 接入点、UCP manifest、健康检查以及 Google Shopping Feed 接口等。
- 资源与工具管理:工具名称、描述、参数模式及执行回调实现,全部通过类型化方式进行注册与调用,确保 MCP 客户端能够通过 JSON-RPC 请求调用工具。
- Prompts 与模板:支持可扩展的提示模板渲染与渲染结果返回。
- 安全与验证:会话管理、签名流程、以及对交易的构造与广播操作都遵循区块链交易的标准流程。
- 安装与运行
- 构建与安装:
- 将仓库克隆到本地
- 安装依赖并构建(通常使用 npm install 和 npm run build,构建输出在 dist 目录)
- 运行模式与入口:
- MCP STDIO(默认):直接在本地通过标准输入/输出驱动 MCP 客户端通信
- HTTP 模式:通过命令行参数指定 http 模式
- 例:node dist/index.js http
- 启动后端服务会暴露两种服务形式:Stdio 与 HTTP,客户端可以通过不同的传输通道接入。
- 服务器配置(MCP 客户端使用的配置信息,客户端无需修改服务端实现) { "server_name": "multiversx-mcp-server", "command": "node", "args": ["dist/index.js"], "description": "MultiversX MCP 服务端,用于提供资源、工具以及提示模板,支持 Stdio 与 HTTP 接入模式", "mode_options": [ "stdio": "默认模式,使用标准输入输出进行 MCP 通信", "http": "HTTP 模式,通过 HTTP 端点暴露 MCP 功能(如 /feed.json、/.well-known/ucp、健康接口等)" ] } 说明:
- 服务器名称应与实现中的 MCP 服务器名称保持一致(示例中为 multiversx-mcp-server)。
- command 与 args 定义了如何启动服务端(示例为 node dist/index.js,若使用源码开发环境也可为 ts-node 启动命令,但部署时通常使用编译后的 dist 版本)。
- 客户端通过该配置与服务器建立连接后,即可通过 MCP 的 JSON-RPC 调用来读取资源、执行工具、获取 Prompt 等。
- 基本使用方法
- 启动方式
- STDIO 模式:直接运行服务器的构建产物,服务器将通过标准输入/输出与 MCP 客户端进行交互。
- HTTP 模式:将服务器暴露为网络服务,MCP 客户端通过网络进行请求与响应。客户端需要知道服务器的公开地址和端点。
- 与 MCP 客户端对接的要点
- 客户端通过 MCP 的 JSON-RPC 请求发送对工具的调用、资源访问等请求,服务端返回标准化的 JSON-RPC 响应或通知。
- 服务端实现了工具注册、请求分发、以及对返回结果的统一封装,方便客户端进行进一步加工。
- 具体步骤
-
- 启动服务器,选择 stdio 或 HTTP 模式
-
- 客户端通过配置的 server_name 与传输方式连接服务器
-
- 使用 CallTool、ListTools 等 MCP 请求来调用具体工具,如 search_products、track_order 等
-
- 读取工具返回的 ToolResult 内容并展示给用户/LLM
-
- 运行前的注意事项
- 需要正确配置 MVX 相关的网络配置与钱包 PEM 文件(尤其涉及到需要签名交易的工具,如发行代币、创建 NFT、转账等工具)
- 安全性配置应妥善管理 PEM 文件及私钥,避免在公开环境中暴露
关键词 区块链后端, AI上下文, 工具执行, JSON-RPC, HTTP 服务
分类ID 6