Server data from the Official MCP Registry
Build-only Hedera (Hashgraph) MCP — 73 tools across all core services plus analytics reads.
Build-only Hedera (Hashgraph) MCP — 73 tools across all core services plus analytics reads.
Valid MCP server (3 strong, 1 medium validity signals). 3 known CVEs in dependencies (0 critical, 3 high severity) Package registry verified. Imported from the Official MCP Registry.
7 files analyzed · 4 issues found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
This plugin requests these system permissions. Most are normal for its category.
Set these up before or after installing:
Environment variable: HEDERA_NETWORK
Environment variable: HEDERA_OPERATOR_ID
Environment variable: HEDERA_MIRROR_URL
Add this to your MCP configuration file:
{
"mcpServers": {
"io-github-expertvagabond-hedera-mcp": {
"env": {
"HEDERA_NETWORK": "your-hedera-network-here",
"HEDERA_MIRROR_URL": "your-hedera-mirror-url-here",
"HEDERA_OPERATOR_ID": "your-hedera-operator-id-here"
},
"args": [
"-y",
"@purplesquirrel/hedera-mcp"
],
"command": "npx"
}
}
}From the project's GitHub README.
Comprehensive Model Context Protocol server for Hedera (Hashgraph). Full coverage of every core Hedera service — Account, Token (HTS), Consensus (HCS), Smart Contract (EVM), File, Schedule, and Network — exposed as 73 MCP tools any AI agent (Claude, Cursor, etc.) can call.
Build-only. Never holds keys. Reads hit the public Mirror Node REST API (no auth). Writes return an unsigned, frozen transaction (base64) for you to sign and submit with your own wallet/SDK/CLI. This server never sees a private key and never executes anything.
The official Hedera Agent Kit ships a preconfigured MCP server, but its tool surface is intentionally small (balance, transfer, deploy). This server fills the gap with end-to-end coverage of the Hedera API, organized for developer education and agent-driven onboarding — so a developer can go from "certified" to "shipping their first HTS token / HCS topic / contract" inside a single AI session.
| Service | Official starter MCP | hedera-mcp |
|---|---|---|
| Account | balance | create, transfer, update, delete, allowances, info, balances, NFTs |
| Token (HTS) | transfer, deploy | create FT/NFT, mint, burn, transfer, associate, freeze, KYC, pause, wipe, delete, info |
| Consensus (HCS) | — | create/update/delete topic, submit + read messages |
| Smart contract | — | deploy, execute, eth_call read, info |
| File | — | create, append, delete, info |
| Schedule | — | create, sign, delete, info |
| Network | — | tx lookup, nodes, fees, supply, exchange rate, decode |
hedera_decode_transaction), then sign and submit yourself.HEDERA_OPERATOR_ID — an account id, used as the default payer/treasury when building. Never a key.This mirrors the posture of goat-network-mcp: safe to run anywhere, safe to give to an autonomous agent.
Published on npm and the MCP Registry as io.github.ExpertVagabond/hedera-mcp.
Run directly with npx (no clone needed):
npx @purplesquirrel/hedera-mcp
Or from source:
npm install
npm run build
{
"mcpServers": {
"hedera": {
"command": "npx",
"args": ["-y", "@purplesquirrel/hedera-mcp"],
"env": {
"HEDERA_NETWORK": "testnet",
"HEDERA_OPERATOR_ID": "0.0.1234"
}
}
}
}
| Env var | Default | Notes |
|---|---|---|
HEDERA_NETWORK | testnet | mainnet | testnet | previewnet |
HEDERA_OPERATOR_ID | (unset) | Optional default payer/treasury account id (not a key) |
HEDERA_MIRROR_URL | per-network | Override Mirror Node REST base (e.g. a private/HGraph node) |
agent calls hedera_create_fungible_token
│
▼
hedera-mcp builds + freezes the TokenCreateTransaction
│
▼
returns base64 (unsigned) ──► you sign in HashPack / SDK / CLI ──► submit to Hedera
Inspect anything before signing:
hedera_decode_transaction { transactionBase64: "<bytes>" }
→ { type: "TokenCreateTransaction", transactionId, nodeAccountIds, maxTransactionFee, ... }
Account (8): create_account · transfer_hbar · update_account · delete_account · approve_hbar_allowance · get_account_info · get_account_balance · get_account_nfts
Token / HTS (23): create_fungible_token · create_nft_collection · mint_fungible · mint_nft · burn_token · transfer_token · transfer_nft · associate_token · dissociate_token · freeze_token_account · unfreeze_token_account · grant_kyc · revoke_kyc · pause_token · unpause_token · wipe_token · delete_token · update_token · token_airdrop · reject_token · approve_token_allowance · approve_nft_allowance · get_token_info · get_nft_info
Consensus / HCS (6): create_topic · submit_message · update_topic · delete_topic · get_topic_info · get_topic_messages
Smart contract / EVM (6): deploy_contract · execute_contract · update_contract · delete_contract · query_contract (eth_call) · get_contract_info
File (4): create_file · append_file · update_file · delete_file
Schedule (4): create_schedule · sign_schedule · delete_schedule · get_schedule_info
Network / utility (7): prng · get_transaction · get_network_nodes · get_exchange_rate · get_network_supply · get_network_fees · decode_transaction
Analytics (Mirror Node reads, 14): get_block · get_blocks · get_account_transactions · get_token_balances · get_token_nfts · get_nft_history · get_account_allowances · get_account_token_allowances · get_account_nft_allowances · get_contract_results · get_contract_state · get_network_stake · search_accounts_by_pubkey · get_account_by_evm
Besides tools, the server exposes addressable, keyless MCP resources agents can read by URI:
hedera://network/exchange-rate · hedera://network/supply · hedera://account/{accountId} · hedera://token/{tokenId}
examples/TUTORIAL.md — Build on Hedera in 5 prompts (the certified→shipping learning path)examples/agent-demo.md — wire into Claude Desktop and build by asking; node examples/agent-sim.mjs prints a reproducible agent transcriptexamples/scenarios/ — unique use cases, each runnable + Mirror Node-verified: HCS notary, AI agent audit trail, agent-to-agent payments, self-taxing tokennpm run lint / npm run build — clean against @hashgraph/sdk 2.81.0node test-battle.mjs — 72/73 build + read tools pass against live testnetnode test-live.mjs — 10/10 write paths executed on testnet, Mirror Node-verifiednode test-battle-live.mjs — battle mode: 31/31 operations on testnet across two accounts (full token lifecycle incl. freeze/KYC/pause/wipe, NFT, topic, file, scheduled transfer requiring a 2nd signer, PRNG), Mirror Node-verifiednode test-contract.mjs — real Solidity contract compiled → deployed → executed → read end-to-end (store(42) → retrieve() = 42), confirming the full EVM path and query_contractnpm run lint # tsc --noEmit
npm run build # compile to dist/
node test-smoke.mjs # MCP stdio: live Mirror Node read + build-only write + decode
node demo.mjs # narrated "developer's first session" walkthrough (build-only)
node test-execute.mjs # LIVE testnet submit (needs a throwaway key in .env — see below)
test-execute.mjs proves the build-only output is real: the MCP server builds an
unsigned transaction, the harness signs it with a throwaway testnet key from .env
and submits it, then confirms the result independently via Mirror Node. The server
stays build-only the whole time — only the test harness ever touches a key.
HEDERA_NETWORK=testnet
HEDERA_OPERATOR_ID=0.0.xxxxxx
HEDERA_OPERATOR_KEY=302e0201... # rotate/discard after verifying
Get a free testnet account at portal.hedera.com.
Built on @hashgraph/sdk and @modelcontextprotocol/sdk.
MIT © Matthew Karsten
Be the first to review this server!
by Modelcontextprotocol · Developer Tools
Read, search, and manipulate Git repositories programmatically
by Toleno · Developer Tools
Toleno Network MCP Server — Manage your Toleno mining account with Claude AI using natural language.
by mcp-marketplace · Developer Tools
Create, build, and publish Python MCP servers to PyPI — conversationally.