Development · MODEL CONTEXT PROTOCOL
hedera dev hedera mcp server
hedera dev hedera mcp server is a community-listed Model Context Protocol server. Review the source repository before installation.
WHAT IT CONNECTS
What hedera dev hedera mcp server gives an AI Agent
The source catalog does not include a structured feature list. Review the repository documentation before use.
SECURITY
An MCP listing is not a security review
An MCP server may receive model context, credentials, local files, or permission to call external systems. Review its code, requested environment variables, network behavior, package provenance, and maintenance status before connecting it to an agent.
README
Repository documentation
A Model Context Protocol (MCP) server for interacting with the Hedera network. This server provides tools for creating Hedera wallets, checking account balances, building transactions, and sending signed transactions.
This is a demo implementation and should NOT be used in production. The current implementation has several security vulnerabilities:
- Private keys are sent in response bodies
- No encryption of sensitive data
- No transaction verification mechanisms
This implementation is meant to demonstrate the MCP concept and should be properly secured before being used in a production environment.
The primary purpose of this MCP server is to demonstrate how transaction construction and execution can be handled by the MCP server, with the client only needing to verify the transaction. Specifically:
- Transaction construction happens entirely on the MCP server
- Clients signs the constructed transactions
- The MCP server handles transaction submission to the Hedera network
- This architecture allows for centralized transaction logic and reduces client-side complexity
- Node.js (v18 or higher)
- npm or yarn
- A Hedera account (for testnet or mainnet)
-
Clone this repository:
git clone https://github.com/hedera-dev/hedera-mcp-server.git cd hedera-mcp-server -
Install dependencies:
npm install
-
Create a
.envfile in the root directory with your Hedera credentials:HEDERA_OPERATOR_ID=your-operator-account-id HEDERA_OPERATOR_KEY=your-operator-private-key HEDERA_NETWORK=testnet # or mainnet PORT=3000 # optional, defaults to 3000
Compile the TypeScript code:
npm run buildFor development with automatic recompilation:
npm run devStart the server:
npm startThe server will be available at http://localhost:3000 (or the port specified in your .env file).
The repository includes a test client script that demonstrates how to connect to the MCP server and use its tools. This client provides a complete end-to-end flow demonstrating all available tools.
Run the test client:
node test-client.jsThe test client will:
- Connect to the MCP server
- List available tools
- Create a new Hedera wallet (create-wallet tool)
- Check the balance of the new account (check-balance tool)
- Build a transaction transferring the account's entire balance to the operator account (build-transaction tool)
- Sign the transaction on the client side using the Hedera SDK
- Submit the signed transaction to the Hedera network (send-transaction tool)
- Display the transaction result
This demonstrates the complete lifecycle of interacting with the Hedera network through the MCP server, from account creation to transaction submission.
The server provides the following tools:
-
create-wallet: Creates a new Hedera account with a minimal initial balance
- No input parameters required
- Returns account ID, public key, and private key
-
check-balance: Checks the balance of a Hedera account
- Input:
accountId(string) - Returns the account balance in tinybars
- Input:
-
build-transaction: Builds a transfer transaction (without signing)
- Inputs:
senderAccountId(string)recipientAccountId(string)amount(number, in tinybars)
- Returns a base64-encoded transaction
- Inputs:
-
send-transaction: Sends a signed transaction to the Hedera network
- Input:
signedTransaction(string, base64-encoded) - Returns transaction status and ID
- Input:
A simple deployment script is included:
./deploy.shMake sure to make it executable first:
chmod +x deploy.shCOMMUNITY