# hedera-mcp [Health: Active]

**Category:** 💻 Developer Tools  
**Repository:** https://github.com/ExpertVagabond/hedera-mcp  
**GitHub Stars:** 0  
**Views:** 4  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/hedera-mcp

## Description
Build-only Hedera (Hashgraph) MCP — 51 tools across Account, HTS, HCS, EVM, File & Schedule.

## Tools
Capabilities this server exposes over MCP:

- **hedera_create_account** — Build (unsigned) a new Hedera account with a given public key and optional initial HBAR balance.
- **hedera_transfer_hbar** — Build (unsigned) an HBAR transfer from one account to another.
- **hedera_update_account** — Build (unsigned) an account update (memo, auto-association slots).
- **hedera_delete_account** — Build (unsigned) an account deletion, transferring the remaining balance to another account.
- **hedera_approve_hbar_allowance** — Build (unsigned) an HBAR allowance granting a spender the right to spend from an owner account.
- **hedera_get_account_info** — Read full account info (key, balance, memo, auto-renew, associations) from the Mirror Node.
- **hedera_get_account_balance** — Read an account's HBAR and token balances from the Mirror Node.
- **hedera_get_account_nfts** — List NFTs owned by an account from the Mirror Node.
- **hedera_create_fungible_token** — Build (unsigned) a new fungible token (HTS). Treasury defaults to the payer.
- **hedera_create_nft_collection** — Build (unsigned) a new non-fungible token collection (HTS). A supply key is required to mint.
- **hedera_mint_fungible** — Build (unsigned) a mint of additional fungible token supply.
- **hedera_mint_nft** — Build (unsigned) a mint of one or more NFTs with metadata (e.g. IPFS CIDs).
- **hedera_burn_token** — Build (unsigned) a burn of fungible amount or specific NFT serials.
- **hedera_transfer_token** — Build (unsigned) a fungible token transfer between two accounts.
- **hedera_transfer_nft** — Build (unsigned) an NFT transfer of a specific serial between two accounts.
- **hedera_associate_token** — Build (unsigned) a token association so an account can hold the given token(s).
- **hedera_dissociate_token** — Build (unsigned) a token dissociation.
- **hedera_freeze_token_account** — Build (unsigned): Freeze an account for a token (blocks transfers).
- **hedera_unfreeze_token_account** — Build (unsigned): Unfreeze an account for a token.
- **hedera_grant_kyc** — Build (unsigned): Grant KYC to an account for a token.
- **hedera_revoke_kyc** — Build (unsigned): Revoke KYC from an account for a token.
- **hedera_pause_token** — Build (unsigned) a token pause (halts all transfers of the token).
- **hedera_unpause_token** — Build (unsigned) a token unpause.
- **hedera_wipe_token** — Build (unsigned) a wipe of fungible amount or NFT serials from an account.
- **hedera_delete_token** — Build (unsigned) a token deletion (requires the admin key to sign).
- **hedera_update_token** — Build (unsigned) an update to a token's name, symbol, memo, or treasury (requires the admin key to sign).
- **hedera_token_airdrop** — Build (unsigned) a fungible-token airdrop (HIP-904) — auto-associates recipients without prior opt-in.
- **hedera_reject_token** — Build (unsigned) a token rejection (HIP-904) — returns an unwanted token to its treasury.
- **hedera_approve_token_allowance** — Build (unsigned) a fungible-token spending allowance for a spender.
- **hedera_approve_nft_allowance** — Build (unsigned) an NFT allowance for all serials of a collection (approve-for-all).
- **hedera_get_token_info** — Read token info (type, supply, keys, custom fees) from the Mirror Node.
- **hedera_get_nft_info** — Read a specific NFT's info (owner, metadata, serial) from the Mirror Node.
- **hedera_create_topic** — Build (unsigned) a new HCS topic for ordered, timestamped messages.
- **hedera_submit_message** — Build (unsigned) a message submission to an HCS topic.
- **hedera_update_topic** — Build (unsigned) an update to an HCS topic memo.
- **hedera_delete_topic** — Build (unsigned) a deletion of an HCS topic (requires admin key).
- **hedera_get_topic_info** — Read HCS topic info from the Mirror Node.
- **hedera_get_topic_messages** — Read recent messages from an HCS topic via the Mirror Node (decodes base64 payloads).
- **hedera_deploy_contract** — Build (unsigned) a contract deployment from bytecode already stored in a Hedera File (see hedera_create_file).
- **hedera_execute_contract** — Build (unsigned) a state-changing contract call. Pass { abi, functionName, args } for automatic encoding, or raw functionParametersBase64.
- **hedera_update_contract** — Build (unsigned) an update to a contract's memo or admin key (requires admin key to sign).
- **hedera_delete_contract** — Build (unsigned) a contract deletion, transferring any balance to an account.
- **hedera_query_contract** — Read a contract view/pure function via Mirror Node eth_call (keyless, no gas). Pass { abi, functionName, args } for auto encode/decode, or raw dataHex.
- **hedera_get_contract_info** — Read contract info (admin key, bytecode metadata, EVM address) from the Mirror Node.
- **hedera_create_file** — Build (unsigned) a new file. Useful for storing compiled contract bytecode before deployment.
- **hedera_append_file** — Build (unsigned) an append to an existing file (for bytecode larger than one transaction).
- **hedera_update_file** — Build (unsigned) an update that replaces a file's contents and/or memo.
- **hedera_delete_file** — Build (unsigned) a file deletion.
- **hedera_create_schedule** — Build (unsigned) a scheduled HBAR transfer — wraps an inner transfer so multiple parties can sign before it executes.
- **hedera_sign_schedule** — Build (unsigned) a signature add to an existing scheduled transaction.
- **hedera_delete_schedule** — Build (unsigned) a deletion of a scheduled transaction (requires admin key).
- **hedera_get_schedule_info** — Read scheduled-transaction info (signatures, executed status) from the Mirror Node.
- **hedera_get_transaction** — Read a transaction's records/results from the Mirror Node by transaction id.
- **hedera_get_network_nodes** — List the network's consensus nodes and stake from the Mirror Node.
- **hedera_get_exchange_rate** — Read the current HBAR↔USD exchange rate from the Mirror Node.
- **hedera_get_network_supply** — Read total/circulating HBAR supply from the Mirror Node.
- **hedera_get_network_fees** — Read the current network fee schedule from the Mirror Node.
- **hedera_prng** — Build (unsigned) a pseudo-random number generation transaction (native on-chain RNG). Optionally bound to [0, range).
- **hedera_decode_transaction** — Decode a base64 transaction (e.g. one built by this server) into a human-readable summary — useful for review before signing.
- **hedera_get_block** — Read a block by number or hash from the Mirror Node.
- **hedera_get_blocks** — List recent blocks from the Mirror Node.
- **hedera_get_account_transactions** — List recent transactions for an account from the Mirror Node.
- **hedera_get_token_balances** — List the accounts holding a token and their balances, from the Mirror Node.
- **hedera_get_token_nfts** — List the minted NFTs (serials) of an NFT collection from the Mirror Node.
- **hedera_get_nft_history** — Read the transfer/mint history of a specific NFT serial from the Mirror Node.
- **hedera_get_account_allowances** — Read an account's active HBAR (crypto) allowances from the Mirror Node.
- **hedera_get_account_token_allowances** — Read an account's active fungible-token allowances from the Mirror Node.
- **hedera_get_account_nft_allowances** — Read an account's active NFT (approve-for-all) allowances from the Mirror Node.
- **hedera_get_contract_results** — List recent execution results for a contract from the Mirror Node.
- **hedera_get_contract_state** — Read a contract's current storage slots from the Mirror Node.
- **hedera_get_network_stake** — Read network-wide staking info (total staked, reward rate) from the Mirror Node.
- **hedera_search_accounts_by_pubkey** — Find accounts controlled by a given public key from the Mirror Node.
- **hedera_get_account_by_evm** — Resolve a Hedera account from a 0x EVM address via the Mirror Node.

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `npx` (confidence: high):

