Skip to main content
Glama

HashPilot

npm version License Node.js

AI-powered MCP server for Hedera blockchain development

HashPilot is a Model Context Protocol (MCP) server that integrates with AI assistants like Claude Desktop, Cursor, Windsurf, and VS Code to provide a complete toolkit for Hedera blockchain development.

Quick Start

Install via npm

npm install -g hashpilot

Or use with npx (no install required)

npx hashpilot

Related MCP server: Flow MCP Server

Editor Configuration

HashPilot works with any MCP-compatible editor. Configure your editor to use HashPilot:

Claude Desktop

Config file location:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

  • Windows: %APPDATA%\Claude\claude_desktop_config.json

  • Linux: ~/.config/Claude/claude_desktop_config.json

Configuration:

{
  "mcpServers": {
    "hashpilot": {
      "command": "npx",
      "args": ["-y", "hashpilot"],
      "env": {
        "HEDERA_NETWORK": "testnet",
        "HEDERA_OPERATOR_ID": "0.0.YOUR_ACCOUNT_ID",
        "HEDERA_OPERATOR_KEY": "YOUR_PRIVATE_KEY_HEX",
        "OPENAI_API_KEY": "sk-YOUR_OPENAI_KEY"
      }
    }
  }
}

Cursor

Config file location:

  • macOS: ~/.cursor/mcp.json

  • Windows: %USERPROFILE%\.cursor\mcp.json

  • Linux: ~/.cursor/mcp.json

Configuration:

{
  "mcpServers": {
    "hashpilot": {
      "command": "npx",
      "args": ["-y", "hashpilot"],
      "env": {
        "HEDERA_NETWORK": "testnet",
        "HEDERA_OPERATOR_ID": "0.0.YOUR_ACCOUNT_ID",
        "HEDERA_OPERATOR_KEY": "YOUR_PRIVATE_KEY_HEX",
        "OPENAI_API_KEY": "sk-YOUR_OPENAI_KEY"
      }
    }
  }
}

Windsurf

Config file location:

  • macOS: ~/.codeium/windsurf/mcp_config.json

  • Windows: %USERPROFILE%\.codeium\windsurf\mcp_config.json

  • Linux: ~/.codeium/windsurf/mcp_config.json

Configuration:

{
  "mcpServers": {
    "hashpilot": {
      "command": "npx",
      "args": ["-y", "hashpilot"],
      "env": {
        "HEDERA_NETWORK": "testnet",
        "HEDERA_OPERATOR_ID": "0.0.YOUR_ACCOUNT_ID",
        "HEDERA_OPERATOR_KEY": "YOUR_PRIVATE_KEY_HEX",
        "OPENAI_API_KEY": "sk-YOUR_OPENAI_KEY"
      }
    }
  }
}

VS Code (with MCP extension)

Install the MCP extension and add to your settings.json:

{
  "mcp.servers": {
    "hashpilot": {
      "command": "npx",
      "args": ["-y", "hashpilot"],
      "env": {
        "HEDERA_NETWORK": "testnet",
        "HEDERA_OPERATOR_ID": "0.0.YOUR_ACCOUNT_ID",
        "HEDERA_OPERATOR_KEY": "YOUR_PRIVATE_KEY_HEX",
        "OPENAI_API_KEY": "sk-YOUR_OPENAI_KEY"
      }
    }
  }
}

Environment Variables

Variable

Required

Description

HEDERA_NETWORK

Yes

Network to use: testnet, mainnet, or previewnet

HEDERA_OPERATOR_ID

Yes

Your Hedera account ID (e.g., 0.0.12345)

HEDERA_OPERATOR_KEY

Yes

Your private key in hex format

OPENAI_API_KEY

For RAG

Required for documentation search and code generation

Features

HashPilot provides 30+ MCP tools covering the complete Hedera development workflow:

Account Management

  • Create new accounts with ECDSA keys

  • Query balances (HBAR and tokens)

  • Transfer HBAR between accounts

  • Get detailed account information

Token Operations (HTS)

  • Create fungible and non-fungible tokens

  • Mint, burn, and transfer tokens

  • Freeze/unfreeze accounts

  • Manage KYC compliance

  • Configure custom fees

Consensus Service (HCS)

  • Create and manage topics

  • Submit messages (auto-chunking for large messages)

  • Query message history

  • Real-time subscriptions

Smart Contracts

  • Deploy contracts via Hardhat or Foundry

  • Verify contracts on HashScan

  • Call read-only functions (free)

  • Execute state-changing transactions

  • Full deployment history tracking

JSON-RPC (EVM Compatibility)

  • 55+ JSON-RPC methods supported

  • eth_call, eth_sendRawTransaction, eth_getLogs

  • Contract deployment and interaction

  • Full EVM tooling compatibility

Stablecoin Studio

  • Create compliant stablecoins

  • Role-based access control

  • KYC/AML compliance features

  • Proof-of-Reserve support

  • Cash-in allowances

Development Tools

  • Hardhat integration (compile, test, deploy)

  • Foundry integration (forge, cast, anvil)

  • Error code explanations

  • Address book management

  • State backup/restore

RAG-Powered Documentation

HashPilot includes a powerful RAG (Retrieval-Augmented Generation) system with 10,000+ pre-indexed documents from the Hedera ecosystem:

Semantic search across all Hedera documentation:

"Search for token creation examples in JavaScript"

docs_ask

Ask any question and get cited answers:

"How do I implement a multi-sig account on Hedera?"

code_generate

Generate SDK code from natural language:

"Generate code to create an NFT collection with royalties"

Indexed Sources:

  • Official Hedera Documentation

  • SDK References (JavaScript, Java, Go, Rust, Python)

  • Hedera Improvement Proposals (HIPs)

  • Tutorials and Examples

  • Smart Contract Patterns

Note: RAG features require an OpenAI API key for embeddings and completions.

Requirements

  • Node.js 18.0.0 or higher

  • Hedera Account - Get a free testnet account at portal.hedera.com

  • OpenAI API Key - Required for RAG features (documentation search, code generation)

Getting a Hedera Testnet Account

  1. Visit portal.hedera.com

  2. Create a free account

  3. Navigate to "Testnet" tab

  4. Copy your Account ID and Private Key (DER encoded)

  5. Convert DER to hex if needed, or use the raw hex key

Example Usage

Once configured, ask your AI assistant:

"Create a new Hedera account with 10 HBAR initial balance"

"Deploy this Solidity contract to testnet using Hardhat"

"Search the docs for HCS message chunking"

"Generate code to create a fungible token with 2 decimals"

"Explain the INSUFFICIENT_PAYER_BALANCE error"

License

Apache-2.0

Contributing

Contributions are welcome! Please see our GitHub repository for guidelines.

Available Tools

30 tools
account_balanceA

Query HBAR and token balances for any Hedera account.

RETURNS: HBAR balance in ℏ format, list of all associated token balances FREE: No transaction fee (Mirror Node query)

USE FOR: Checking account balances, monitoring funds, verifying token holdings.

ParametersJSON Schema
NameRequiredDescriptionDefault
accountIdYesAccount ID (format: 0.0.xxxxx)

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It successfully communicates key behavioral traits: that it's a query (not a mutation), that it's free (no transaction fee), that it uses Mirror Node infrastructure, and what format the HBAR balance returns in (ℏ format). However, it doesn't mention potential limitations like rate limits or error conditions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is efficiently structured with clear sections (purpose, returns, cost, usage) in just four sentences. Every sentence earns its place by providing distinct, valuable information without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter query tool with no output schema, the description provides excellent context about what the tool does, when to use it, cost implications, and return format. The only minor gap is the lack of output structure details, but given the tool's simplicity and clear return description, this is acceptable.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already fully documents the single 'accountId' parameter with its format. The description doesn't add any additional parameter semantics beyond what's in the schema, making the baseline score of 3 appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action ('Query'), resource ('HBAR and token balances'), and target ('any Hedera account'). It distinguishes itself from sibling tools like 'account_info' by focusing specifically on balance queries rather than general account information.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The 'USE FOR' section explicitly lists three specific use cases: 'Checking account balances, monitoring funds, verifying token holdings.' This provides clear guidance on when to use this tool versus alternatives like 'account_info' which might provide broader account details.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

account_createA

Create a new Hedera account with customizable parameters.

CREATES: New account with auto-generated ECDSA key pair (or use provided public key) FUNDS: Initial HBAR balance from operator account RETURNS: Account ID, private key, public key, transaction ID

USE FOR: Creating new accounts for testing, development, or production workflows. COSTS: Network fee + initial balance (minimum 1 HBAR recommended)

