镜像节点 MCP 服务器
一个与Hedera测试网镜像节点API对接的服务器,它将OpenAPI定义的端点转换为通过服务器发送事件(SSE)访问的MCP兼容工具。
服务介绍
Hedera Testnet Mirror Node MCP 服务器
本仓库包含一个与 Hedera 测试网镜像节点 API 接口的 Model Context Protocol (MCP) 服务器。
该服务器使用 FastMCP 构建,这是一个用于创建 MCP 服务器的 TypeScript 框架。
它利用 Zod 模式进行输入验证。
特性
- 端点集成:自动将定义为 OpenAPI 规范格式的 Hedera 镜像节点 API 转换为与 MCP 兼容的工具。
- 服务器发送事件 (SSE) 支持:客户端不能通过 SSE 传输连接到此 MCP 服务器。
- 模式验证:使用 Zod 确保请求参数符合定义的模式。
前提条件
在运行服务器之前,请确保已安装以下内容:
- Bun 或任何其他可以直接运行 TypeScript 的环境。
安装
(1) 克隆仓库
git clone https://github.com/hedera-dev/mirrornode-mcp-server
(2) 进入项目目录
cd mirrornode-mcp-server
(3) 安装依赖项
npm install
使用方法
要启动 MCP 服务器:
bun mcpServer.ts
成功启动后,您应该会看到:
MCP server started
服务器将通过配置的 SSE 端点访问。
http://localhost:3333/hedera-testnet-mirror-node-api/sse
项目结构
mcpServer.ts:初始化并启动 MCP 服务器的入口点。openApiZod.ts:包含镜像节点 API 端点定义和使用zodios(类似于用zod模式定义增强的axios)的 API 客户端。- 请注意,此文件是使用
openapi-zod-client自动生成的,并进行了一些手动修改。
- 请注意,此文件是使用
工作原理
(1) API 客户端创建
使用 createApiClient 函数为 Hedera 测试网镜像节点创建了一个 API 客户端。
MCP 服务器在此 HTTP API 客户端与其自身的 SSE 传输之间进行代理。
(2) 端点转换:
endpointDefinitions 中的每个端点定义都由 convertZodiosToMcp 函数处理,该函数:
- 验证端点是否使用了
GET方法。 - 将参数映射到 Zod 模式。
- 定义一个执行函数,该函数调用相应的 API 并返回结果。
- 在 MCP 服务器上注册该工具。
(3) 服务器初始化:
使用 SSE 传输启动 MCP 服务器。
依赖项
- FastMCP:构建 MCP 服务器的框架。
- Zod:以 TypeScript 为主的模式声明和验证库。
- openapi-zod-client:从 OpenAPI 规范文件生成 Zodios 代码。
作者
许可证
MIT