@purplesquirrel/hedera-mcp 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.2.0
4
+
5
+ Expanded from 51 to **73 tools** and battle-tested end-to-end.
6
+
7
+ - **+22 tools:** token update / airdrop (HIP-904) / reject / token & NFT allowances; contract update / delete; file update; PRNG; and a 14-tool analytics layer (blocks, account transactions, token balances & NFTs, NFT history, crypto/token/NFT allowances, contract results & state, network stake, public-key & EVM-address lookups).
8
+ - **Fixed:** `create_schedule` now schedules an (unfrozen) transfer; removed `get_file_info` (file info requires a paid query, incompatible with keyless reads); minified-SDK transaction type labels.
9
+ - **Battle tested:** `test-battle.mjs` — 72/73 build+read tools pass against live testnet (1 skip: contract eth_call needs a known ABI). `test-live.mjs` — **10/10 write paths executed on testnet** (token create+mint, NFT create+mint, topic+message, file, scheduled transfer, hbar transfer, PRNG), each verified via Mirror Node.
10
+
3
11
  ## 0.1.0
4
12
 
5
13
  Initial release — comprehensive build-only MCP server for Hedera (Hashgraph).
package/README.md CHANGED
@@ -2,7 +2,11 @@
2
2
 
3
3
  ![hedera-mcp](./logo.svg)
4
4
 