ParametersJSON Schema
NameRequiredDescriptionDefault
initialBalanceNoInitial HBAR balance (default: 1)
memoNoAccount memo (max 100 chars)
publicKeyNoOptional: Provide existing public key

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It effectively describes key behaviors: it creates a new account (mutation), funds it with HBAR (cost implication), and returns specific data (Account ID, keys, transaction ID). It also mentions costs (network fee + initial balance) and a recommended minimum (1 HBAR), adding valuable context beyond basic functionality.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with clear sections (CREATES, FUNDS, RETURNS, USE FOR, COSTS), each sentence adds value without redundancy, and it is front-loaded with the core purpose. It efficiently conveys necessary information in a compact format.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations and no output schema, the description does a good job covering key aspects: purpose, usage, behaviors, and costs. It explains what the tool does, when to use it, and what to expect (returns and costs). However, it lacks details on error handling or transaction confirmation, which could be relevant for a mutation tool, keeping it from a perfect score.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all parameters (initialBalance, memo, publicKey) with descriptions. The description adds some context by mentioning 'auto-generated ECDSA key pair (or use provided public key)' for the publicKey parameter, but this is minimal enhancement over the schema. Baseline 3 is appropriate as the schema does most of the work.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action ('Create a new Hedera account') and resource ('account'), distinguishing it from sibling tools like account_balance or account_info. It provides concrete details about what gets created (account with key pair) and funded (HBAR balance), making the purpose unambiguous and distinct.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The 'USE FOR' section explicitly lists contexts (testing, development, production workflows), giving clear guidance on when to use this tool. However, it does not mention when NOT to use it or name specific alternatives among siblings (e.g., account_info for querying), which prevents a perfect score.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

account_infoA

Get comprehensive Hedera account information.

RETURNS: Balance, EVM address, public key, memo, auto-renew period, expiration FREE: No transaction fee (Mirror Node query)

USE FOR: Account inspection, EVM address lookup, key verification, expiration monitoring.

ParametersJSON Schema
NameRequiredDescriptionDefault
accountIdYesAccount ID (format: 0.0.xxxxx)

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It effectively adds context beyond basic functionality: it specifies what information is returned (balance, EVM address, etc.), notes it's a Mirror Node query (implying read-only, non-destructive), and explicitly states 'FREE: No transaction fee,' which is crucial for cost-awareness. However, it doesn't mention rate limits, authentication needs, or error handling, leaving some behavioral aspects uncovered.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is efficiently structured with clear sections (purpose, returns, cost, usage) in just four sentences. Each sentence earns its place by providing distinct value: the first states the core action, the second details returns, the third clarifies cost, and the fourth offers usage guidelines. It's front-loaded with the main purpose and avoids any redundant or vague phrasing.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity (a read-only query with one parameter), no annotations, and no output schema, the description does well by covering key aspects: purpose, returns, cost, and usage. However, it lacks details on output format (e.g., JSON structure) and potential errors, which could be important for an AI agent to handle responses correctly, slightly reducing completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage, with the single parameter 'accountId' well-documented in the schema itself ('Account ID (format: 0.0.xxxxx)'). The description adds no additional parameter semantics beyond what the schema provides, such as examples or edge cases, so it meets the baseline of 3 for high schema coverage without compensating value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action ('Get comprehensive Hedera account information') and resource ('Hedera account'), distinguishing it from siblings like 'account_balance' (which only returns balance) and 'account_create' (which creates accounts). The verb 'Get' is precise and the scope 'comprehensive' sets expectations appropriately.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly provides usage guidance with 'USE FOR: Account inspection, EVM address lookup, key verification, expiration monitoring.' This gives clear scenarios when to use this tool versus alternatives like 'account_balance' for just balance or 'mirror_query_account' for similar queries, making it highly actionable for an AI agent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

addressbook_manageA

Manage Hedera account address book for multi-account workflows.

OPERATIONS:

  • add: Add account to address book (reference only, no private key)

  • import: Import account WITH private key for transaction signing

  • list: Show all saved accounts with aliases and metadata

  • update: Update account nickname

  • remove: Remove account from address book

USE THIS FOR: Managing multiple accounts, organizing workflows, quick account reference.

ParametersJSON Schema
NameRequiredDescriptionDefault
operationYesAddress book operation
accountIdNoHedera account ID (for add/import)
aliasNoUnique alias for quick reference
nicknameNoHuman-readable name
privateKeyNoPrivate key in DER format (for import only)

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It does well by explaining key behavioral traits: distinguishing between 'add' (reference only, no private key) and 'import' (with private key for transaction signing), and specifying that operations work on saved accounts with aliases. However, it doesn't mention potential side effects like data persistence, error conditions, or security implications of handling private keys.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with clear sections (OPERATIONS, USE THIS FOR) and uses bullet points for operations. Every sentence earns its place: the opening establishes purpose, operations are clearly listed with brief explanations, and the usage guideline is front-loaded. No wasted words or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations and no output schema, the description does a good job covering the tool's functionality. It explains all operations, their purposes, and usage context. However, it doesn't describe what the tool returns (e.g., success confirmation, list output format, error messages), which would be helpful since there's no output schema. For a multi-operation tool with behavioral nuances, this is a minor gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description adds significant value by explaining the semantic differences between operations: 'add' vs 'import' clarifies when privateKey is needed, and 'update' specifies it's for nicknames. It also clarifies that alias is for 'quick reference' and operations apply to 'saved accounts.' This provides context beyond the schema's technical descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: managing Hedera account address books for multi-account workflows. It specifies the exact operations (add, import, list, update, remove) and distinguishes this from sibling tools like account_create, account_info, or transfer_hbar by focusing on address book management rather than account creation, information retrieval, or transactions.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states 'USE THIS FOR: Managing multiple accounts, organizing workflows, quick account reference.' This provides clear guidance on when to use this tool versus alternatives. It differentiates from account management tools by focusing on address book organization rather than direct account operations.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

code_generateA

Generate context-aware Hedera SDK code from natural language.

CREATES: Complete, runnable code with imports, error handling, best practices LANGUAGES: JavaScript, TypeScript, Java, Python, Go, Solidity STYLES: minimal (core logic), complete (with setup), production (full best practices)

USE FOR: Creating new implementations, generating boilerplate, scaffolding projects.

ParametersJSON Schema
NameRequiredDescriptionDefault
descriptionYesWhat code to generate
languageNoTarget language (default: javascript)
styleNoCode style (default: complete)
includeImportsNoInclude imports (default: true)
includeErrorHandlingNoInclude try-catch (default: true)

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It mentions what the tool creates (complete, runnable code) and lists supported languages and styles, which is helpful. However, it doesn't disclose important behavioral traits like whether this is a read-only operation, potential rate limits, authentication requirements, or what happens when generation fails.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with clear sections (CREATES, LANGUAGES, STYLES, USE FOR) and uses bullet-like formatting. Every sentence adds value, though the 'USE FOR' section could be more concise. The description is appropriately sized for a tool with 5 parameters and no annotations.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a code generation tool with 5 parameters and no output schema, the description provides good context about what it creates, languages, and styles. However, it lacks information about the output format (what exactly is returned), error conditions, or any limitations. With no annotations and no output schema, more behavioral context would be helpful.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all 5 parameters thoroughly. The description adds some context by listing languages and styles in a more readable format, but doesn't provide additional semantic meaning beyond what's in the schema. The baseline of 3 is appropriate when the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool 'generates context-aware Hedera SDK code from natural language' with specific details about what it creates (complete, runnable code with imports, error handling, best practices). It distinguishes itself from sibling tools like 'docs_get_example' or 'foundry_contract' by focusing on code generation rather than documentation retrieval or contract management.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The 'USE FOR' section explicitly lists three use cases: creating new implementations, generating boilerplate, and scaffolding projects. This provides clear context for when to use this tool. However, it doesn't specify when NOT to use it or mention alternatives like 'docs_get_example' for existing code examples.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

deploy_contractA

Deploy smart contract to Hedera with unified interface.

AUTO-DETECTS: Hardhat or Foundry project framework SUPPORTS: Constructor arguments, gas limits, auto-verification TRACKS: Deployment history with metadata

USE FOR: Production contract deployment, automated workflows, verified deployments.

ParametersJSON Schema
NameRequiredDescriptionDefault
contractNameYesContract name
networkYesTarget network
constructorArgsNoConstructor arguments
verifyNoAuto-verify on HashScan
frameworkNoFramework (auto-detected if not specified)

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It adds useful context beyond basic functionality: it mentions auto-detection of Hardhat or Foundry, support for constructor arguments and gas limits, auto-verification, and tracking deployment history with metadata. However, it lacks details on permissions, rate limits, error handling, or response format, which are important for a deployment tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured and front-loaded with the core purpose, followed by bullet-like sections (AUTO-DETECTS, SUPPORTS, TRACKS, USE FOR) that efficiently convey key information without waste. Every sentence earns its place by adding distinct value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of a deployment tool with no annotations and no output schema, the description does a good job covering purpose, usage, and behavioral traits. However, it lacks details on return values or error cases, which would be helpful for completeness. It compensates somewhat with clear usage guidelines and transparency.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all 5 parameters thoroughly. The description adds minimal value beyond the schema: it implies framework auto-detection and verification features but doesn't provide additional syntax or format details. This meets the baseline of 3 when schema coverage is high.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool deploys smart contracts to Hedera with a unified interface, specifying the verb 'deploy' and resource 'smart contract'. It distinguishes from siblings like rpc_deploy_contract by emphasizing auto-detection of frameworks, constructor arguments, gas limits, and verification features, making it specific and differentiated.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states 'USE FOR: Production contract deployment, automated workflows, verified deployments,' providing clear context on when to use this tool. It distinguishes from alternatives like verify_contract by focusing on deployment with verification, and from rpc_deploy_contract by highlighting framework auto-detection and tracking features.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

deployment_historyB

View deployment history with filtering and export.

FILTERS: By network, contract name, status EXPORTS: JSON, CSV, or Markdown format

USE FOR: Tracking deployments, auditing, documentation.