```json
"mcpServers": {
  "hedera-mcp": {
    "command": "npx",
    "args": ["-y","@purplesquirrel/hedera-mcp"],
    "env": {
      "HEDERA_NETWORK": "",
      "HEDERA_OPERATOR_ID": "",
      "HEDERA_MIRROR_URL": ""
    }
  }
}
```

**Requires environment variables:** `HEDERA_NETWORK`, `HEDERA_OPERATOR_ID`, `HEDERA_MIRROR_URL` — the values above are empty placeholders; fill in real credentials before running (see the repository for what each one is for).

## Documentation

## What hedera-mcp MCP server does

The hedera-mcp MCP server gives MCP clients access to Hedera network operations without executing transactions itself. Its catalog includes 73 tools covering accounts, Hedera Token Service (HTS), Hedera Consensus Service (HCS), smart contracts, files, schedules, network information, and Mirror Node analytics.

Account tools can create, update, delete, inspect, and transfer HBAR between accounts. HTS tools cover fungible tokens and NFTs, including creation, minting, burning, transfers, associations, freezes, KYC, pauses, wipes, allowances, airdrops, rejection, updates, and deletion. HCS, EVM, file, and schedule tools provide corresponding transaction-building and read operations. The server also exposes four addressable resources for network exchange rates, network supply, account data, and token data.

