Skip to main content
Glama

Hedera Testnet Mirror Node MCP Server

Official
by hedera-dev
README.md2.83 kB
# Hedera Testnet Mirror Node MCP Server This repository contains a Model Context Protocol (MCP) server that interfaces with the Hedera Testnet Mirror Node API. The server is built using [FastMCP](https://www.npmjs.com/package/fastmcp), a TypeScript framework for creating MCP servers. It utilises [Zod](https://zod.dev/) schemas for input validation. ## Features - **Endpoint Integration**: Automatically converts Hedera Mirror Node APIs, defined in OpenAPI specification format, into MCP-compatible tools. - **Server-Sent Events (SSE) Support**: Clients cannot connect to this MCP server over the SSE transport. - **Schema Validation**: Ensures request parameters adhere to defined schemas using Zod. ## Prerequisites Before running the server, ensure you have the following installed: - [Bun](https://bun.sh/), or any other environment capable of running Typescript directly. ## Installation (1) Clone the repository ```bash git clone https://github.com/hedera-dev/mirrornode-mcp-server ``` (2) Navigate to the project directory ```bash cd mirrornode-mcp-server ``` (3) Install dependencies ```bash npm install ``` ## Usage To start the MCP server: ```bash bun mcpServer.ts ``` Upon successful startup, you should see: ``` MCP server started ``` The server will be accessible via the configured SSE endpoint. `http://localhost:3333/hedera-testnet-mirror-node-api/sse` ## Project Structure - `mcpServer.ts`: The entry point that initializes and starts the MCP server. - `openApiZod.ts`: Contains Mirror Node API endpoint definitions and an API client using `zodios` (like `axios` augmented with `zod` schema definitions). - Note that this file has been programmatically generated using `openapi-zod-client` plus some manual modifications. ## How It Works (1) API Client Creation An API client is created for the Hedera Testnet Mirror Node using the `createApiClient` function. The MCP server proxies between this HTTP API client and its own SSE transport. (2) Endpoint Conversion: Each endpoint definition from `endpointDefinitions` is processed by the `convertZodiosToMcp` function, which: - Validates that the endpoint uses the `GET` method. - Maps parameters to Zod schemas. - Defines an execution function that makes the corresponding API call and returns the result. - Registers the tool with the MCP server. (3) Server Initialization: The MCP server is started with SSE transport. ## Dependencies - [FastMCP](https://www.npmjs.com/package/fastmcp): Framework for building MCP servers. - [Zod](https://zod.dev/): TypeScript-first schema declaration and validation library. - [openapi-zod-client](https://github.com/astahmer/openapi-zod-client): Generates Zodios code from an OpenAPI specification file. ## Author [Brendan Graetz](https://blog.bguiz.com/) ## Licence MIT

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/hedera-dev/mirrornode-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server