ParametersJSON Schema
NameRequiredDescriptionDefault
networkNo
contractNameNoFilter by name
limitNoMax results (default: 20)
exportFormatNo

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It mentions filtering and export capabilities, but doesn't disclose behavioral traits such as whether this is a read-only operation (implied by 'view'), potential rate limits, authentication needs, or what the output looks like (e.g., pagination, error handling). For a tool with no annotations, this leaves significant gaps in understanding its behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with sections (FILTERS, EXPORTS, USE FOR) and uses bullet-like formatting for clarity. It's concise, with each sentence adding value, though it could be more front-loaded by starting with the core purpose. No wasted words, but minor improvements in flow are possible.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations, no output schema, and 4 parameters with 50% schema coverage, the description provides basic context but is incomplete. It covers what the tool does and some parameter semantics, but lacks details on behavioral aspects, output format, or error handling. For a tool with moderate complexity, this is adequate but has clear gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 50%, with parameters 'network' and 'exportFormat' having enums and 'contractName' and 'limit' having brief descriptions. The description adds value by listing filters (network, contract name, status) and export formats (JSON, CSV, Markdown), which clarifies the purpose of some parameters. However, it doesn't fully compensate for the coverage gap, as 'status' is mentioned but not in the schema, and details like default values or usage are sparse.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'View deployment history with filtering and export.' It specifies the resource (deployment history) and actions (view, filter, export). However, it doesn't explicitly differentiate from sibling tools like 'deploy_contract' or 'verify_contract' which might also involve deployment operations, though the focus on history tracking is implied.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description includes 'USE FOR: Tracking deployments, auditing, documentation,' which provides context on when to use this tool. However, it lacks explicit guidance on when not to use it or alternatives among siblings (e.g., 'deploy_contract' for new deployments vs. this for history). The guidance is implied but not comprehensive.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

docs_askA

Answer ANY knowledge question about Hedera using RAG.

HANDLES: Conceptual (what is X?), how-to (how do I?), comparison (X vs Y), troubleshooting, best practices, architecture, security RETURNS: Comprehensive answer with code examples and source citations EXPERTISE: Adjustable for beginner/intermediate/advanced levels

USE FOR: Learning Hedera concepts, getting implementation guidance, understanding best practices. THIS IS YOUR PRIMARY TOOL FOR HEDERA KNOWLEDGE QUESTIONS.

ParametersJSON Schema
NameRequiredDescriptionDefault
questionYesQuestion about Hedera
expertiseLevelNoUser expertise level
includeCodeExamplesNoInclude code in answer
languageNoPreferred language for examples

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It effectively describes key behaviors: it uses RAG (Retrieval-Augmented Generation), handles various question types (conceptual, how-to, etc.), returns comprehensive answers with code examples and citations, and adjusts for expertise levels. However, it doesn't mention potential limitations like response time, accuracy constraints, or data freshness.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with clear sections (HANDLES, RETURNS, EXPERTISE, USE FOR) and front-loaded with the core purpose. However, the final sentence ('THIS IS YOUR PRIMARY TOOL...') is somewhat redundant with the USE FOR section, and the description could be slightly more concise by combining related points.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a knowledge Q&A tool with no annotations and no output schema, the description provides good contextual completeness. It covers purpose, usage, capabilities, and return format. The main gap is the lack of output schema, but the description compensates by detailing what the tool returns (comprehensive answers with code examples and citations). It could be more complete by mentioning response format or potential errors.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all four parameters thoroughly. The description adds some context by mentioning 'expertise level' and 'code examples' in the RETURNS and EXPERTISE sections, but doesn't provide additional semantic meaning beyond what's in the schema descriptions. This meets the baseline of 3 when schema coverage is high.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Answer ANY knowledge question about Hedera using RAG.' It specifies the verb ('Answer'), resource ('knowledge question about Hedera'), and method ('using RAG'), distinguishing it from sibling tools like docs_search or error_explain that likely serve different functions.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit usage guidance: 'USE FOR: Learning Hedera concepts, getting implementation guidance, understanding best practices. THIS IS YOUR PRIMARY TOOL FOR HEDERA KNOWLEDGE QUESTIONS.' It clearly defines when to use this tool (for knowledge questions) versus alternatives like code_generate or account_balance, and lists specific question types it handles.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

docs_get_exampleA

Find working code examples for Hedera functionality.

SEARCHES: SDK examples, tutorials, implementation patterns RETURNS: Annotated code with explanations and source references LANGUAGES: JavaScript, TypeScript, Java, Python, Go, Rust, Solidity

USE FOR: Getting implementation code, learning patterns, finding SDK usage.

ParametersJSON Schema
NameRequiredDescriptionDefault
descriptionYesWhat code you need
languageNo
complexityNo
limitNoMax examples (default: 5)

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden for behavioral disclosure. It describes what the tool returns ('Annotated code with explanations and source references') and what it searches, but lacks details on rate limits, authentication needs, error handling, or pagination behavior. It provides basic operational context but misses important behavioral traits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with clear sections (SEARCHES, RETURNS, LANGUAGES, USE FOR), front-loaded with the core purpose, and every sentence adds value without redundancy. It's appropriately sized for a tool with 4 parameters and clear differentiation needs.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity (4 parameters, no output schema, no annotations), the description provides good context: clear purpose, usage guidelines, return format, and language support. However, it lacks details on behavioral aspects like error cases or performance characteristics that would be helpful for an agent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 50% (2 of 4 parameters have descriptions). The description adds value by listing supported languages (matching the 'language' enum) and implying the 'description' parameter's purpose through context, but doesn't explain 'complexity' or 'limit' beyond what the schema provides. It partially compensates for the coverage gap but not fully.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose with specific verbs ('Find working code examples') and resources ('Hedera functionality'), and distinguishes it from siblings like docs_ask or docs_search by focusing on code examples rather than general documentation. It explicitly lists what it searches for (SDK examples, tutorials, implementation patterns).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit usage guidance with a 'USE FOR' section that lists specific scenarios (getting implementation code, learning patterns, finding SDK usage), helping differentiate it from alternatives like code_generate or general documentation tools. It clearly indicates when this tool is appropriate.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

error_explainA

Explain Hedera error codes and provide debugging guidance.

USE FOR:

  • Understanding cryptic Hedera error codes (e.g., INSUFFICIENT_PAYER_BALANCE)

  • Getting step-by-step solutions for common errors

  • Finding related errors and security recommendations

EXAMPLES:

  • "What does INSUFFICIENT_PAYER_BALANCE mean?"

  • "Explain TOKEN_NOT_ASSOCIATED_TO_ACCOUNT error"

  • "I got CONTRACT_REVERT_EXECUTED - what's wrong?"

  • "List all token-related errors"

ParametersJSON Schema
NameRequiredDescriptionDefault
errorCodeNoHedera error code to explain (e.g., INSUFFICIENT_PAYER_BALANCE, TOKEN_NOT_ASSOCIATED_TO_ACCOUNT)
errorMessageNoFull error message to analyze (will extract error code automatically)
categoryNoList all errors in a specific category
searchNoSearch errors by keyword

TDQS

A4.4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It states the tool 'explains' and provides 'debugging guidance,' which implies it's a read-only informational tool. However, it doesn't disclose behavioral traits like response format, whether it queries a database or uses AI, rate limits, or authentication needs. The description adds basic context but lacks operational details.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with clear sections (purpose, USE FOR, EXAMPLES), front-loaded with the core purpose, and every sentence earns its place by providing specific guidance or examples without redundancy. It's appropriately sized for a tool with multiple use cases.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity (4 parameters, no output schema, no annotations), the description is fairly complete. It covers purpose, usage guidelines, and examples, which helps an agent understand when and how to invoke it. However, without annotations or output schema, it could benefit from more behavioral context (e.g., response format), but the existing content is sufficient for basic use.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all four parameters well. The description doesn't add parameter-specific semantics beyond what's in the schema, but the 'EXAMPLES' section implicitly illustrates usage patterns (e.g., querying by error code or category). With high schema coverage, the baseline is 3, and the examples provide slight additional value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Explain Hedera error codes and provide debugging guidance.' This is a specific verb ('explain') + resource ('Hedera error codes') combination that distinguishes it from all sibling tools, which focus on account management, contract deployment, token operations, etc., rather than error explanation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The 'USE FOR' section explicitly lists three scenarios for when to use this tool: understanding cryptic error codes, getting step-by-step solutions, and finding related errors/security recommendations. This provides clear context and distinguishes it from alternatives like general documentation tools (docs_ask, docs_search) or debugging through other means.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

foundry_contractA

Manage Foundry contract testing, deployment, and interaction.

OPERATIONS:

  • test: Run Forge tests with fuzzing and gas reports

  • create: Deploy single contract via forge create

  • script: Execute Solidity deployment script

  • call: Call read-only function via cast (FREE)

  • send: Send state-changing transaction via cast

  • anvil_start: Start local Anvil node (can fork from network)

  • anvil_stop: Stop Anvil local node

AUTO-RESOLUTION: privateKey and rpcUrl are OPTIONAL - if not provided, automatically uses MCP operator account configuration.

USE FOR: Testing, deployment, gas analysis, and local development.