## How it works

The hedera-mcp MCP server separates data access from transaction execution. Reads are sent to a configured Hedera Mirror Node REST endpoint and do not require an account or credential. For writes, the server constructs and freezes a transaction, then returns base64-encoded unsigned bytes along with a human-readable summary. A wallet, Hedera SDK, or command-line tool must sign and submit those bytes separately.

Agents can inspect a generated transaction before signing it with the transaction-decoding tool. This supports workflows where an application or human reviews the transaction contents and controls the signing step. Smart-contract execution and query tools support ABI-aware calls when supplied with an ABI, function name, and arguments.

## Setup and configuration

The package is published as `@purplesquirrel/hedera-mcp` and can be started with npx:

```bash
npx -y @purplesquirrel/hedera-mcp
```

Set `HEDERA_NETWORK` to `testnet`, `mainnet`, or `previewnet`; it defaults to `testnet`. `HEDERA_OPERATOR_ID` is optional and accepts an account ID, not a private key. When supplied, it acts as the default payer or treasury while transactions are built. `HEDERA_MIRROR_URL` can override the default Mirror Node REST base URL, including for a private or HGraph endpoint.

The README shows configuration for Claude Desktop and Claude Code using the npx command and these environment variables. The project is licensed under MIT.

## Tools and capabilities

- Build unsigned account and HBAR transactions.
- Create and manage fungible tokens and NFT collections.
- Build HCS topic and message transactions.
- Deploy, update, execute, query, and inspect EVM contracts.
- Create, append to, update, and delete Hedera files.
- Create, sign, delete, and inspect scheduled transactions.
- Query balances, NFTs, transactions, blocks, allowances, contracts, network fees, supply, nodes, and exchange rates.

## Limitations and notes

The hedera-mcp MCP server does not sign or submit transactions and never handles private keys. A separate wallet, SDK, or CLI is required for live writes. The optional `HEDERA_OPERATOR_ID` is only an account identifier and does not authenticate the server or authorize spending.

Read availability depends on the configured Mirror Node. EVM contract queries require a known ABI when using ABI-aware calls. Although the repository includes live testnet verification and test harnesses, those harnesses are separate from the MCP server; any signing key used for live execution belongs to the test setup, not the server.

_Full upstream README: https://allmcps.com/mcp/hedera-mcp/readme_