5
- **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 **51 MCP tools** any AI agent (Claude, Cursor, etc.) can call.
5
+ [![MCP Registry](https://img.shields.io/badge/MCP%20Registry-io.github.ExpertVagabond%2Fhedera--mcp-3ec6a8)](https://registry.modelcontextprotocol.io/v0/servers?search=hedera-mcp)
6
+ [![npm](https://img.shields.io/npm/v/@purplesquirrel/hedera-mcp?color=3ec6a8&label=npm)](https://www.npmjs.com/package/@purplesquirrel/hedera-mcp)
7
+ [![license](https://img.shields.io/badge/license-MIT-555)](./LICENSE)
8
+
9
+ **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.
6
10
 
7
11
  > **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.
8
12
 
@@ -30,8 +34,18 @@ The official Hedera Agent Kit ships a preconfigured MCP server, but its tool sur
30
34
 
31
35
  This mirrors the posture of [goat-network-mcp](https://github.com/ExpertVagabond/goat-network-mcp): safe to run anywhere, safe to give to an autonomous agent.
32
36
 
37
+ Published on npm and the [MCP Registry](https://registry.modelcontextprotocol.io) as `io.github.ExpertVagabond/hedera-mcp`.
38
+
33
39
  ## Install
34
40
 
41
+ Run directly with npx (no clone needed):
42
+
43
+ ```bash
44
+ npx @purplesquirrel/hedera-mcp
45
+ ```
46
+
47
+ Or from source:
48
+
35
49
  ```bash
36
50
  npm install
37
51
  npm run build
@@ -43,8 +57,8 @@ npm run build
43
57
  {
44
58
  "mcpServers": {
45
59
  "hedera": {
46
- "command": "node",
47
- "args": ["/absolute/path/to/hedera-mcp/dist/index.js"],
60
+ "command": "npx",
61
+ "args": ["-y", "@purplesquirrel/hedera-mcp"],
48
62
  "env": {
49
63
  "HEDERA_NETWORK": "testnet",
50
64
  "HEDERA_OPERATOR_ID": "0.0.1234"
@@ -79,21 +93,29 @@ hedera_decode_transaction { transactionBase64: "<bytes>" }
79
93
  → { type: "TokenCreateTransaction", transactionId, nodeAccountIds, maxTransactionFee, ... }
80
94
  ```
81
95
 
82
- ## Tool catalog (51)
96
+ ## Tool catalog (73)
83
97
 
84
98
  **Account (8):** create_account · transfer_hbar · update_account · delete_account · approve_hbar_allowance · get_account_info · get_account_balance · get_account_nfts
85
99
 
86
- **Token / HTS (18):** 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 · get_token_info · get_nft_info
100
+ **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
87
101
 
88
102
  **Consensus / HCS (6):** create_topic · submit_message · update_topic · delete_topic · get_topic_info · get_topic_messages
89
103
 
90
- **Smart contract / EVM (4):** deploy_contract · execute_contract · query_contract (eth_call) · get_contract_info
104
+ **Smart contract / EVM (6):** deploy_contract · execute_contract · update_contract · delete_contract · query_contract (eth_call) · get_contract_info
91
105
 
92
- **File (4):** create_file · append_file · delete_file · get_file_info
106
+ **File (4):** create_file · append_file · update_file · delete_file
93
107
 
94
108
  **Schedule (4):** create_schedule · sign_schedule · delete_schedule · get_schedule_info
95
109
 
96
- **Network / utility (6):** get_transaction · get_network_nodes · get_exchange_rate · get_network_supply · get_network_fees · decode_transaction
110
+ **Network / utility (7):** prng · get_transaction · get_network_nodes · get_exchange_rate · get_network_supply · get_network_fees · decode_transaction
111
+
112
+ **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
113
+
114
+ ## Verification
115
+
116
+ - `npm run lint` / `npm run build` — clean against `@hashgraph/sdk` 2.81.0
117
+ - `node test-battle.mjs` — **72/73** build + read tools pass against live testnet
118
+ - `node test-live.mjs` — **10/10 write paths executed on testnet** (token create+mint, NFT create+mint, topic+message, file, scheduled transfer, transfer, PRNG), Mirror Node-verified
97
119
 
98
120
  ## Development
99
121
 
package/dist/context.js CHANGED
@@ -10,7 +10,7 @@
10
10
  * The only optional input is HEDERA_OPERATOR_ID — an *account id* (not a key) —
11
11
  * used as the default payer/treasury when building transactions.
12
12
  */
13
- import { AccountAllowanceApproveTransaction, AccountCreateTransaction, AccountDeleteTransaction, AccountId, AccountUpdateTransaction, Client, ContractCreateTransaction, ContractExecuteTransaction, FileAppendTransaction, FileCreateTransaction, FileDeleteTransaction, ScheduleCreateTransaction, ScheduleDeleteTransaction, ScheduleSignTransaction, TokenAssociateTransaction, TokenBurnTransaction, TokenCreateTransaction, TokenDeleteTransaction, TokenDissociateTransaction, TokenFreezeTransaction, TokenGrantKycTransaction, TokenMintTransaction, TokenPauseTransaction, TokenRevokeKycTransaction, TokenUnfreezeTransaction, TokenUnpauseTransaction, TokenWipeTransaction, TopicCreateTransaction, TopicDeleteTransaction, TopicMessageSubmitTransaction, TopicUpdateTransaction, TransactionId, TransferTransaction, } from "@hashgraph/sdk";
13
+ import { AccountAllowanceApproveTransaction, AccountCreateTransaction, AccountDeleteTransaction, AccountId, AccountUpdateTransaction, Client, ContractCreateTransaction, ContractDeleteTransaction, ContractExecuteTransaction, ContractUpdateTransaction, FileAppendTransaction, FileCreateTransaction, FileDeleteTransaction, FileUpdateTransaction, PrngTransaction, ScheduleCreateTransaction, ScheduleDeleteTransaction, ScheduleSignTransaction, TokenAirdropTransaction, TokenAssociateTransaction, TokenBurnTransaction, TokenCreateTransaction, TokenDeleteTransaction, TokenDissociateTransaction, TokenFreezeTransaction, TokenGrantKycTransaction, TokenMintTransaction, TokenPauseTransaction, TokenRejectTransaction, TokenRevokeKycTransaction, TokenUnfreezeTransaction, TokenUnpauseTransaction, TokenUpdateTransaction, TokenWipeTransaction, TopicCreateTransaction, TopicDeleteTransaction, TopicMessageSubmitTransaction, TopicUpdateTransaction, TransactionId, TransferTransaction, } from "@hashgraph/sdk";
14
14
  import { resolveNetwork } from "./networks.js";
15
15
  /**
16
16
  * Resolve a human-readable transaction type. The @hashgraph/sdk bundle is
@@ -36,18 +36,25 @@ const TX_TYPES = [
36
36
  [TokenUnpauseTransaction, "TokenUnpauseTransaction"],
37
37
  [TokenWipeTransaction, "TokenWipeTransaction"],
38
38
  [TokenDeleteTransaction, "TokenDeleteTransaction"],
39
+ [TokenUpdateTransaction, "TokenUpdateTransaction"],
40
+ [TokenAirdropTransaction, "TokenAirdropTransaction"],
41
+ [TokenRejectTransaction, "TokenRejectTransaction"],
39
42
  [TopicCreateTransaction, "TopicCreateTransaction"],
40
43
  [TopicMessageSubmitTransaction, "TopicMessageSubmitTransaction"],
41
44
  [TopicUpdateTransaction, "TopicUpdateTransaction"],
42
45
  [TopicDeleteTransaction, "TopicDeleteTransaction"],
43
46
  [ContractCreateTransaction, "ContractCreateTransaction"],
44
47
  [ContractExecuteTransaction, "ContractExecuteTransaction"],
48
+ [ContractUpdateTransaction, "ContractUpdateTransaction"],
49
+ [ContractDeleteTransaction, "ContractDeleteTransaction"],
45
50
  [FileCreateTransaction, "FileCreateTransaction"],
46
51
  [FileAppendTransaction, "FileAppendTransaction"],
52
+ [FileUpdateTransaction, "FileUpdateTransaction"],
47
53
  [FileDeleteTransaction, "FileDeleteTransaction"],
48
54
  [ScheduleCreateTransaction, "ScheduleCreateTransaction"],
49
55
  [ScheduleSignTransaction, "ScheduleSignTransaction"],
50
56
  [ScheduleDeleteTransaction, "ScheduleDeleteTransaction"],
57
+ [PrngTransaction, "PrngTransaction"],
51
58
  ];
52
59
  export function resolveTxType(tx) {
53
60
  for (const [cls, name] of TX_TYPES) {
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,OAAO,EACL,kCAAkC,EAClC,wBAAwB,EACxB,wBAAwB,EACxB,SAAS,EACT,wBAAwB,EACxB,MAAM,EACN,yBAAyB,EACzB,0BAA0B,EAC1B,qBAAqB,EACrB,qBAAqB,EACrB,qBAAqB,EACrB,yBAAyB,EACzB,yBAAyB,EACzB,uBAAuB,EACvB,yBAAyB,EACzB,oBAAoB,EACpB,sBAAsB,EACtB,sBAAsB,EACtB,0BAA0B,EAC1B,sBAAsB,EACtB,wBAAwB,EACxB,oBAAoB,EACpB,qBAAqB,EACrB,yBAAyB,EACzB,wBAAwB,EACxB,uBAAuB,EACvB,oBAAoB,EACpB,sBAAsB,EACtB,sBAAsB,EACtB,6BAA6B,EAC7B,sBAAsB,EAEtB,aAAa,EACb,mBAAmB,GACpB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,cAAc,EAAsB,MAAM,eAAe,CAAC;AAEnE;;;;GAIG;AACH,MAAM,QAAQ,GAAyD;IACrE,CAAC,mBAAmB,EAAE,qBAAqB,CAAC;IAC5C,CAAC,wBAAwB,EAAE,0BAA0B,CAAC;IACtD,CAAC,wBAAwB,EAAE,0BAA0B,CAAC;IACtD,CAAC,wBAAwB,EAAE,0BAA0B,CAAC;IACtD,CAAC,kCAAkC,EAAE,oCAAoC,CAAC;IAC1E,CAAC,sBAAsB,EAAE,wBAAwB,CAAC;IAClD,CAAC,oBAAoB,EAAE,sBAAsB,CAAC;IAC9C,CAAC,oBAAoB,EAAE,sBAAsB,CAAC;IAC9C,CAAC,yBAAyB,EAAE,2BAA2B,CAAC;IACxD,CAAC,0BAA0B,EAAE,4BAA4B,CAAC;IAC1D,CAAC,sBAAsB,EAAE,wBAAwB,CAAC;IAClD,CAAC,wBAAwB,EAAE,0BAA0B,CAAC;IACtD,CAAC,wBAAwB,EAAE,0BAA0B,CAAC;IACtD,CAAC,yBAAyB,EAAE,2BAA2B,CAAC;IACxD,CAAC,qBAAqB,EAAE,uBAAuB,CAAC;IAChD,CAAC,uBAAuB,EAAE,yBAAyB,CAAC;IACpD,CAAC,oBAAoB,EAAE,sBAAsB,CAAC;IAC9C,CAAC,sBAAsB,EAAE,wBAAwB,CAAC;IAClD,CAAC,sBAAsB,EAAE,wBAAwB,CAAC;IAClD,CAAC,6BAA6B,EAAE,+BAA+B,CAAC;IAChE,CAAC,sBAAsB,EAAE,wBAAwB,CAAC;IAClD,CAAC,sBAAsB,EAAE,wBAAwB,CAAC;IAClD,CAAC,yBAAyB,EAAE,2BAA2B,CAAC;IACxD,CAAC,0BAA0B,EAAE,4BAA4B,CAAC;IAC1D,CAAC,qBAAqB,EAAE,uBAAuB,CAAC;IAChD,CAAC,qBAAqB,EAAE,uBAAuB,CAAC;IAChD,CAAC,qBAAqB,EAAE,uBAAuB,CAAC;IAChD,CAAC,yBAAyB,EAAE,2BAA2B,CAAC;IACxD,CAAC,uBAAuB,EAAE,yBAAyB,CAAC;IACpD,CAAC,yBAAyB,EAAE,2BAA2B,CAAC;CACzD,CAAC;AAEF,MAAM,UAAU,aAAa,CAAC,EAAe;IAC3C,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,QAAQ,EAAE,CAAC;QACnC,IAAI,EAAE,YAAY,GAAG;YAAE,OAAO,IAAI,CAAC;IACrC,CAAC;IACD,OAAO,aAAa,CAAC;AACvB,CAAC;AAWD,MAAM,OAAO,SAAS;IACX,OAAO,CAAgB;IACvB,UAAU,CAAa;IACxB,OAAO,CAAU;IAEzB;QACE,IAAI,CAAC,OAAO,GAAG,cAAc,EAAE,CAAC;QAChC,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE,IAAI,EAAE,CAAC;QACpD,IAAI,IAAI,IAAI,IAAI,KAAK,YAAY,EAAE,CAAC;YAClC,IAAI,CAAC,UAAU,GAAG,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC;IAED,kEAAkE;IAClE,IAAI,cAAc;QAChB,OAAO,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,GAAG,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC,CAAC;IAC3E,CAAC;IAED;;;OAGG;IACH,IAAI,MAAM;QACR,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,CAAC;YAClB,IAAI,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACnD,CAAC;QACD,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,sEAAsE;IACtE,KAAK,CAAC,cAAuB;QAC3B,IAAI,cAAc;YAAE,OAAO,SAAS,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;QAChE,IAAI,IAAI,CAAC,UAAU;YAAE,OAAO,IAAI,CAAC,UAAU,CAAC;QAC5C,MAAM,IAAI,KAAK,CACb,wFAAwF,CACzF,CAAC;IACJ,CAAC;IAED;;;;OAIG;IACH,KAAK,CAAC,EAAe,EAAE,cAAuB;QAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;QACzC,MAAM,IAAI,GAAG,aAAa,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAC3C,EAAE,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAC,iBAAiB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC,MAAM,EAAE,CAAC;QAC1E,OAAO;YACL,IAAI,EAAE,aAAa,CAAC,EAAE,CAAC;YACvB,MAAM,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;YACpD,aAAa,EAAE,IAAI,CAAC,QAAQ,EAAE;SAC/B,CAAC;IACJ,CAAC;IAED,0DAA0D;IAC1D,MAAM,CAAC,MAAmB,EAAE,OAAe;QACzC,OAAO;YACL,sBAAsB,MAAM,CAAC,IAAI,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;YAC3D,EAAE;YACF,OAAO;YACP,EAAE;YACF,mBAAmB,MAAM,CAAC,aAAa,EAAE;YACzC,EAAE;YACF,yCAAyC;YACzC,sFAAsF;YACtF,6EAA6E;YAC7E,EAAE;YACF,uBAAuB;YACvB,MAAM,CAAC,MAAM;SACd,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACf,CAAC;IAED,kCAAkC;IAClC,cAAc,CAAC,EAAe,EAAE,OAAe,EAAE,cAAuB;QACtE,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,EAAE,cAAc,CAAC,EAAE,OAAO,CAAC,CAAC;IAC9D,CAAC;IAED,qFAAqF;IACrF,KAAK,CAAC,MAAM,CAAU,IAAY;QAChC,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,EAAE,CAAC;QAC5C,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,EAAE,OAAO,EAAE,EAAE,MAAM,EAAE,kBAAkB,EAAE,EAAE,CAAC,CAAC;QAC1E,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;YAC9C,MAAM,IAAI,KAAK,CAAC,eAAe,GAAG,CAAC,MAAM,QAAQ,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;QAClF,CAAC;QACD,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAM,CAAC;IACjC,CAAC;IAED,gFAAgF;IAChF,KAAK,CAAC,UAAU,CAAU,IAAY,EAAE,IAAa;QACnD,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,MAAM,GAAG,IAAI,EAAE,CAAC;QAC5C,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE;YAC3B,MAAM,EAAE,MAAM;YACd,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,MAAM,EAAE,kBAAkB,EAAE;YAC3E,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;SAC3B,CAAC,CAAC;QACH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;YAC9C,MAAM,IAAI,KAAK,CAAC,eAAe,GAAG,CAAC,MAAM,QAAQ,IAAI,KAAK,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,EAAE,CAAC,CAAC;QAClF,CAAC;QACD,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAM,CAAC;IACjC,CAAC;IAED,UAAU,CAAC,IAAY;QACrB,mEAAmE;QACnE,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QACrE,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,QAAQ,gBAAgB,UAAU,EAAE,CAAC;IAC9D,CAAC;CACF;AAED,qDAAqD;AACrD,MAAM,UAAU,IAAI,CAAC,KAAc;IACjC,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;AACxC,CAAC"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -26,10 +26,11 @@ import { registerContractTools } from "./tools/contract.js";
26
26
  import { registerFileTools } from "./tools/file.js";
27
27
  import { registerScheduleTools } from "./tools/schedule.js";
28
28
  import { registerNetworkTools } from "./tools/network.js";
29
+ import { registerAnalyticsTools } from "./tools/analytics.js";
29
30
  const ctx = new HederaCtx();
30
31
  const server = new McpServer({
31
32
  name: "hedera-mcp",
32
- version: "0.1.0",
33
+ version: "0.2.0",
33
34
  });
34
35
  let toolCount = 0;
35
36
  const register = (name, description, shape, handler) => {
@@ -54,6 +55,7 @@ registerContractTools(register, ctx);
54
55
  registerFileTools(register, ctx);
55
56
  registerScheduleTools(register, ctx);
56
57
  registerNetworkTools(register, ctx);
58
+ registerAnalyticsTools(register, ctx);
57
59
  async function main() {
58
60
  const transport = new StdioServerTransport();
59
61
  await server.connect(transport);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { Register } from "../types.js";
2
+ import { HederaCtx } from "../context.js";
3
+ export declare function registerAnalyticsTools(register: Register, ctx: HederaCtx): void;
@@ -0,0 +1,20 @@
1
+ /** Analytics: keyless Mirror Node reads — blocks, balances, allowances, contract data, staking. */
2
+ import { z } from "zod";
3
+ import { json } from "../context.js";
4
+ export function registerAnalyticsTools(register, ctx) {
5
+ register("hedera_get_block", "Read a block by number or hash from the Mirror Node.", { numberOrHash: z.string().describe("Block number or hash") }, async (a) => json(await ctx.mirror(`/api/v1/blocks/${encodeURIComponent(a.numberOrHash)}`)));
6
+ register("hedera_get_blocks", "List recent blocks from the Mirror Node.", { limit: z.number().int().min(1).max(100).optional() }, async (a) => json(await ctx.mirror(`/api/v1/blocks?limit=${a.limit ?? 10}&order=desc`)));
7
+ register("hedera_get_account_transactions", "List recent transactions for an account from the Mirror Node.", { accountId: z.string(), limit: z.number().int().min(1).max(100).optional() }, async (a) => json(await ctx.mirror(`/api/v1/transactions?account.id=${encodeURIComponent(a.accountId)}&limit=${a.limit ?? 25}&order=desc`)));
8
+ register("hedera_get_token_balances", "List the accounts holding a token and their balances, from the Mirror Node.", { tokenId: z.string(), limit: z.number().int().min(1).max(100).optional() }, async (a) => json(await ctx.mirror(`/api/v1/tokens/${encodeURIComponent(a.tokenId)}/balances?limit=${a.limit ?? 25}`)));
9
+ register("hedera_get_token_nfts", "List the minted NFTs (serials) of an NFT collection from the Mirror Node.", { tokenId: z.string(), limit: z.number().int().min(1).max(100).optional() }, async (a) => json(await ctx.mirror(`/api/v1/tokens/${encodeURIComponent(a.tokenId)}/nfts?limit=${a.limit ?? 25}`)));
10
+ register("hedera_get_nft_history", "Read the transfer/mint history of a specific NFT serial from the Mirror Node.", { tokenId: z.string(), serial: z.number().int().positive() }, async (a) => json(await ctx.mirror(`/api/v1/tokens/${encodeURIComponent(a.tokenId)}/nfts/${a.serial}/transactions?limit=25`)));
11
+ register("hedera_get_account_allowances", "Read an account's active HBAR (crypto) allowances from the Mirror Node.", { accountId: z.string() }, async (a) => json(await ctx.mirror(`/api/v1/accounts/${encodeURIComponent(a.accountId)}/allowances/crypto?limit=25`)));
12
+ register("hedera_get_account_token_allowances", "Read an account's active fungible-token allowances from the Mirror Node.", { accountId: z.string() }, async (a) => json(await ctx.mirror(`/api/v1/accounts/${encodeURIComponent(a.accountId)}/allowances/tokens?limit=25`)));
13
+ register("hedera_get_account_nft_allowances", "Read an account's active NFT (approve-for-all) allowances from the Mirror Node.", { accountId: z.string() }, async (a) => json(await ctx.mirror(`/api/v1/accounts/${encodeURIComponent(a.accountId)}/allowances/nfts?limit=25`)));
14
+ register("hedera_get_contract_results", "List recent execution results for a contract from the Mirror Node.", { contractId: z.string(), limit: z.number().int().min(1).max(100).optional() }, async (a) => json(await ctx.mirror(`/api/v1/contracts/${encodeURIComponent(a.contractId)}/results?limit=${a.limit ?? 10}&order=desc`)));
15
+ register("hedera_get_contract_state", "Read a contract's current storage slots from the Mirror Node.", { contractId: z.string(), limit: z.number().int().min(1).max(100).optional() }, async (a) => json(await ctx.mirror(`/api/v1/contracts/${encodeURIComponent(a.contractId)}/state?limit=${a.limit ?? 25}`)));
16
+ register("hedera_get_network_stake", "Read network-wide staking info (total staked, reward rate) from the Mirror Node.", {}, async () => json(await ctx.mirror(`/api/v1/network/stake`)));
17
+ register("hedera_search_accounts_by_pubkey", "Find accounts controlled by a given public key from the Mirror Node.", { publicKey: z.string().describe("Public key (hex/DER)") }, async (a) => json(await ctx.mirror(`/api/v1/accounts?account.publickey=${encodeURIComponent(a.publicKey)}&limit=25`)));
18
+ register("hedera_get_account_by_evm", "Resolve a Hedera account from a 0x EVM address via the Mirror Node.", { evmAddress: z.string().describe("0x-prefixed EVM address") }, async (a) => json(await ctx.mirror(`/api/v1/accounts/${encodeURIComponent(a.evmAddress)}`)));
19
+ }
20
+ //# sourceMappingURL=analytics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analytics.js","sourceRoot":"","sources":["../../src/tools/analytics.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  /** Smart contract service (EVM). Writes are build-only; reads use Mirror Node eth_call. */
2
2
  import { z } from "zod";
3
- import { ContractCreateTransaction, ContractExecuteTransaction, ContractId, FileId, Hbar, } from "@hashgraph/sdk";
3
+ import { AccountId, ContractCreateTransaction, ContractDeleteTransaction, ContractExecuteTransaction, ContractId, ContractUpdateTransaction, FileId, Hbar, } from "@hashgraph/sdk";
4
4
  import { json } from "../context.js";
5
5
  export function registerContractTools(register, ctx) {
6
6
  register("hedera_deploy_contract", "Build (unsigned) a contract deployment from bytecode already stored in a Hedera File (see hedera_create_file).", {
@@ -40,6 +40,26 @@ export function registerContractTools(register, ctx) {
40
40
  tx.setPayableAmount(new Hbar(a.payableAmountHbar));
41
41
  return ctx.buildAndRender(tx, `Execute contract ${a.contractId} · gas ${a.gas}`, a.payerAccountId);
42
42
  });
43
+ register("hedera_update_contract", "Build (unsigned) an update to a contract's memo or admin key (requires admin key to sign).", {
44
+ contractId: z.string(),
45
+ memo: z.string().optional(),
46
+ payerAccountId: z.string().optional(),
47
+ }, async (a) => {
48
+ const tx = new ContractUpdateTransaction().setContractId(ContractId.fromString(a.contractId));
49
+ if (a.memo != null)
50
+ tx.setContractMemo(a.memo);
51
+ return ctx.buildAndRender(tx, `Update contract ${a.contractId}`, a.payerAccountId);
52
+ });
53
+ register("hedera_delete_contract", "Build (unsigned) a contract deletion, transferring any balance to an account.", {
54
+ contractId: z.string(),
55
+ transferAccountId: z.string().describe("Account that receives the contract's remaining balance"),
56
+ payerAccountId: z.string().optional(),
57
+ }, async (a) => {
58
+ const tx = new ContractDeleteTransaction()
59
+ .setContractId(ContractId.fromString(a.contractId))
60
+ .setTransferAccountId(AccountId.fromString(a.transferAccountId));
61
+ return ctx.buildAndRender(tx, `Delete contract ${a.contractId}`, a.payerAccountId);
62
+ });
43
63
  register("hedera_query_contract", "Read a contract view/pure function via the Mirror Node eth_call endpoint (keyless, no gas spent).", {
44
64
  contractIdOrAddress: z.string().describe("Contract id (0.0.x) or 0x EVM address"),
45
65
  dataHex: z.string().describe("ABI-encoded calldata as 0x-prefixed hex"),
@@ -1 +1 @@
1
- {"version":3,"file":"contract.js","sourceRoot":"","sources":["../../src/tools/contract.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"contract.js","sourceRoot":"","sources":["../../src/tools/contract.ts"],"names":[],"mappings":"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"}
@@ -1,11 +1,14 @@
1
- /** File service: create / append / delete files (e.g. contract bytecode), plus reads. */
1
+ /** File service: create / append / update / delete files (e.g. contract bytecode).
2
+ *
3
+ * Note: file *contents/info* require a paid consensus query (FileContentsQuery),
4
+ * which is incompatible with this server's keyless posture — so there is no
5
+ * Mirror Node-based file read tool. */
2
6
  import { z } from "zod";
3
- import { FileAppendTransaction, FileCreateTransaction, FileDeleteTransaction, FileId, PublicKey, } from "@hashgraph/sdk";
4
- import { json } from "../context.js";
7
+ import { FileAppendTransaction, FileCreateTransaction, FileDeleteTransaction, FileId, FileUpdateTransaction, PublicKey, } from "@hashgraph/sdk";
5
8
  export function registerFileTools(register, ctx) {
6
9
  register("hedera_create_file", "Build (unsigned) a new file. Useful for storing compiled contract bytecode before deployment.", {
7
10
  contents: z.string().describe("File contents (UTF-8 text or hex bytecode)"),
8
- key: z.string().optional().describe("Public key controlling the file (enables append/delete)"),
11
+ key: z.string().optional().describe("Public key controlling the file (enables append/update/delete)"),
9
12
  memo: z.string().optional(),
10
13
  payerAccountId: z.string().optional(),
11
14
  }, async (a) => {
@@ -16,20 +19,28 @@ export function registerFileTools(register, ctx) {
16
19
  tx.setFileMemo(a.memo);
17
20
  return ctx.buildAndRender(tx, `Create file (${Buffer.from(a.contents).length} bytes)`, a.payerAccountId);
18
21
  });
19
- register("hedera_append_file", "Build (unsigned) an append to an existing file (for bytecode larger than one transaction).", {
20
- fileId: z.string(),
21
- contents: z.string(),
22
- payerAccountId: z.string().optional(),
23
- }, async (a) => {
22
+ register("hedera_append_file", "Build (unsigned) an append to an existing file (for bytecode larger than one transaction).", { fileId: z.string(), contents: z.string(), payerAccountId: z.string().optional() }, async (a) => {
24
23
  const tx = new FileAppendTransaction()
25
24
  .setFileId(FileId.fromString(a.fileId))
26
25
  .setContents(a.contents);
27
26
  return ctx.buildAndRender(tx, `Append ${Buffer.from(a.contents).length} bytes to file ${a.fileId}`, a.payerAccountId);
28
27
  });
28
+ register("hedera_update_file", "Build (unsigned) an update that replaces a file's contents and/or memo.", {
29
+ fileId: z.string(),
30
+ contents: z.string().optional(),
31
+ memo: z.string().optional(),
32
+ payerAccountId: z.string().optional(),
33
+ }, async (a) => {
34
+ const tx = new FileUpdateTransaction().setFileId(FileId.fromString(a.fileId));
35
+ if (a.contents != null)
36
+ tx.setContents(a.contents);
37
+ if (a.memo != null)
38
+ tx.setFileMemo(a.memo);
39
+ return ctx.buildAndRender(tx, `Update file ${a.fileId}`, a.payerAccountId);
40
+ });
29
41
  register("hedera_delete_file", "Build (unsigned) a file deletion.", { fileId: z.string(), payerAccountId: z.string().optional() }, async (a) => {
30
42
  const tx = new FileDeleteTransaction().setFileId(FileId.fromString(a.fileId));
31
43
  return ctx.buildAndRender(tx, `Delete file ${a.fileId}`, a.payerAccountId);
32
44
  });
33
- register("hedera_get_file_info", "Read file metadata (size, keys, expiry) from the Mirror Node.", { fileId: z.string() }, async (a) => json(await ctx.mirror(`/api/v1/files/${encodeURIComponent(a.fileId)}`)));
34
45
  }
35
46
  //# sourceMappingURL=file.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"file.js","sourceRoot":"","sources":["../../src/tools/file.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"file.js","sourceRoot":"","sources":["../../src/tools/file.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  /** Network/utility tools: transactions, nodes, fees, supply, exchange rate, and tx decoding. */
2
2
  import { z } from "zod";
3
- import { Transaction } from "@hashgraph/sdk";
3
+ import { PrngTransaction, Transaction } from "@hashgraph/sdk";
4
4
  import { json, resolveTxType } from "../context.js";
5
5
  export function registerNetworkTools(register, ctx) {
6
6
  register("hedera_get_transaction", "Read a transaction's records/results from the Mirror Node by transaction id.", { transactionId: z.string().describe("e.g. 0.0.1234-1700000000-000000000 or 0.0.1234@1700000000.0") }, async (a) => {
@@ -12,6 +12,15 @@ export function registerNetworkTools(register, ctx) {
12
12
  register("hedera_get_exchange_rate", "Read the current HBAR↔USD exchange rate from the Mirror Node.", {}, async () => json(await ctx.mirror(`/api/v1/network/exchangerate`)));
13
13
  register("hedera_get_network_supply", "Read total/circulating HBAR supply from the Mirror Node.", {}, async () => json(await ctx.mirror(`/api/v1/network/supply`)));
14
14
  register("hedera_get_network_fees", "Read the current network fee schedule from the Mirror Node.", {}, async () => json(await ctx.mirror(`/api/v1/network/fees`)));
15
+ register("hedera_prng", "Build (unsigned) a pseudo-random number generation transaction (native on-chain RNG). Optionally bound to [0, range).", {
16
+ range: z.number().int().positive().optional().describe("If set, result is a uint in [0, range)"),
17
+ payerAccountId: z.string().optional(),
18
+ }, async (a) => {
19
+ const tx = new PrngTransaction();
20
+ if (a.range != null)
21
+ tx.setRange(a.range);
22
+ return ctx.buildAndRender(tx, `Generate random number${a.range != null ? ` in [0, ${a.range})` : ""}`, a.payerAccountId);
23
+ });
15
24
  register("hedera_decode_transaction", "Decode a base64 transaction (e.g. one built by this server) into a human-readable summary — useful for review before signing.", { transactionBase64: z.string().describe("Base64 transaction bytes") }, async (a) => {
16
25
  const tx = Transaction.fromBytes(Buffer.from(a.transactionBase64, "base64"));
17
26
  return json({
@@ -1 +1 @@
1
- {"version":3,"file":"network.js","sourceRoot":"","sources":["../../src/tools/network.ts"],"names":[],"mappings":"AAAA,gGAAgG;AAChG,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C,OAAO,EAAa,IAAI,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE/D,MAAM,UAAU,oBAAoB,CAAC,QAAkB,EAAE,GAAc;IACrE,QAAQ,CACN,wBAAwB,EACxB,8EAA8E,EAC9E,EAAE,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,6DAA6D,CAAC,EAAE,EACrG,KAAK,EAAE,CAAC,EAAE,EAAE;QACV,0CAA0C;QAC1C,MAAM,EAAE,GAAG,CAAC,CAAC,aAAa,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QACxE,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,MAAM,CAAC,wBAAwB,kBAAkB,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;IAClF,CAAC,CACF,CAAC;IAEF,QAAQ,CACN,0BAA0B,EAC1B,oEAAoE,EACpE,EAAE,EACF,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,MAAM,CAAC,gCAAgC,CAAC,CAAC,CACrE,CAAC;IAEF,QAAQ,CACN,0BAA0B,EAC1B,+DAA+D,EAC/D,EAAE,EACF,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,MAAM,CAAC,8BAA8B,CAAC,CAAC,CACnE,CAAC;IAEF,QAAQ,CACN,2BAA2B,EAC3B,0DAA0D,EAC1D,EAAE,EACF,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC,CAC7D,CAAC;IAEF,QAAQ,CACN,yBAAyB,EACzB,6DAA6D,EAC7D,EAAE,EACF,KAAK,IAAI,EAAE,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,MAAM,CAAC,sBAAsB,CAAC,CAAC,CAC3D,CAAC;IAEF,QAAQ,CACN,2BAA2B,EAC3B,+HAA+H,EAC/H,EAAE,iBAAiB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC,EAAE,EACtE,KAAK,EAAE,CAAC,EAAE,EAAE;QACV,MAAM,EAAE,GAAG,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,iBAAiB,EAAE,QAAQ,CAAC,CAAC,CAAC;QAC7E,OAAO,IAAI,CAAC;YACV,IAAI,EAAE,aAAa,CAAC,EAAE,CAAC;YACvB,aAAa,EAAE,EAAE,CAAC,aAAa,EAAE,QAAQ,EAAE,IAAI,IAAI;YACnD,cAAc,EAAE,EAAE,CAAC,cAAc,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAC,IAAI,IAAI;YACnE,eAAe,EAAE,EAAE,CAAC,eAAe,IAAI,IAAI;YAC3C,iBAAiB,EAAE,EAAE,CAAC,iBAAiB,EAAE,QAAQ,EAAE,IAAI,IAAI;SAC5D,CAAC,CAAC;IACL,CAAC,CACF,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"network.js","sourceRoot":"","sources":["../../src/tools/network.ts"],"names":[],"mappings":"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"}
@@ -1,18 +1,22 @@
1
- /** Scheduled transactions: wrap a build-only inner transaction for multi-party signing. */
1
+ /** Scheduled transactions: wrap an inner transfer for multi-party / threshold signing. */
2
2
  import { z } from "zod";
3
- import { PublicKey, ScheduleCreateTransaction, ScheduleDeleteTransaction, ScheduleId, ScheduleSignTransaction, Transaction, } from "@hashgraph/sdk";
3
+ import { AccountId, Hbar, PublicKey, ScheduleCreateTransaction, ScheduleDeleteTransaction, ScheduleId, ScheduleSignTransaction, TransferTransaction, } from "@hashgraph/sdk";
4
4
  import { json } from "../context.js";
5
5
  export function registerScheduleTools(register, ctx) {
6
- register("hedera_create_schedule", "Build (unsigned) a scheduled transaction wrapping an inner transaction (provided as base64 bytes). Enables multi-party / threshold signing before execution.", {
7
- scheduledTransactionBase64: z
8
- .string()
9
- .describe("Inner transaction bytes (base64) produced by another build tool"),
6
+ register("hedera_create_schedule", "Build (unsigned) a scheduled HBAR transfer — wraps an inner transfer so multiple parties can sign before it executes.", {
7
+ toAccountId: z.string().describe("Recipient of the scheduled transfer"),
8
+ amountHbar: z.number().positive().describe("Amount in HBAR"),
9
+ fromAccountId: z.string().optional().describe("Sender (defaults to payer)"),
10
10
  adminKey: z.string().optional().describe("Admin public key (enables schedule deletion)"),
11
11
  schedulePayerAccountId: z.string().optional().describe("Account that pays when the schedule executes"),
12
12
  memo: z.string().optional(),
13
13
  payerAccountId: z.string().optional(),
14
14
  }, async (a) => {
15
- const inner = Transaction.fromBytes(Buffer.from(a.scheduledTransactionBase64, "base64"));
15
+ const from = AccountId.fromString(a.fromAccountId ?? ctx.payer(a.payerAccountId).toString());
16
+ // Inner transaction MUST be unfrozen for ScheduleCreate to accept it.
17
+ const inner = new TransferTransaction()
18
+ .addHbarTransfer(from, new Hbar(-a.amountHbar))
19
+ .addHbarTransfer(AccountId.fromString(a.toAccountId), new Hbar(a.amountHbar));
16
20
  const tx = new ScheduleCreateTransaction().setScheduledTransaction(inner);
17
21
  if (a.adminKey)
18
22
  tx.setAdminKey(PublicKey.fromString(a.adminKey));
@@ -20,7 +24,7 @@ export function registerScheduleTools(register, ctx) {
20
24
  tx.setPayerAccountId(a.schedulePayerAccountId);
21
25
  if (a.memo)
22
26
  tx.setScheduleMemo(a.memo);
23
- return ctx.buildAndRender(tx, `Create schedule wrapping ${inner.constructor.name}`, a.payerAccountId);
27
+ return ctx.buildAndRender(tx, `Create scheduled transfer ${a.amountHbar} ℏ · ${from} → ${a.toAccountId}`, a.payerAccountId);
24
28
  });
25
29
  register("hedera_sign_schedule", "Build (unsigned) a signature add to an existing scheduled transaction.", { scheduleId: z.string(), payerAccountId: z.string().optional() }, async (a) => {
26
30
  const tx = new ScheduleSignTransaction().setScheduleId(ScheduleId.fromString(a.scheduleId));
@@ -1 +1 @@
1
- {"version":3,"file":"schedule.js","sourceRoot":"","sources":["../../src/tools/schedule.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"schedule.js","sourceRoot":"","sources":["../../src/tools/schedule.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  /** Token service (HTS): create, mint, burn, transfer, associate, freeze, KYC, pause, wipe, delete + reads. */
2
2
  import { z } from "zod";
3
- import { AccountId, NftId, PublicKey, TokenAssociateTransaction, TokenBurnTransaction, TokenCreateTransaction, TokenDeleteTransaction, TokenDissociateTransaction, TokenFreezeTransaction, TokenGrantKycTransaction, TokenId, TokenMintTransaction, TokenPauseTransaction, TokenRevokeKycTransaction, TokenSupplyType, TokenType, TokenUnfreezeTransaction, TokenUnpauseTransaction, TokenWipeTransaction, TransferTransaction, } from "@hashgraph/sdk";
3
+ import { AccountAllowanceApproveTransaction, AccountId, NftId, PublicKey, TokenAirdropTransaction, TokenAssociateTransaction, TokenBurnTransaction, TokenCreateTransaction, TokenDeleteTransaction, TokenDissociateTransaction, TokenFreezeTransaction, TokenGrantKycTransaction, TokenId, TokenMintTransaction, TokenPauseTransaction, TokenRejectTransaction, TokenRevokeKycTransaction, TokenSupplyType, TokenType, TokenUnfreezeTransaction, TokenUnpauseTransaction, TokenUpdateTransaction, TokenWipeTransaction, TransferTransaction, } from "@hashgraph/sdk";
4
4
  import { json } from "../context.js";
5
5
  function maybeKey(value) {
6
6
  return value ? PublicKey.fromString(value) : undefined;
@@ -187,6 +187,70 @@ export function registerTokenTools(register, ctx) {
187
187
  const tx = new TokenDeleteTransaction().setTokenId(TokenId.fromString(a.tokenId));
188
188
  return ctx.buildAndRender(tx, `Delete token ${a.tokenId}`, a.payerAccountId);
189
189
  });
190
+ register("hedera_update_token", "Build (unsigned) an update to a token's name, symbol, memo, or treasury (requires the admin key to sign).", {
191
+ tokenId: z.string(),
192
+ name: z.string().optional(),
193
+ symbol: z.string().optional(),
194
+ memo: z.string().optional(),
195
+ treasuryAccountId: z.string().optional(),
196
+ payerAccountId: z.string().optional(),
197
+ }, async (a) => {
198
+ const tx = new TokenUpdateTransaction().setTokenId(TokenId.fromString(a.tokenId));
199
+ if (a.name != null)
200
+ tx.setTokenName(a.name);
201
+ if (a.symbol != null)
202
+ tx.setTokenSymbol(a.symbol);
203
+ if (a.memo != null)
204
+ tx.setTokenMemo(a.memo);
205
+ if (a.treasuryAccountId)
206
+ tx.setTreasuryAccountId(AccountId.fromString(a.treasuryAccountId));
207
+ return ctx.buildAndRender(tx, `Update token ${a.tokenId}`, a.payerAccountId);
208
+ });
209
+ register("hedera_token_airdrop", "Build (unsigned) a fungible-token airdrop (HIP-904) — auto-associates recipients without prior opt-in.", {
210
+ tokenId: z.string(),
211
+ fromAccountId: z.string().optional().describe("Sender (defaults to payer)"),
212
+ toAccountId: z.string(),
213
+ amount: z.number().int().positive().describe("Amount in base units"),
214
+ payerAccountId: z.string().optional(),
215
+ }, async (a) => {
216
+ const token = TokenId.fromString(a.tokenId);
217
+ const from = AccountId.fromString(a.fromAccountId ?? ctx.payer(a.payerAccountId).toString());
218
+ const to = AccountId.fromString(a.toAccountId);
219
+ const tx = new TokenAirdropTransaction()
220
+ .addTokenTransfer(token, from, -a.amount)
221
+ .addTokenTransfer(token, to, a.amount);
222
+ return ctx.buildAndRender(tx, `Airdrop ${a.amount} of ${a.tokenId} → ${to}`, a.payerAccountId);
223
+ });
224
+ register("hedera_reject_token", "Build (unsigned) a token rejection (HIP-904) — returns an unwanted token to its treasury.", {
225
+ ownerAccountId: z.string().optional().describe("Holder rejecting (defaults to payer)"),
226
+ tokenId: z.string(),
227
+ payerAccountId: z.string().optional(),
228
+ }, async (a) => {
229
+ const owner = AccountId.fromString(a.ownerAccountId ?? ctx.payer(a.payerAccountId).toString());
230
+ const tx = new TokenRejectTransaction().setOwnerId(owner).addTokenId(TokenId.fromString(a.tokenId));
231
+ return ctx.buildAndRender(tx, `Reject token ${a.tokenId} (owner ${owner})`, a.payerAccountId);
232
+ });
233
+ register("hedera_approve_token_allowance", "Build (unsigned) a fungible-token spending allowance for a spender.", {
234
+ tokenId: z.string(),
235
+ ownerAccountId: z.string().optional().describe("Owner (defaults to payer)"),
236
+ spenderAccountId: z.string(),
237
+ amount: z.number().int().positive().describe("Allowance amount in base units"),
238
+ payerAccountId: z.string().optional(),
239
+ }, async (a) => {
240
+ const owner = AccountId.fromString(a.ownerAccountId ?? ctx.payer(a.payerAccountId).toString());
241
+ const tx = new AccountAllowanceApproveTransaction().approveTokenAllowance(TokenId.fromString(a.tokenId), owner, AccountId.fromString(a.spenderAccountId), a.amount);
242
+ return ctx.buildAndRender(tx, `Approve ${a.amount} of ${a.tokenId} · ${owner} → ${a.spenderAccountId}`, a.payerAccountId);
243
+ });
244
+ register("hedera_approve_nft_allowance", "Build (unsigned) an NFT allowance for all serials of a collection (approve-for-all).", {
245
+ tokenId: z.string(),
246
+ ownerAccountId: z.string().optional().describe("Owner (defaults to payer)"),
247
+ spenderAccountId: z.string(),
248
+ payerAccountId: z.string().optional(),
249
+ }, async (a) => {
250
+ const owner = AccountId.fromString(a.ownerAccountId ?? ctx.payer(a.payerAccountId).toString());
251
+ const tx = new AccountAllowanceApproveTransaction().approveTokenNftAllowanceAllSerials(TokenId.fromString(a.tokenId), owner, AccountId.fromString(a.spenderAccountId));
252
+ return ctx.buildAndRender(tx, `Approve all NFTs of ${a.tokenId} · ${owner} → ${a.spenderAccountId}`, a.payerAccountId);
253
+ });
190
254
  // ---- Mirror Node reads (keyless) ----
191
255
  register("hedera_get_token_info", "Read token info (type, supply, keys, custom fees) from the Mirror Node.", { tokenId: z.string() }, async (a) => json(await ctx.mirror(`/api/v1/tokens/${encodeURIComponent(a.tokenId)}`)));
192
256
  register("hedera_get_nft_info", "Read a specific NFT's info (owner, metadata, serial) from the Mirror Node.", { tokenId: z.string(), serial: z.number().int().positive() }, async (a) => json(await ctx.mirror(`/api/v1/tokens/${encodeURIComponent(a.tokenId)}/nfts/${a.serial}`)));
@@ -1 +1 @@
1
- {"version":3,"file":"token.js","sourceRoot":"","sources":["../../src/tools/token.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"token.js","sourceRoot":"","sources":["../../src/tools/token.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@purplesquirrel/hedera-mcp",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
4
  "mcpName": "io.github.ExpertVagabond/hedera-mcp",
5
5
  "description": "Comprehensive MCP server for Hedera (Hashgraph) — full coverage of Account, Token (HTS), Consensus (HCS), Smart Contract (EVM), File, Schedule, and Network services. Reads via Mirror Node (keyless); writes are build-only (returns unsigned serialized transactions). Never holds keys.",
6
6
  "type": "module",