ParametersJSON Schema
NameRequiredDescriptionDefault
operationYesContract operation to perform
directoryNoAbsolute path to Foundry project directory
matchTestNoTest name filter (for test)
matchContractNoContract name filter (for test)
gasReportNoGenerate gas report (for test)
forkUrlNoRPC URL to fork from (for test/anvil_start)
verbosityNoOutput verbosity 1-5 (for test)
contractNameNoContract name (for create)
constructorArgsNoConstructor args (for create)
rpcUrlNoJSON-RPC URL (optional - auto-resolves from MCP network config)
privateKeyNoPrivate key for signing (optional - auto-uses MCP operator key)
scriptPathNoScript path (for script)
broadcastNoBroadcast transactions (for script)
addressNoContract address (for call/send)
signatureNoFunction signature (for call/send)
callArgsNoFunction arguments (for call/send)
valueNoETH/HBAR value (for send)
portNoPort number (for anvil_start)
forkBlockNoBlock to fork from (for anvil_start)

TDQS

A4.1/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden and adds significant behavioral context. It discloses that 'privateKey and rpcUrl are OPTIONAL - if not provided, automatically uses MCP operator account configuration', which is crucial for understanding authentication and configuration. It also hints at cost implications ('call: Call read-only function via cast (FREE)') and operational scope (e.g., local development with Anvil).

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with clear sections (OPERATIONS, AUTO-RESOLUTION, USE FOR) and front-loaded key information. It's appropriately sized for a complex tool with many operations, though some sentences could be more concise (e.g., the OPERATIONS list is verbose but necessary).

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's high complexity (19 parameters, 7 operations), no annotations, and no output schema, the description does a good job of providing context. It covers purpose, usage, key behavioral traits (auto-resolution, free operations), and operational scope. However, it lacks details on error handling, response formats, or prerequisites (e.g., Foundry installation), leaving some gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all 19 parameters thoroughly. The description adds minimal parameter semantics beyond the schema—it mentions optional auto-resolution for 'privateKey' and 'rpcUrl' and loosely ties some parameters to operations (e.g., 'matchTest' for 'test'), but doesn't provide additional syntax or format details. Baseline 3 is appropriate given high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose as 'Manage Foundry contract testing, deployment, and interaction' with a specific verb ('manage') and resource ('Foundry contract'), and it distinguishes from siblings like 'deploy_contract' and 'hardhat_contract' by specifying the Foundry framework context. The OPERATIONS list further clarifies the scope.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit context for when to use this tool ('USE FOR: Testing, deployment, gas analysis, and local development'), which helps differentiate it from general-purpose siblings like 'rpc_call' or 'deploy_contract'. However, it lacks explicit exclusions or direct alternatives (e.g., when to use 'hardhat_contract' instead).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

foundry_projectA

Manage Foundry project lifecycle operations.

OPERATIONS:

  • init: Initialize new Foundry project with templates

  • install: Install git submodule dependency (e.g., forge-std)

  • update: Update all dependencies

  • remove: Remove a dependency

  • clean: Clean build artifacts

  • build: Compile contracts with optimization options

  • fmt: Format Solidity code

  • inspect: Inspect contract artifacts (ABI, bytecode, storage-layout)

  • get_artifacts: Retrieve compiled artifacts

  • snapshot: Create gas usage snapshot for optimization

USE FOR: Project setup, dependencies, compilation, and gas optimization.

ParametersJSON Schema
NameRequiredDescriptionDefault
operationYesProject operation to perform
directoryNoAbsolute path to Foundry project directory (required for all operations except init which creates it)
templateNoProject template (for init)
dependencyNoDependency name (for install/remove)
optimizeNoEnable optimizer (for build)
optimizerRunsNoOptimizer runs (for build)
viaIrNoUse IR pipeline (for build)
contractNameNoContract name (for inspect/get_artifacts)
fieldNoInspection field (for inspect)

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It does well by listing all operations and their purposes, but doesn't disclose important behavioral traits like whether operations are read-only vs. destructive, permission requirements, rate limits, or error handling. The description adds operational context but lacks safety and performance information.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with clear sections (overview, operations list, usage context) and every sentence earns its place. It's appropriately sized for a multi-operation tool. Minor improvement could be made by front-loading the most critical information more prominently, but overall it's efficient and organized.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (10 operations, 9 parameters) and absence of both annotations and output schema, the description provides good operational coverage but has significant gaps. It explains what each operation does but doesn't describe return values, error conditions, or behavioral constraints. For a multi-operation tool with no structured safety information, this is adequate but incomplete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With 100% schema description coverage, the schema already documents all 9 parameters thoroughly. The description adds value by mapping operations to their required parameters (e.g., 'template for init', 'dependency for install/remove'), but doesn't provide additional semantic context beyond what's in the schema descriptions. This meets the baseline for high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose as 'Manage Foundry project lifecycle operations' and provides a comprehensive list of 10 specific operations with distinct verbs and resources. It effectively distinguishes this tool from siblings like 'foundry_contract' or 'hardhat_project' by focusing on project-level operations rather than contract-specific or alternative framework tasks.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The 'USE FOR' section explicitly states the contexts for using this tool: 'Project setup, dependencies, compilation, and gas optimization.' This provides clear guidance on when to use it. However, it doesn't specify when NOT to use it or name specific alternative tools for overlapping functionality, preventing a perfect score.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hardhat_contractA

Manage Hardhat contract deployment and interaction.

OPERATIONS:

  • deploy: Execute deployment script on target network

  • deploy_ignition: Deploy using Hardhat Ignition (declarative)

  • verify: Get contract verification metadata for HashScan

  • call: Call read-only contract function (FREE)

  • execute: Execute state-changing contract transaction

AUTO-RESOLUTION: Deployment automatically uses MCP operator account credentials. No need to set TESTNET_PRIVATE_KEY manually.

USE FOR: Contract deployment, verification, and interaction.

ParametersJSON Schema
NameRequiredDescriptionDefault
operationYesContract operation to perform
directoryNoAbsolute path to Hardhat project directory
scriptNoDeployment script path (for deploy)
moduleNoIgnition module path (for deploy_ignition)
networkNoTarget network
addressNoContract address (for verify)
constructorArgsNoConstructor arguments (for verify)
contractAddressNoContract address (for call/execute)
abiNoContract ABI (for call/execute)
methodNoMethod name (for call/execute)
methodArgsNoMethod arguments (for call/execute)
privateKeyNoPrivate key (for execute) - optional, auto-uses MCP operator
valueNoHBAR value in wei (for execute)

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It does provide some useful behavioral context: the AUTO-RESOLUTION section explains credential handling, and it distinguishes between 'call' (read-only, FREE) and 'execute' (state-changing). However, it doesn't address important behavioral aspects like error handling, rate limits, network requirements, or what happens during deployment failures.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with clear sections (OPERATIONS, AUTO-RESOLUTION, USE FOR) and uses bullet points effectively. It's appropriately sized for a multi-operation tool with 13 parameters. While efficient, the 'OPERATIONS' section could be slightly more concise by integrating the parenthetical clarifications into the main bullet points.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (13 parameters, 5 operations, no annotations, no output schema), the description provides a reasonable foundation but has significant gaps. It explains what operations are available and some behavioral aspects, but doesn't address error cases, return formats, or prerequisites. For a tool with this many parameters and operations interacting with blockchain contracts, more comprehensive guidance would be helpful.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all 13 parameters thoroughly. The description adds minimal parameter semantics - it mentions that 'deploy_ignition' uses 'Hardhat Ignition (declarative)' and that 'call' is read-only while 'execute' is state-changing. These are helpful clarifications, but most parameter context remains in the schema. The baseline of 3 is appropriate given the comprehensive schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose as 'Manage Hardhat contract deployment and interaction' and lists five specific operations, providing a comprehensive overview. However, it doesn't explicitly distinguish this tool from sibling tools like 'deploy_contract', 'verify_contract', or 'rpc_deploy_contract', which appear to have overlapping functionality in the same domain.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The 'USE FOR' section explicitly states when to use this tool: 'Contract deployment, verification, and interaction.' This provides clear context about appropriate use cases. However, it doesn't specify when NOT to use it or mention alternatives among the many sibling tools that appear related (like deploy_contract, verify_contract, rpc_deploy_contract, etc.).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hardhat_projectB

Manage Hardhat project lifecycle operations.

OPERATIONS:

  • init: Initialize new Hardhat project with Hedera configuration

  • compile: Compile Solidity contracts (with force option)

  • test: Run Mocha/Chai tests with filtering

  • clean: Clean artifacts and cache

  • flatten: Flatten contracts for verification

  • get_artifacts: Retrieve compiled ABI and bytecode

  • get_accounts: List available accounts with balances

  • config_network: Generate Hedera network config snippet

  • run_task: Execute custom Hardhat task

  • list_tasks: List all available tasks

USE FOR: Project setup, compilation, testing, and configuration management.

ParametersJSON Schema
NameRequiredDescriptionDefault
operationYesProject operation to perform
directoryNoAbsolute path to Hardhat project directory (required for all operations except init which creates it)
networksNoNetworks to configure (for init)
solidityNoSolidity version (for init)
typescriptNoUse TypeScript (for init)
forceNoForce recompilation (for compile)
testFilesNoTest files to run (for test)
grepNoTest filter pattern (for test)
networkNoNetwork name
contractPathNoContract file path (for flatten)
contractNameNoContract name (for get_artifacts)
taskNoTask name (for run_task)
paramsNoTask parameters (for run_task)

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden for behavioral disclosure. While it lists operations, it doesn't explain critical behavioral aspects: which operations are read-only vs. mutating, what permissions are required, whether operations have side effects, or how errors are handled. For a complex tool with 13 parameters and no annotations, this represents a significant gap in behavioral transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with clear sections (OPERATIONS, USE FOR) and uses bullet points for readability. While comprehensive, it could be more concise - some operation descriptions could be streamlined, and the structure is effective but not perfectly front-loaded with the most critical information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex tool with 13 parameters, no annotations, and no output schema, the description provides adequate operational overview but lacks critical context. It doesn't explain return values, error conditions, or behavioral constraints. The description covers what the tool does but not how it behaves or what results to expect, leaving significant gaps given the tool's complexity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all 13 parameters thoroughly. The description adds minimal value beyond the schema - it mentions 'force option' for compile and 'filtering' for test, but doesn't provide additional semantic context about parameter usage, dependencies, or constraints beyond what's in the schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool 'Manage[s] Hardhat project lifecycle operations' and lists 10 specific operations, providing a comprehensive overview of its functionality. However, it doesn't explicitly differentiate from sibling tools like 'hardhat_contract' or 'foundry_project' which might have overlapping functionality in the same domain.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The 'USE FOR' section provides general guidance ('Project setup, compilation, testing, and configuration management'), but doesn't specify when to choose this tool over alternatives like 'hardhat_contract' or 'foundry_project'. The guidance is helpful but lacks explicit comparison with sibling tools that handle similar blockchain development tasks.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hcs_messageA

Hedera Consensus Service (HCS) message operations.

OPERATIONS:

  • submit: Submit message to topic (auto-chunks if >1KB)

  • query: Query historical messages with filtering (FREE via Mirror Node)

USE THIS FOR: Publishing messages, retrieving consensus-ordered data, auditable logs.

ParametersJSON Schema
NameRequiredDescriptionDefault
operationYesMessage operation
topicIdYesTopic ID (format: 0.0.xxxxx)
messageNoMessage content (for submit)
limitNoMax messages to return (for query)
orderNoSort order (for query)
sequenceNumberNoFilter by sequence number >= value

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden and does well by disclosing key behavioral traits: 'auto-chunks if >1KB' for submit operation and 'FREE via Mirror Node' for query operation. It doesn't mention rate limits, authentication needs, or error behaviors, but provides useful operational context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is perfectly structured with clear sections (OPERATIONS, USE THIS FOR), uses bullet points efficiently, and every sentence earns its place. No wasted words while maintaining complete clarity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 6 parameters, 100% schema coverage, but no annotations and no output schema, the description does well by explaining the two operations and their use cases. It could benefit from mentioning return formats or error handling, but provides sufficient context for agent decision-making.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description adds some value by clarifying that 'message' is 'for submit' and mentioning filtering for query, but doesn't provide significant additional semantics beyond what's already in the schema descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool performs HCS message operations, specifically 'submit' and 'query' with explicit verbs and resources. It distinguishes itself from sibling tools like 'hcs_topic' (likely for topic management) by focusing on message operations rather than topic operations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit usage guidance with 'USE THIS FOR: Publishing messages, retrieving consensus-ordered data, auditable logs.' This clearly indicates when to use this tool versus alternatives like 'hcs_topic' for topic management or other data query tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

hcs_topicB

Hedera Consensus Service (HCS) topic management.

OPERATIONS:

  • create: Create new public or private topic with configurable keys

  • update: Update topic memo or auto-renew period

  • subscribe: Subscribe to real-time topic messages

USE THIS FOR: Creating consensus topics, configuring topic settings, real-time message streams.

ParametersJSON Schema
NameRequiredDescriptionDefault
operationYesTopic operation
topicIdNoTopic ID (for update/subscribe)
memoNoTopic memo (max 100 bytes)
adminKeyNoEnable admin key for updates/deletion
submitKeyNoEnable submit key (makes topic private)
autoRenewPeriodNoAuto-renew period in seconds
startTimeNoISO 8601 timestamp to start receiving messages

TDQS

B3.4/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden for behavioral disclosure. While it lists operations, it doesn't describe key behavioral aspects: whether operations are read-only or mutating (create/update clearly mutate), authentication requirements, rate limits, error conditions, or what happens during subscription. The description mentions 'real-time message streams' but doesn't explain how subscriptions work or their persistence.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with clear sections (OPERATIONS, USE THIS FOR) and uses bullet points efficiently. It's appropriately sized for a multi-operation tool. However, the first line 'Hedera Consensus Service (HCS) topic management.' is somewhat redundant with the tool name, and the description could be slightly more front-loaded with the most critical information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (7 parameters, 3 distinct operations, no output schema, no annotations), the description is moderately complete. It covers the operations and usage context but lacks important behavioral details needed for a mutation-heavy tool. Without annotations or output schema, the description should provide more about what happens after operations (e.g., what create returns, how subscriptions manifest).

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all 7 parameters thoroughly. The description adds minimal parameter semantics beyond the schema - it mentions 'public or private topic' which relates to the submitKey parameter, and 'configurable keys' which relates to adminKey/submitKey. This provides some context but doesn't significantly enhance understanding beyond what the schema already provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose as 'Hedera Consensus Service (HCS) topic management' and lists three specific operations (create, update, subscribe). It distinguishes this tool from sibling 'hcs_message' by focusing on topic management rather than message handling. However, it doesn't explicitly differentiate from other consensus or management tools in the sibling list.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The 'USE THIS FOR' section provides clear context about when to use this tool: 'Creating consensus topics, configuring topic settings, real-time message streams.' This gives practical guidance. However, it doesn't specify when NOT to use it or mention alternatives among the many sibling tools (like when to use hcs_message vs this tool for message-related tasks).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

health_checkA

Check HashPilot MCP server health and status. Returns version, tool count, and optimization level.

ParametersJSON Schema
NameRequiredDescriptionDefault
verboseNoInclude detailed status

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden. It discloses the return values (version, tool count, optimization level) and mentions a parameter effect ('verbose' for detailed status), but lacks behavioral details like error handling, latency, or authentication requirements.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is front-loaded with the core purpose in the first sentence and adds return details efficiently in the second. Every sentence provides essential information with zero waste, making it appropriately sized and well-structured.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's low complexity (1 optional parameter, no output schema), the description is largely complete: it states the purpose, return values, and parameter effect. However, it lacks some behavioral context (e.g., error cases or performance expectations) that could enhance completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The schema description coverage is 100%, so the baseline is 3. The description adds value by explaining that 'verbose' affects the output ('Include detailed status'), which clarifies the parameter's purpose beyond the schema's minimal description, justifying a score above baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose with specific verbs ('Check') and resources ('HashPilot MCP server health and status'), and distinguishes it from all sibling tools which focus on accounts, contracts, tokens, etc., not server health monitoring.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for checking server status, but provides no explicit guidance on when to use this tool versus alternatives (e.g., for debugging, monitoring, or initialization). No exclusions or prerequisites are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

mirror_query_accountA

Query comprehensive account data from Hedera Mirror Node REST API.

RETURNS: Balance, EVM address, creation time, keys, memo, transactions (optional) FREE: No transaction fees (REST API query)

USE FOR: Account inspection, transaction history, state verification.

ParametersJSON Schema
NameRequiredDescriptionDefault
accountIdYesAccount ID (0.0.xxxxx)
includeTransactionsNoInclude recent transactions
transactionLimitNoTransaction count (default: 20)

TDQS

A3.7/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It adds useful context: 'FREE: No transaction fees (REST API query)' clarifies cost implications, and 'RETURNS: Balance, EVM address, creation time, keys, memo, transactions (optional)' outlines output behavior. However, it doesn't cover other key traits like rate limits, authentication needs, error handling, or pagination details, leaving gaps for a mutation-free query tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured and front-loaded, starting with the core purpose. Each sentence adds value: the first states the action, the second lists returns, the third clarifies cost, and the fourth provides usage guidelines. There's no wasted text, and it's appropriately sized for the tool's complexity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no annotations and no output schema, the description partially compensates by listing return values and cost details. However, for a query tool with 3 parameters and no structured output, it lacks information on response format (e.g., JSON structure), error cases, or limitations like rate limits. This makes it adequate but incomplete for full agent understanding.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all parameters (accountId, includeTransactions, transactionLimit) with descriptions. The description doesn't add any parameter-specific semantics beyond what's in the schema, such as format examples or constraints. With high schema coverage, the baseline score of 3 is appropriate, as the description doesn't compensate but also doesn't detract.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Query comprehensive account data from Hedera Mirror Node REST API.' It specifies the verb ('query'), resource ('account data'), and source ('Hedera Mirror Node REST API'), making the action distinct. However, it doesn't explicitly differentiate from siblings like 'account_balance' or 'account_info', which might offer overlapping functionality, so it doesn't reach a perfect score.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear usage context with 'USE FOR: Account inspection, transaction history, state verification.' This gives practical scenarios for when to use the tool. However, it doesn't specify when not to use it or name alternatives (e.g., 'account_balance' for just balances), so it lacks explicit exclusions or sibling comparisons.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

network_infoA

Get current Hedera network configuration.

RETURNS: Network name, Mirror Node URL, JSON-RPC Relay endpoint USE FOR: Verifying active network, getting endpoint URLs, network status.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A4.6/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It effectively describes the tool's behavior by specifying what it returns (network name, Mirror Node URL, JSON-RPC Relay endpoint) and its use cases. However, it lacks details on potential errors, latency, or data freshness, which could be useful for an agent.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is highly structured with clear sections ('RETURNS', 'USE FOR'), front-loaded with the core purpose, and uses only three concise sentences. Every sentence adds value without repetition or fluff, making it efficient for an agent to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's simplicity (0 parameters, no output schema, no annotations), the description is nearly complete. It covers purpose, returns, and usage guidelines. A minor gap is the lack of output format details (e.g., structure of returned data), but for a straightforward info tool, this is acceptable.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 0 parameters with 100% coverage, so no parameter documentation is needed. The description appropriately omits parameter details, focusing instead on the tool's output and usage. This meets the baseline of 4 for tools with no parameters, as it avoids redundancy.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb ('Get') and resource ('current Hedera network configuration'), making the purpose specific and unambiguous. It distinguishes itself from siblings like 'network_switch' (which changes networks) by focusing on retrieval of configuration data, not modification.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The 'USE FOR' section explicitly lists three scenarios: verifying active network, getting endpoint URLs, and checking network status. This provides clear, actionable guidance on when to use this tool, distinguishing it from alternatives like 'health_check' (which might test connectivity) or 'rpc_call' (which uses endpoints).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

network_switchA

Switch between Hedera networks seamlessly.

NETWORKS: mainnet (production), testnet (testing), previewnet (preview), local (development) UPDATES: All SDK connections, Mirror Node URLs, RPC endpoints automatically

USE FOR: Multi-network development, testing across environments, production deployment.

ParametersJSON Schema
NameRequiredDescriptionDefault
networkYesTarget network

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden and does well by disclosing key behavioral traits: it switches networks 'seamlessly', updates 'All SDK connections, Mirror Node URLs, RPC endpoints automatically', and lists the four target networks. It doesn't mention side effects like session persistence or error handling, but covers the core behavior adequately.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is efficiently structured with three bullet-point sections (NETWORKS, UPDATES, USE FOR), each containing only essential information. Every sentence earns its place by clarifying scope, behavior, or usage without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity (network switching with automatic updates), no annotations, and no output schema, the description is mostly complete. It covers purpose, networks, updates, and usage, but lacks details on return values or error conditions, which would be helpful for an agent invoking it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% description coverage with a clear enum and description for the single parameter 'network'. The description adds minimal value beyond the schema by listing the network options in parentheses, but doesn't provide additional semantic context like default behavior or implications of each choice.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose with specific verbs ('Switch between Hedera networks') and resources ('SDK connections, Mirror Node URLs, RPC endpoints'), and distinguishes it from siblings like network_info by focusing on network switching rather than querying network status.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly provides usage scenarios ('Multi-network development, testing across environments, production deployment'), giving clear guidance on when to use this tool versus alternatives like network_info for status checks or other tools for specific operations on a network.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rpc_callA

Execute ANY JSON-RPC method on Hedera's JSON-RPC Relay.

SUPPORTS: 55+ methods including eth_*, web3_*, net_*, debug_* EXAMPLES: eth_blockNumber, eth_getBalance, eth_call, eth_getLogs, eth_sendRawTransaction DECODES: Results automatically converted to human-readable format

USE FOR: EVM-compatible operations, blockchain state queries, transaction submission.

ParametersJSON Schema
NameRequiredDescriptionDefault
methodYesRPC method name (e.g., "eth_blockNumber")
paramsNoMethod parameters as array
networkNoTarget network (default: current)

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It effectively describes key behaviors: 'SUPPORTS: 55+ methods including eth_*, web3_*, net_*, debug_*' (scope), 'DECODES: Results automatically converted to human-readable format' (output processing), and 'USE FOR: EVM-compatible operations... transaction submission' (capabilities). However, it doesn't mention rate limits, authentication requirements, or error handling patterns.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is perfectly structured with clear sections (SUPPORTS, EXAMPLES, DECODES, USE FOR) and every sentence earns its place. It's front-loaded with the core purpose, uses bullet-like formatting for readability, and contains zero wasted words while conveying essential information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with 3 parameters, 100% schema coverage, but no annotations and no output schema, the description does well by explaining scope (55+ methods), providing examples, describing output processing (decoding), and giving usage guidelines. However, it could better address the lack of output schema by describing typical return formats or error patterns for this RPC interface.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all three parameters thoroughly. The description adds minimal value beyond the schema - it provides example method names ('eth_blockNumber, eth_getBalance, eth_call, eth_getLogs, eth_sendRawTransaction') which help illustrate the 'method' parameter, but doesn't add significant semantic context about parameter usage or constraints beyond what's in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose with specific verbs ('Execute ANY JSON-RPC method') and resources ('on Hedera's JSON-RPC Relay'). It explicitly distinguishes this tool from siblings like rpc_call_contract, rpc_deploy_contract, and rpc_execute_contract by emphasizing its general-purpose nature for ANY JSON-RPC method rather than contract-specific operations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit usage guidance with 'USE FOR: EVM-compatible operations, blockchain state queries, transaction submission.' It distinguishes when to use this tool (general JSON-RPC) versus contract-specific siblings (rpc_call_contract, etc.) and lists example methods to clarify appropriate use cases.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rpc_call_contractA

Call read-only smart contract function via eth_call (FREE - no gas cost).

EXECUTES: View/pure function on deployed contract DECODES: Return values using provided ABI FREE: No transaction fee, no state changes

USE FOR: Reading contract state, querying balances, checking conditions.

ParametersJSON Schema
NameRequiredDescriptionDefault
contractAddressYesContract address (0x...)
abiYesContract ABI
functionNameYesFunction to call
argsNoFunction arguments

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden and does well: it discloses key behavioral traits including 'read-only', 'no state changes', 'FREE - no gas cost', and 'DECODES: Return values using provided ABI'. It doesn't mention rate limits or specific error conditions, but covers the essential safety and cost profile.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Highly structured with bullet-like sections (EXECUTES, DECODES, FREE, USE FOR), front-loaded with the core purpose, and every sentence earns its place. No wasted words while maintaining clarity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a read-only tool with no annotations and no output schema, the description does well: covers purpose, usage, behavioral traits (safety, cost, decoding). It doesn't describe return format or error handling, but given the context (simple query tool with good schema coverage), it's mostly complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all 4 parameters. The description mentions 'provided ABI' and 'function to call' but doesn't add meaningful semantic context beyond what the schema provides (like format details or examples). Baseline 3 is appropriate when schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action: 'Call read-only smart contract function via eth_call' with the resource being smart contracts. It distinguishes from siblings like rpc_execute_contract (which likely writes) by emphasizing 'read-only' and 'FREE - no gas cost'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly states when to use: 'USE FOR: Reading contract state, querying balances, checking conditions.' This provides clear context and distinguishes from write operations. The 'FREE - no gas cost' also implies when not to use (for state-changing operations).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rpc_deploy_contractA

Deploy smart contract to Hedera via JSON-RPC.

HANDLES: Bytecode deployment, constructor encoding, gas estimation, receipt polling RETURNS: Contract address, transaction hash, deployment details COSTS: Gas fees for contract creation AUTO-KEY: privateKey is OPTIONAL - automatically uses MCP operator account if not provided

USE FOR: Deploying Solidity contracts to Hedera EVM.

ParametersJSON Schema
NameRequiredDescriptionDefault
bytecodeYesContract bytecode (0x...)
abiNoContract ABI
constructorArgsNoConstructor arguments
privateKeyNoDeployer private key (optional - uses MCP operator)

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It effectively describes key behaviors: it handles 'bytecode deployment, constructor encoding, gas estimation, receipt polling,' returns 'contract address, transaction hash, deployment details,' incurs 'gas fees for contract creation,' and has an 'AUTO-KEY' feature for optional private key usage. However, it lacks details on error handling, rate limits, or specific gas estimation methods, preventing a perfect score.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with sections (HANDLES, RETURNS, COSTS, AUTO-KEY, USE FOR) and front-loaded key information. Each sentence earns its place by providing essential details without redundancy, such as clarifying the optional private key and specifying the target (Hedera EVM). It avoids unnecessary elaboration while covering critical aspects efficiently.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the complexity of smart contract deployment and no output schema, the description does a good job covering inputs, behaviors, and outputs. It explains what the tool handles, returns, costs, and key parameter usage. However, without annotations or an output schema, it could benefit from more detail on error cases or the structure of 'deployment details,' slightly reducing completeness for this advanced operation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, providing a baseline of 3. The description adds some value by explaining that 'privateKey is OPTIONAL - automatically uses MCP operator account if not provided,' which clarifies usage beyond the schema's 'optional' note. However, it does not elaborate on the semantics of 'bytecode,' 'abi,' or 'constructorArgs' beyond what the schema already describes (e.g., format details for constructor arguments).

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action ('Deploy smart contract') and target resource ('to Hedera via JSON-RPC'), distinguishing it from sibling tools like 'deploy_contract' (which may use a different method) and 'rpc_call_contract' (which calls existing contracts). It includes the implementation details (bytecode deployment, constructor encoding, etc.) that further clarify its unique purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states 'USE FOR: Deploying Solidity contracts to Hedera EVM,' providing clear context for when to use this tool. It also distinguishes it from alternatives by specifying 'via JSON-RPC' (unlike 'deploy_contract' which might use other protocols) and mentions the optional 'privateKey' parameter with automatic fallback to the MCP operator account, guiding usage decisions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

rpc_execute_contractA

Execute state-changing contract function via eth_sendRawTransaction.

EXECUTES: Transaction that modifies contract state HANDLES: Function encoding, signing, gas estimation, receipt polling COSTS: Gas fees for execution RETURNS: Transaction hash, receipt, decoded logs AUTO-KEY: privateKey is OPTIONAL - automatically uses MCP operator account if not provided

USE FOR: Token transfers, contract interactions, state modifications.

ParametersJSON Schema
NameRequiredDescriptionDefault
contractAddressYesContract address (0x...)
abiYesContract ABI
functionNameYesFunction to execute
argsNoFunction arguments
privateKeyNoSender private key (optional - uses MCP operator)
valueNoHBAR value to send (in wei)

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden and excels by disclosing critical behavioral traits: it's state-changing (modifies contract state), handles function encoding/signing/gas estimation/receipt polling, incurs gas costs, returns transaction hash/receipt/decoded logs, and has automatic key management. This covers mutation, costs, return format, and authentication behavior.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is efficiently structured with clear sections (EXECUTES, HANDLES, COSTS, RETURNS, AUTO-KEY, USE FOR), each containing one sentence or phrase. Every element adds value with zero wasted words, making it easy to scan and understand.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex state-changing tool with no annotations and no output schema, the description provides comprehensive context: purpose, behavioral traits (mutation, costs, return format), usage guidelines, and key parameter clarification. It fully compensates for the lack of structured metadata.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all 6 parameters. The description adds minimal parameter-specific semantics beyond the schema, only clarifying that privateKey is optional and auto-uses MCP operator. This meets the baseline of 3 when schema coverage is high.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description explicitly states the tool's purpose as 'Execute state-changing contract function via eth_sendRawTransaction' and specifies it's for 'Token transfers, contract interactions, state modifications.' This clearly distinguishes it from sibling tools like rpc_call (likely read-only) and rpc_deploy_contract (for deployment).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit guidance with 'USE FOR: Token transfers, contract interactions, state modifications' and distinguishes it from alternatives by noting it handles 'EXECUTES: Transaction that modifies contract state' (versus read-only calls). The AUTO-KEY section also clarifies when to provide privateKey versus using the MCP operator.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

stablecoin_manageA

Enterprise-grade stablecoin management via Hedera Stablecoin Studio.

OPERATIONS:

  • create: Create compliant stablecoin with role-based controls

  • info: Get stablecoin details (supply, treasury, pause status)

  • balance: Check account balance for stablecoin

  • cashin: Mint tokens to account (controlled by CASHIN role)

  • burn: Burn tokens from treasury (controlled by BURN role)

  • wipe: Remove tokens from any account (controlled by WIPE role)

  • rescue: Rescue tokens from proxy contract treasury

  • rescue_hbar: Rescue HBAR from proxy contract

  • freeze/unfreeze: Control account transfer ability

  • pause/unpause: Halt/resume all token operations globally

  • kyc_grant/kyc_revoke: Manage KYC compliance status

  • role_grant/role_revoke/role_check: Manage role assignments

  • delete: Permanently delete stablecoin (DANGER)

FEATURES:

  • Role-based access control (CASHIN, BURN, WIPE, RESCUE, PAUSE, FREEZE, KYC, DELETE)

  • Native KYC/AML compliance

  • Proof-of-Reserve support

  • Proxy contract architecture (upgradable)

  • Cash-in allowances for controlled minting

AUTO-CONFIG: Uses MCP operator account for SDK authentication.

USE FOR: Institutional stablecoin issuance, compliance workflows, token lifecycle management.

ParametersJSON Schema
NameRequiredDescriptionDefault
operationYesStablecoin operation to perform
stablecoinIdNoStablecoin token ID (0.0.xxxxx) - required for most operations
targetAccountNoTarget account ID for cashin/wipe/freeze/kyc/role operations
amountNoToken amount as string (for precise decimals)
nameNoStablecoin name (for create)
symbolNoToken symbol (for create)
decimalsNoDecimal places (default: 6)
initialSupplyNoInitial supply (default: 0)
maxSupplyNoMaximum supply (optional, for FINITE supply type)
memoNoToken memo
freezeDefaultNoFreeze accounts by default (default: false)
supplyTypeNoSupply type (default: INFINITE)
cashInRoleAccountNoAccount with CASHIN role (default: operator)
burnRoleAccountNoAccount with BURN role (default: operator)
wipeRoleAccountNoAccount with WIPE role (default: operator)
rescueRoleAccountNoAccount with RESCUE role (default: operator)
pauseRoleAccountNoAccount with PAUSE role (default: operator)
freezeRoleAccountNoAccount with FREEZE role (default: operator)
kycRoleAccountNoAccount with KYC role (default: operator)
deleteRoleAccountNoAccount with DELETE role (default: operator)
cashInAllowanceNoCash-in allowance limit (default: unlimited)
createReserveNoCreate proof-of-reserve contract
reserveInitialAmountNoInitial reserve amount
reserveAddressNoExisting reserve contract address
proxyAdminOwnerAccountNoProxy admin owner (default: operator)
roleNoRole for grant/revoke/check operations
networkNoNetwork (auto-detected from config)

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It does well by describing role-based controls, compliance features, and dangerous operations like 'delete' with DANGER warning. However, it lacks details about authentication requirements, rate limits, error handling, or what happens when operations fail.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with clear sections (OPERATIONS, FEATURES, AUTO-CONFIG, USE FOR) and efficiently communicates complex functionality. While comprehensive, it could be more front-loaded with the most critical information rather than burying the 'USE FOR' section at the end.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex tool with 27 parameters, no annotations, and no output schema, the description provides good operational overview but lacks critical behavioral details. It doesn't explain return values, error conditions, or provide examples of successful usage patterns. The absence of output schema means the description should compensate more with expected response information.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all 27 parameters thoroughly. The description adds value by explaining the purpose of operations and features like role-based access control, but doesn't provide additional parameter semantics beyond what's in the schema. Baseline 3 is appropriate when schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose as 'Enterprise-grade stablecoin management via Hedera Stablecoin Studio' and lists 18 specific operations. It distinguishes itself from sibling tools like 'token_manage' by focusing specifically on stablecoins with compliance features and role-based controls.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides clear context with 'USE FOR: Institutional stablecoin issuance, compliance workflows, token lifecycle management' which gives appropriate usage scenarios. However, it doesn't explicitly state when NOT to use this tool or provide direct alternatives to sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

state_manageA

Manage HashPilot MCP server state through backup/restore/export operations.

OPERATIONS:

  • backup: Create timestamped backup (excludes private keys by default for security)

  • restore: Restore state from backup file (can merge or replace)

  • export: Export state to JSON for inspection or sharing

USE THIS FOR: State persistence, migration, disaster recovery, debugging.

ParametersJSON Schema
NameRequiredDescriptionDefault
operationYesState management operation
includePrivateKeysNoInclude private keys (INSECURE - use with caution)
outputPathNoOutput file path (for backup/export)
backupPathNoBackup file to restore from
mergeNoMerge with existing state instead of replacing
formatNoExport format (default: pretty)

TDQS

A4.4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden and does well by disclosing key behavioral traits: backup excludes private keys by default for security, restore can merge or replace, and export produces JSON for inspection/sharing. It doesn't mention potential side effects, error conditions, or performance characteristics, but provides solid operational context.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is perfectly structured and front-loaded: first sentence states the core purpose, followed by clear operation definitions, then usage guidelines. Every sentence earns its place with zero waste. The bullet format enhances readability without sacrificing conciseness.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a state management tool with 6 parameters, 100% schema coverage, and no output schema, the description provides strong context about operations and use cases. It could be more complete by mentioning what 'state' specifically includes or providing examples of when to choose backup vs export, but it covers the essential behavioral aspects well given the structured data available.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description adds minimal parameter semantics beyond the schema - it mentions timestamped backups, JSON export format, and merge/replace behavior, but these are largely implied by parameter names. The description doesn't significantly enhance understanding of individual parameters beyond what the schema provides.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose with specific verbs ('manage', 'backup', 'restore', 'export') and resources ('HashPilot MCP server state'). It distinguishes itself from all sibling tools by focusing on state management operations rather than account, contract, network, or documentation functions.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The 'USE THIS FOR' section explicitly provides usage contexts: 'State persistence, migration, disaster recovery, debugging.' This gives clear guidance on when to select this tool versus the many sibling tools for different purposes like account management, contract deployment, or network operations.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

token_manageA

Comprehensive Hedera Token Service (HTS) management. Execute ANY token operation through a single unified interface.

OPERATIONS:

  • create: Create new fungible token with custom fees, keys, and supply controls

  • associate: Associate token with account (required before receiving tokens)

  • transfer: Transfer tokens between accounts

  • mint: Mint additional tokens (requires supply key)

  • burn: Burn tokens from treasury

  • freeze/unfreeze: Control account's ability to transfer specific token

  • kyc_grant/kyc_revoke: Manage KYC status for regulated tokens

  • wipe: Remove tokens from account (requires wipe key)

  • pause/unpause: Halt/resume all token operations globally

USE THIS FOR: All token lifecycle management, compliance operations, supply control, and transfer operations.

REQUIRES: Operator account with appropriate keys (admin/supply/freeze/kyc/wipe/pause) based on operation.

ParametersJSON Schema
NameRequiredDescriptionDefault
operationYesToken operation to perform
tokenIdNoToken ID (format: 0.0.xxxxx) - required for all ops except create
accountIdNoTarget account ID - for associate/freeze/unfreeze/kyc/wipe
amountNoAmount for transfer/mint/burn/wipe operations
nameNoToken name (for create)
symbolNoToken symbol (for create)
decimalsNoDecimal places (for create, default: 0)
initialSupplyNoInitial token supply (for create)
adminKeyNoEnable admin key (for create)
supplyKeyNoEnable supply key for mint/burn (for create)
freezeKeyNoEnable freeze key (for create)
kycKeyNoEnable KYC key (for create)
wipeKeyNoEnable wipe key (for create)
pauseKeyNoEnable pause key (for create)
memoNoToken memo (for create)
fromNoSource account (for transfer)
toNoDestination account (for transfer)

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden. It effectively discloses key behavioral traits: it's a unified interface for multiple operations, requires specific keys for different operations (admin/supply/freeze/kyc/wipe/pause), and mentions prerequisites like association before receiving tokens. However, it doesn't cover rate limits, error conditions, or transaction costs.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with clear sections (OPERATIONS, USE THIS FOR, REQUIRES) and uses bullet points for readability. While comprehensive, it could be more concise by reducing some redundancy in operation explanations. Every sentence adds value, but the overall length is substantial for a single tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex tool with 17 parameters, no annotations, and no output schema, the description does a good job covering purpose, usage, and behavioral context. It explains the unified interface approach, lists all operations with brief explanations, and specifies key requirements. The main gap is lack of output format information, which would be helpful given the diverse operations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all 17 parameters. The description adds some context by grouping parameters with operations (e.g., 'for create', 'for transfer'), but doesn't provide significant additional semantic meaning beyond what's in the schema descriptions. This meets the baseline 3 for high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states this is for 'Comprehensive Hedera Token Service (HTS) management' and lists 12 specific operations with brief explanations. It distinguishes itself from sibling tools like 'transfer_hbar' and 'stablecoin_manage' by focusing exclusively on token operations rather than HBAR transfers or stablecoin-specific functions.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly states 'USE THIS FOR: All token lifecycle management, compliance operations, supply control, and transfer operations' and 'REQUIRES: Operator account with appropriate keys... based on operation.' This provides clear when-to-use guidance and prerequisites, though it doesn't explicitly mention when NOT to use it versus alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

transfer_hbarA

Transfer HBAR between Hedera accounts.

EXECUTES: CryptoTransfer transaction from source to destination REQUIRES: Operator account must be source OR have signing authority COSTS: Standard network transaction fee

USE FOR: Funding accounts, payments, moving HBAR between wallets.

ParametersJSON Schema
NameRequiredDescriptionDefault
fromYesSource account ID
toYesDestination account ID
amountYesHBAR amount to transfer

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries the full burden of behavioral disclosure. It effectively explains execution details (CryptoTransfer transaction), prerequisites (operator account requirements), and costs (standard network transaction fee), covering key behavioral aspects beyond basic functionality.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with clear sections (purpose, execution, requirements, costs, usage) and uses bullet-like formatting. Every sentence adds value with no redundancy, making it efficiently front-loaded and easy to parse.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with no annotations and no output schema, the description does well by covering purpose, execution, requirements, costs, and usage scenarios. It could improve by mentioning error cases or response format, but it's largely complete given the context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all three parameters (from, to, amount). The description doesn't add any parameter-specific information beyond what's in the schema, such as format examples or constraints, meeting the baseline for high schema coverage.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action ('Transfer HBAR') and resource ('between Hedera accounts'), distinguishing it from sibling tools like account_balance or token_manage. It explicitly mentions executing a CryptoTransfer transaction, which provides precise operational context.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description includes a 'USE FOR' section listing specific scenarios (funding accounts, payments, moving HBAR between wallets), which gives clear context for when to use this tool. However, it doesn't explicitly state when NOT to use it or name alternatives among siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

verify_contractA

Verify smart contract on HashScan block explorer.

METHODS: Direct source upload, Hardhat build-info, Foundry artifacts RETURNS: Verification status and HashScan URL

USE FOR: Contract transparency, code verification, public auditability.

ParametersJSON Schema
NameRequiredDescriptionDefault
addressYesContract address (0x...)
networkYes
contractNameYesContract name
filePathYesSource file path

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description carries full burden and does well by disclosing key behavioral traits: it lists three verification methods (Direct source upload, Hardhat build-info, Foundry artifacts) and describes what the tool returns (verification status and HashScan URL). This provides important operational context beyond basic parameters.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is perfectly structured with clear sections (METHODS, RETURNS, USE FOR) and every sentence earns its place. It's front-loaded with the core purpose and efficiently communicates essential information without wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's moderate complexity (4 parameters, no output schema, no annotations), the description provides good coverage of what the tool does, how it behaves, and when to use it. The main gap is lack of output schema, but the description compensates by specifying what the tool returns. It could be more complete by explaining parameter relationships or error cases.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 75% (3 of 4 parameters have descriptions), so the baseline is 3. The description doesn't add meaningful parameter semantics beyond what's in the schema - it mentions verification methods but doesn't explain how they relate to the filePath parameter or other inputs. The description doesn't compensate for the 25% coverage gap.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the specific action ('verify smart contract') and resource ('on HashScan block explorer'), distinguishing it from sibling tools like deploy_contract or rpc_call_contract which focus on different operations. It provides concrete purpose beyond just the tool name.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The 'USE FOR' section explicitly lists three use cases (contract transparency, code verification, public auditability), giving clear context about when this tool is appropriate. However, it doesn't specify when NOT to use it or mention alternatives among siblings like foundry_contract or hardhat_contract that might relate to verification.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 35 tool updatesv1.0.0
    • Addedaccount_balance
    • Addedaccount_create
    • Addedaccount_info
    • Addedaddressbook_manage
    • Addedcode_generate
    • Addeddeploy_contract
    • Addeddeployment_history
    • Addeddocs_ask
    • Addeddocs_get_example
    • Addeddocs_search
    • Addederror_explain
    • Removedestimate_gas
    • Addedfoundry_contract
    • Addedfoundry_project
    • Removedget_account_balance
    • Removedget_block_info
    • Removedget_network_info
    • Removedget_transaction_receipt
    • Addedhardhat_contract
    • Addedhardhat_project
    • Addedhcs_message
    • Addedhcs_topic
    • Addedhealth_check
    • Addedmirror_query_account
    • Addednetwork_info
    • Addednetwork_switch
    • Addedrpc_call
    • Addedrpc_call_contract
    • Addedrpc_deploy_contract
    • Addedrpc_execute_contract
    • Addedstablecoin_manage
    • Addedstate_manage
    • Addedtoken_manage
    • Addedtransfer_hbar
    • Addedverify_contract
  2. 5 tool updates
    • First observedestimate_gas
    • First observedget_account_balance
    • First observedget_block_info
    • First observedget_network_info
    • First observedget_transaction_receipt

TDQS

A3.6/5.0
Disambiguation3/5

The tool set has clear distinct purposes for most tools, but there is significant overlap in some areas. For example, 'deploy_contract', 'rpc_deploy_contract', 'hardhat_contract', and 'foundry_contract' all handle contract deployment with different frameworks, which could confuse an agent about which to use. Similarly, 'docs_ask', 'docs_get_example', and 'docs_search' all serve documentation purposes but have overlapping use cases. Descriptions help differentiate them, but the boundaries are not always clear.

Naming Consistency4/5

Most tools follow a consistent verb_noun pattern (e.g., 'account_balance', 'token_manage', 'network_switch'), which is predictable and readable. However, there are minor deviations like 'health_check' (noun_verb) and 'foundry_contract' (adjective_noun) that break the pattern slightly. Overall, the naming is largely consistent with only a few inconsistencies that do not severely impact usability.

Tool Count2/5

With 30 tools, the count feels excessive for a single server, leading to potential confusion and overlap. While Hedera is a broad domain, the server includes tools for documentation, code generation, project management, and multiple deployment frameworks, which could be better scoped into separate servers. This many tools may overwhelm agents and increase the risk of misselection due to the high number of similar functionalities.

Completeness5/5

The tool surface is highly complete for the Hedera domain, covering account management, token operations, smart contract deployment (across multiple frameworks), consensus services, network operations, and documentation. It includes CRUD/lifecycle coverage for key resources like accounts, tokens, and contracts, with no obvious gaps. Tools like 'stablecoin_manage' and 'hcs_topic' provide specialized functionalities that enhance coverage, making the set well-rounded for agent workflows.

Maintenance

ActivityInactive
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    A Model Context Protocol server that enables AI models to interact with the Solana blockchain, providing RPC methods, wallet management, DeFi trading capabilities, and Helius API integration for enhanced Solana development.
    5
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    A Model Context Protocol server that enables AI assistants to access Flow blockchain data and perform operations such as checking balances, resolving domains, executing scripts, and submitting transactions.
    1
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    A Model Context Protocol server that provides onchain tools for AI applications to interact with the Hashkey Network, enabling cryptocurrency transfers, smart contract deployment, and blockchain interactions.
    13
    2
    MIT

Latest Blog Posts

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/justmert/hashpilot'

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