Skip to main content
Glama

Server Quality Checklist

67%
Profile completionA complete profile improves this server's visibility in search results.
  • Latest release: v1.0.0

  • Disambiguation4/5

    Most tools have distinct purposes targeting specific blockchain operations like balance checks, transfers, contract interactions, and network queries. Some overlap exists between get_erc20_balance/get_erc20_token_info and get_nft_balance/get_nft_info, but descriptions clarify their differences. No tools appear to do exactly the same thing.

    Naming Consistency5/5

    Tool names follow a highly consistent verb_noun pattern throughout, using snake_case exclusively. The naming convention is predictable with clear action-object pairs like get_balance, transfer_token, read_contract, making the tool set easy to navigate and understand.

    Tool Count3/5

    With 26 tools, the count feels heavy for a blockchain interaction server, though not extreme. The tools cover many specific operations, but some could potentially be consolidated or parameterized. The number is borderline high but still manageable given the comprehensive scope.

    Completeness5/5

    The tool set provides excellent coverage for blockchain operations including token transfers (native, ERC20, ERC1155, NFT), balance queries, contract interactions (read/write), network information, transaction details, and utility functions. All major blockchain interaction patterns are represented with no obvious gaps for the domain.

  • Average 3.2/5 across 26 of 26 tools scored. Lowest: 2.6/5.

    See the Tool Scores section below for per-tool breakdowns.

    • 2 of 3 community issues answered or closed in the last 6 months
    • 0 commits in the last 12 weeks
    • Last stable release on
    • No critical vulnerability alerts
    • No high-severity vulnerability alerts
    • No code scanning findings
    • CI is passing
  • This repository is licensed under MIT License.

  • This repository includes a README.md file.

  • No tool usage detected in the last 30 days. Usage tracking helps demonstrate server value.

    Tip: use the "Try in Browser" feature on the server page to seed initial usage.

  • Add a glama.json file to provide metadata about your server.

  • If you are the author, simply .

    If the server belongs to an organization, first add glama.json to the root of your repository:

    {
      "$schema": "https://glama.ai/mcp/schemas/server.json",
      "maintainers": [
        "your-github-username"
      ]
    }

    Then . Browse examples.

  • Add related servers to improve discoverability.

How to sync the server with GitHub?

Servers are automatically synced at least once per day, but you can also sync manually at any time to instantly update the server profile.

To manually sync the server, click the "Sync Server" button in the MCP server admin interface.

How is the quality score calculated?

The overall quality score combines two components: Tool Definition Quality (70%) and Server Coherence (30%).

Tool Definition Quality measures how well each tool describes itself to AI agents. Every tool is scored 1–5 across six dimensions: Purpose Clarity (25%), Usage Guidelines (20%), Behavioral Transparency (20%), Parameter Semantics (15%), Conciseness & Structure (10%), and Contextual Completeness (10%). The server-level definition quality score is calculated as 60% mean TDQS + 40% minimum TDQS, so a single poorly described tool pulls the score down.

Server Coherence evaluates how well the tools work together as a set, scoring four dimensions equally: Disambiguation (can agents tell tools apart?), Naming Consistency, Tool Count Appropriateness, and Completeness (are there gaps in the tool surface?).

Tiers are derived from the overall score: A (≥3.5), B (≥3.0), C (≥2.0), D (≥1.0), F (<1.0). B and above is considered passing.

Tool Scores

  • 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 states it 'gets' information, implying a read-only operation, but doesn't disclose behavioral traits like rate limits, authentication needs, error handling, or what happens with invalid inputs. The description is minimal and misses key 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.

    Conciseness4/5

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

    The description is a single, efficient sentence with zero waste, making it appropriately concise. However, it's front-loaded with the core purpose but lacks any structural elaboration (e.g., bullet points or examples) that could enhance clarity without verbosity.

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

    Completeness2/5

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

    Given the tool's complexity (ERC20 token info retrieval), no annotations, and no output schema, the description is incomplete. It doesn't explain what information is returned (e.g., token name, symbol, decimals), error cases, or network-specific behaviors, leaving significant gaps for an AI agent to infer usage.

    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 fully documents the two parameters ('network' and 'tokenAddress') with descriptions and defaults. The description adds no additional meaning beyond the schema, as it doesn't explain parameter interactions or usage examples. Baseline 3 is appropriate since the schema handles the heavy lifting.

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

    Purpose3/5

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

    The description 'Get ERC20 token information' clearly states the verb ('Get') and resource ('ERC20 token information'), but it's vague about what specific information is retrieved. It distinguishes from siblings like 'get_erc20_balance' by focusing on general token info rather than balance, but doesn't specify what constitutes 'information' (e.g., name, symbol, decimals).

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

    Usage Guidelines2/5

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

    No guidance is provided on when to use this tool versus alternatives. While siblings like 'get_erc20_balance' and 'get_chain_info' exist, the description doesn't mention them or clarify use cases (e.g., for token metadata vs. balance checks). It lacks context on prerequisites or exclusions.

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

  • Behavior2/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 only states the action without detailing traits like read-only nature (implied but not explicit), potential rate limits, error conditions, or what the output contains (e.g., block data structure). This is inadequate for a tool with no annotation coverage.

    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 a single, efficient sentence with zero wasted words. It's front-loaded and appropriately sized for the tool's purpose, making it easy to parse quickly.

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

    Completeness2/5

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

    Given the tool's complexity (blockchain data retrieval), lack of annotations, and no output schema, the description is incomplete. It doesn't explain what the return value includes (e.g., block details like transactions, timestamps) or behavioral aspects, leaving significant gaps for the agent to operate effectively.

    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 fully documents both parameters (blockNumber and network). The description adds no additional meaning beyond what's in the schema, such as format examples or constraints. Baseline score of 3 is appropriate as the schema handles parameter documentation.

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

    Purpose3/5

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

    The description 'Get a block by number' states the basic action (get) and resource (block), but it's vague about what 'get' entails (e.g., retrieve block details) and doesn't differentiate from sibling tools like 'get_block_by_hash' or 'get_latest_block'. It lacks specificity about the type of data returned or the blockchain context.

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

    Usage Guidelines2/5

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

    No guidance is provided on when to use this tool versus alternatives such as 'get_block_by_hash' or 'get_latest_block'. The description doesn't mention prerequisites, exclusions, or contextual cues for selection, leaving the agent to infer usage based on parameter names alone.

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

  • Behavior2/5

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

    With no annotations provided, the description carries full burden but only states the basic function without behavioral details. It doesn't disclose if this is a read-only operation (implied but not explicit), whether it requires network access, potential rate limits, error conditions, or what the output looks like (e.g., gas units or cost in currency).

    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 a single, efficient sentence that directly states the tool's purpose without unnecessary words. It's front-loaded and wastes no space, making it easy for an agent to parse quickly.

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

    Completeness2/5

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

    Given the complexity of gas estimation in blockchain contexts, no annotations, and no output schema, the description is insufficient. It lacks details on return values (e.g., gas limit vs. gas price), network-specific behaviors, or error handling, leaving significant gaps for an agent to operate effectively.

    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 fully documents all parameters (data, network, to, value). The description adds no additional meaning beyond the schema's details, such as explaining parameter interactions or default behaviors, meeting the baseline for high 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 verb ('estimate') and resource ('gas cost for a transaction'), making the purpose immediately understandable. However, it doesn't explicitly differentiate from siblings like 'get_transaction' or 'write_contract' that might also involve gas considerations, which prevents 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 Guidelines2/5

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

    The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing transaction details), contrast with siblings (e.g., 'write_contract' for actual execution), or specify use cases (e.g., pre-execution planning), leaving the agent with minimal context.

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

  • Behavior2/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 only states the action ('Get a block by hash') without detailing what 'Get' entails—e.g., whether it returns full block data, error handling for invalid hashes, rate limits, or authentication needs. This leaves significant gaps for a tool that likely interacts with blockchain networks.

    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 a single, efficient sentence with zero waste—'Get a block by hash' directly conveys the core action. It's appropriately sized and front-loaded, making it easy to parse without unnecessary elaboration.

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

    Completeness2/5

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

    Given the complexity of blockchain interactions, no annotations, and no output schema, the description is incomplete. It doesn't explain what data is returned (e.g., block details like transactions, timestamp), error scenarios, or network-specific behaviors. For a tool with 2 parameters and likely nuanced output, this minimal description is inadequate.

    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 fully documents both parameters ('blockHash' and 'network'). The description adds no additional meaning beyond implying the 'blockHash' parameter is used for lookup. Since the schema handles parameter details, a baseline score of 3 is appropriate, with no extra value from the description.

    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 verb ('Get') and resource ('a block'), specifying it's retrieved 'by hash'. It distinguishes from sibling 'get_block_by_number' by indicating the lookup method, though it doesn't explicitly contrast them. The purpose is specific and unambiguous.

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

    Usage Guidelines2/5

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

    No guidance is provided on when to use this tool versus alternatives like 'get_block_by_number' or 'get_latest_block'. The description lacks context about prerequisites, such as needing a valid block hash, or exclusions, like not working for pending blocks. It's a basic statement with no usage instructions.

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

  • 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 of behavioral disclosure. It states the tool retrieves information (implying read-only), but doesn't mention any behavioral traits like rate limits, authentication needs, error conditions, or what 'chain information' includes (e.g., network details, gas prices, chain ID). This is a significant gap for a tool with no annotation coverage.

    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 a single, efficient sentence that directly states the tool's purpose without unnecessary words. It's appropriately sized and front-loaded, with zero wasted content.

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

    Completeness2/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 a single parameter with full schema coverage, the description is incomplete. It doesn't explain what 'chain information' entails (e.g., response format, data fields), behavioral aspects, or usage context relative to siblings, making it inadequate for an agent to fully understand the tool's 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?

    The schema description coverage is 100%, with the single parameter 'network' well-documented in the schema (including default value, examples, and description). The description adds no additional parameter semantics beyond what's in the schema, so it meets the baseline of 3 for high 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 verb 'Get' and the resource 'chain information for a specific network', which is specific and unambiguous. However, it doesn't explicitly differentiate from sibling tools like 'get_supported_networks' or 'get_latest_block', which could provide related network information.

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

    Usage Guidelines2/5

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

    The description provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools like 'get_supported_networks' for listing networks or 'get_latest_block' for network-specific block data, leaving the agent to infer usage context.

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

  • 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 of behavioral disclosure. It states the action ('Get') but doesn't describe traits like whether this is a read-only operation (implied but not explicit), potential rate limits, error conditions, or what the return value looks like (e.g., balance in token units). This is inadequate for a tool with no annotation coverage.

    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 a single, efficient sentence that directly states the tool's purpose without any wasted words. It's appropriately sized and front-loaded, making it easy to parse quickly.

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

    Completeness2/5

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

    Given the complexity of blockchain operations, no annotations, and no output schema, the description is incomplete. It doesn't explain the return format (e.g., numeric balance, decimals), error handling, or behavioral traits like network support details. For a tool with 3 parameters and no structured output, more context is needed.

    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 (address, network, tokenAddress) with clear descriptions. The description doesn't add any additional meaning beyond what's in the schema, such as explaining parameter interactions or constraints. Baseline 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.

    Purpose4/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 ('ERC20 token balance for an address'), making the purpose specific and understandable. However, it doesn't explicitly differentiate from sibling tools like 'get_native_balance' or 'get_erc1155_balance', which would require mentioning it's specifically for ERC20 tokens (though implied by the name).

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

    Usage Guidelines2/5

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

    No guidance is provided on when to use this tool versus alternatives. For example, it doesn't specify to use 'get_native_balance' for native tokens or 'get_erc1155_balance' for ERC1155 tokens, nor does it mention prerequisites like needing a token contract address. This leaves the agent without contextual usage instructions.

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

  • 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 only states the action without disclosing behavioral traits such as rate limits, authentication needs, error handling, or what the return format might be (e.g., JSON object with block details). This is inadequate for a tool with no annotation coverage.

    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 extremely concise ('Get the latest block'), consisting of a single, front-loaded sentence with no wasted words. It efficiently communicates the core action without unnecessary elaboration.

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

    Completeness2/5

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

    Given the complexity of blockchain data retrieval, no annotations, and no output schema, the description is incomplete. It does not explain what information is returned (e.g., block hash, transactions, timestamp), potential errors, or usage constraints, leaving significant gaps for an AI agent to understand the tool's behavior.

    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 1 parameter with 100% description coverage, so the schema fully documents the 'network' parameter. The description adds no parameter information beyond the schema, but with 0 parameters mentioned in the description and high schema coverage, the baseline is 3. Since it's a single optional parameter with a default, the description's lack of param info is acceptable, warranting a slightly higher score.

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

    Purpose3/5

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

    The description 'Get the latest block' states the verb ('Get') and resource ('latest block'), which provides a basic purpose. However, it lacks specificity about what 'latest block' entails (e.g., block data, number, timestamp) and does not distinguish it from sibling tools like 'get_block_by_hash' or 'get_block_by_number', making it vague in comparison.

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

    Usage Guidelines2/5

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

    No guidance is provided on when to use this tool versus alternatives. For example, it does not explain if this is for real-time updates, general queries, or how it differs from other block-related tools in the list, leaving the agent without context for selection.

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

  • Behavior2/5

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

    With no annotations provided, the description carries full burden but offers minimal behavioral insight. It implies a read-only operation ('Get') but doesn't disclose rate limits, error conditions, authentication needs, or what the output looks like (e.g., balance format, units). For a tool with zero annotation coverage, this is inadequate transparency.

    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 a single, front-loaded sentence with zero waste—every word contributes directly to the purpose. It's appropriately sized for a simple tool, avoiding unnecessary elaboration while remaining clear.

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

    Completeness2/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 is incomplete. It doesn't explain return values (e.g., balance in wei or ether), error handling, or network support details beyond what's in the schema. For a tool in a complex blockchain context with many siblings, more guidance is needed.

    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 both parameters thoroughly. The description adds no additional meaning beyond implying 'address' is for balance checking and 'network' might be optional (though schema says required: ['address'] only). Baseline 3 is appropriate as the schema does the heavy lifting.

    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 verb ('Get') and resource ('native token balance for an address'), making the purpose immediately understandable. It distinguishes from siblings like get_erc20_balance and get_nft_balance by specifying 'native token' (e.g., ETH, BNB). However, it doesn't explicitly contrast with all similar tools, so it's not a perfect 5.

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

    Usage Guidelines2/5

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

    The description provides no guidance on when to use this tool versus alternatives. It doesn't mention siblings like get_erc20_balance for token balances or get_chain_info for network details, nor does it specify prerequisites (e.g., needing a valid address). This leaves the agent to infer usage from context alone.

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

  • 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 of behavioral disclosure. It states the tool retrieves 'detailed information' but doesn't specify what 'more' includes, potential rate limits, error conditions (e.g., invalid hash), or whether it's a read-only operation (implied by 'Get' but not explicit). For a tool with no annotation coverage, this leaves significant behavioral gaps.

    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 concise and front-loaded, stating the core purpose in the first sentence and adding a brief detail list. Both sentences earn their place by clarifying scope ('by its hash') and content ('Includes...'). It avoids redundancy but could be slightly more structured (e.g., separating core function from output details).

    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 is moderately complete for a simple lookup tool. It covers the basic purpose and output fields but lacks behavioral details (e.g., error handling, network support beyond schema) and doesn't fully compensate for the missing output schema. It's adequate but has clear gaps in 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 both parameters ('network' and 'txHash') with descriptions and defaults. The description adds no additional parameter semantics beyond implying the hash is used for lookup, which the schema covers. Baseline 3 is appropriate as the schema handles parameter documentation adequately.

    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: 'Get detailed information about a specific transaction by its hash' with a verb ('Get') and resource ('transaction'), and lists included fields like sender and recipient. However, it doesn't explicitly differentiate from sibling tools like 'get_transaction_receipt' or 'get_block_by_hash', which also retrieve transaction-related data, leaving some ambiguity about when to choose this specific tool.

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

    Usage Guidelines2/5

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

    The description provides no guidance on when to use this tool versus alternatives. It doesn't mention sibling tools like 'get_transaction_receipt' (which might provide complementary data) or clarify if this is the primary method for transaction lookup. The context is implied (need transaction details by hash) but lacks explicit usage boundaries or exclusions.

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

  • Behavior2/5

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

    With no annotations provided, the description carries full burden but reveals minimal behavioral traits. It states what the tool does but doesn't describe response format, error behavior, rate limits, authentication needs, or what a 'transaction receipt' contains. For a read operation with no annotation coverage, this leaves significant gaps in understanding how the tool behaves.

    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 a single, efficient sentence with zero wasted words. It's front-loaded with the core purpose and appropriately sized for a straightforward lookup tool. Every word earns its place.

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

    Completeness2/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 is insufficiently complete. It doesn't explain what a transaction receipt contains, what format it returns in, or any behavioral aspects. For a blockchain query tool with rich potential output data, this leaves too much undefined for effective agent use.

    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 fully documents both parameters. The description mentions 'by its hash' which aligns with the 'txHash' parameter but adds no additional semantic context beyond what's in the schema. No parameter-specific guidance is provided in the description, 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.

    Purpose4/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 ('transaction receipt'), specifying it's retrieved 'by its hash'. It distinguishes from sibling tools like 'get_transaction' (which likely returns transaction details rather than receipt) and 'get_block_by_hash' (which operates on blocks). However, it doesn't explicitly contrast with these alternatives in the description itself.

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

    Usage Guidelines2/5

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

    No guidance is provided on when to use this tool versus alternatives. The description doesn't mention when to choose this over 'get_transaction' (which might return different data) or other blockchain query tools. There's no context about prerequisites, error conditions, or typical use cases.

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

  • Behavior2/5

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

    With no annotations provided, the description carries full burden but lacks critical behavioral details. It doesn't mention that this is a blockchain transaction (implying irreversible changes, gas fees, network confirmation), security risks of private key exposure, or that it modifies on-chain state. The ERC1155 explanation is informative but doesn't cover tool 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?

    Two sentences with zero waste—first states the tool's purpose, second explains ERC1155. Well-structured and front-loaded, though the ERC1155 explanation might be more appropriate as context rather than core description.

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

    Completeness2/5

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

    For a complex blockchain transaction tool with 6 parameters, no annotations, and no output schema, the description is inadequate. It misses critical context: irreversible nature, gas costs, network dependencies, error handling, and what the tool returns (e.g., transaction hash). The ERC1155 explanation doesn't compensate for these 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 parameters are well-documented in the schema itself. The description adds no additional parameter semantics beyond the ERC1155 standard explanation, which doesn't directly clarify individual parameters. Baseline 3 is appropriate since the schema does the heavy lifting.

    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 action ('Transfer') and resource ('ERC1155 tokens to another address'), and distinguishes ERC1155 from other token standards. However, it doesn't explicitly differentiate from sibling tools like transfer_erc20 or transfer_nft, which handle different token types.

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

    Usage Guidelines2/5

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

    No guidance on when to use this tool versus alternatives like transfer_erc20 or transfer_nft. The description mentions ERC1155's multi-token capability but doesn't specify use cases (e.g., batch transfers, semi-fungible tokens) or prerequisites like needing the private key for signing.

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

  • Behavior2/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 states the action ('transfer') but lacks details on critical behaviors: it doesn't mention that this is a write operation requiring gas fees, potential for transaction failure, confirmation times, or that it modifies blockchain state. The description is minimal and misses key operational context needed for safe use.

    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 a single, efficient sentence with zero waste. It's front-loaded with the core action and resource, making it easy to scan. Every word earns its place, and there's no redundant or verbose phrasing.

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

    Completeness2/5

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

    Given the complexity (a blockchain write operation with 5 parameters, no annotations, and no output schema), the description is incomplete. It doesn't address behavioral risks (e.g., irreversible transfers, gas costs), success/failure outcomes, or integration with sibling tools like 'estimate_gas'. For a tool with significant implications, more context is needed to guide safe and effective use.

    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 fully documents all 5 parameters with clear descriptions. The description adds no additional parameter semantics beyond what's in the schema (e.g., it doesn't explain parameter interactions or provide examples). Baseline 3 is appropriate as the schema does the heavy lifting, but the description doesn't compensate or enhance understanding.

    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 action ('transfer') and resource ('ERC20 tokens'), specifying the target ('to an address'). It distinguishes from siblings like 'transfer_native_token' and 'transfer_nft' by specifying ERC20 tokens, but doesn't explicitly differentiate from 'transfer_erc1155' beyond the token type. The purpose is specific but could be more precise about sibling differentiation.

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

    Usage Guidelines2/5

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

    No explicit guidance on when to use this tool versus alternatives is provided. The description doesn't mention prerequisites (e.g., needing token approval via 'approve_token_spending'), network selection considerations, or when to choose this over other transfer tools like 'transfer_native_token'. Usage is implied from the name and parameters but not articulated.

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

  • Behavior2/5

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

    With no annotations provided, the description carries full burden but offers minimal behavioral insight. It states what the tool does but doesn't disclose critical traits: whether it's a read-only or write operation (implied write from 'transfer'), authentication requirements beyond the private key parameter, rate limits, error conditions, or what happens on failure. The description lacks transparency about the tool's operational 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 a single, efficient sentence that directly states the tool's purpose with zero wasted words. It's appropriately sized for a straightforward tool and front-loads the essential information without unnecessary elaboration.

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

    Completeness2/5

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

    For a tool that performs financial transactions (implied by 'transfer') with no annotations and no output schema, the description is insufficient. It doesn't cover authentication needs, security implications, error handling, or return values. Given the complexity and potential risks of token transfers, the description should provide more context about behavior and outcomes.

    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 fully documents all four parameters. The description adds no additional parameter semantics beyond what's in the schema—it doesn't explain parameter interactions, constraints, or provide examples of valid combinations. The baseline score of 3 reflects adequate coverage through the schema alone.

    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 action ('transfer') and resource ('native tokens') with examples of specific tokens (BNB, ETH, MATIC). It distinguishes from sibling tools like transfer_erc20 and transfer_erc1155 by specifying 'native tokens' rather than token standards. However, it doesn't explicitly mention the blockchain context that would further differentiate it from generic transfers.

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

    Usage Guidelines2/5

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

    The description provides no guidance on when to use this tool versus alternatives like transfer_erc20 or transfer_nft. It doesn't mention prerequisites (e.g., needing a private key, sufficient balance), nor does it clarify network-specific considerations. The agent must infer usage from the tool name and parameters alone.

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

  • 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. It mentions 'state-changing function' which implies mutation, but doesn't cover critical aspects: transaction costs (gas), network confirmation times, irreversible nature of blockchain writes, authentication requirements (private key usage), or error handling. For a high-stakes write operation, this is insufficient transparency.

    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 a single, efficient sentence that communicates the core purpose without unnecessary words. It's appropriately front-loaded with the essential action and target. Every word earns its place in this compact formulation.

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

    Completeness2/5

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

    For a complex blockchain write operation with 6 parameters, no annotations, and no output schema, the description is inadequate. It doesn't address transaction lifecycle, error scenarios, cost implications, or return values. Given the high-stakes nature of smart contract interactions and the rich sibling tool ecosystem, more contextual information is needed for safe and effective use.

    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 complete parameter documentation. The description adds no additional parameter semantics beyond what's in the schema - it doesn't explain relationships between parameters (e.g., how ABI matches functionName), format requirements, or practical examples. With full schema coverage, the baseline of 3 is appropriate as the description doesn't enhance parameter understanding.

    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 action ('write data') and target ('smart contract') with the specific mechanism ('calling a state-changing function'), which distinguishes it from read-only operations like 'read_contract'. However, it doesn't explicitly differentiate from other state-changing tools like 'transfer_erc20' or 'approve_token_spending', which are more specific implementations of contract writes.

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

    Usage Guidelines2/5

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

    The description provides no guidance on when to use this tool versus alternatives. It doesn't mention prerequisites (e.g., needing a private key for signing), contrast with 'read_contract' for non-state-changing calls, or explain when to use more specialized tools like 'transfer_erc20' instead. This leaves the agent without contextual decision-making help.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries full burden. It states the tool's function but lacks behavioral details like whether it requires authentication, has rate limits, returns a boolean or detailed ownership proof, or handles errors. This is a significant gap for a tool with no annotation coverage.

    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 a single, efficient sentence that directly states the tool's purpose without unnecessary words. It's appropriately sized and front-loaded, making it easy to understand at a glance.

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

    Completeness2/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 is incomplete. It doesn't explain what the tool returns (e.g., boolean, ownership details, error formats) or behavioral aspects like performance or limitations. For a tool with 4 parameters and no structured output, more context is needed.

    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 detailed descriptions for all parameters. The description adds no additional parameter semantics beyond the schema, which already explains network, ownerAddress, tokenAddress, and tokenId. 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 with specific verb ('Check') and resource ('if an address owns a specific NFT'), distinguishing it from siblings like get_nft_balance (which checks quantity) or get_nft_info (which retrieves metadata). It precisely communicates the verification function.

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

    Usage Guidelines2/5

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

    No guidance is provided on when to use this tool versus alternatives. For example, it doesn't mention using get_nft_balance for checking ownership of any NFT in a collection or get_nft_info for metadata retrieval. The description only states what it does, not when it's appropriate.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries full burden for behavioral disclosure. 'Get list' implies a read-only operation, but it doesn't specify what 'supported networks' means (e.g., blockchain networks, API-supported networks), whether there are rate limits, authentication requirements, or what format the list returns. This leaves significant behavioral gaps.

    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 a single, efficient sentence with zero wasted words. It's front-loaded with the core purpose and appropriately sized for a simple tool with no parameters.

    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 parameterless read operation with no output schema, the description is minimally adequate but incomplete. It states what the tool does but lacks context about what 'supported networks' entails, return format, or behavioral constraints. Given the simplicity (0 params, no annotations), it's functional but could be more informative.

    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 tool has 0 parameters, and schema description coverage is 100% (empty schema is fully described). The description doesn't need to add parameter information, so it meets the baseline expectation for parameterless tools. No additional semantic value is required or provided.

    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 'Get list of supported networks' clearly states the verb ('Get') and resource ('supported networks'), making the purpose immediately understandable. However, it doesn't differentiate from siblings like 'get_chain_info' which might provide similar network-related information, preventing 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 Guidelines2/5

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

    The description provides no guidance on when to use this tool versus alternatives. With siblings like 'get_chain_info' that might overlap, there's no indication of when this specific tool is appropriate or what distinguishes it from other network-related tools.

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

  • 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. It specifies the operation type ('read data') and technical constraint ('view/pure function'), but lacks critical details like authentication requirements, rate limits, error handling, or what the return format looks like. For a tool with 5 parameters and no output schema, this leaves significant behavioral gaps.

    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 a single, efficient sentence that immediately communicates the core purpose. Every word earns its place, with no redundant information or unnecessary elaboration. The technical specificity ('view/pure function') is appropriately concise.

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

    Completeness2/5

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

    For a tool with 5 parameters, no annotations, and no output schema, the description is insufficiently complete. It doesn't explain what data is returned, how to interpret results, error conditions, or practical usage patterns. The technical constraint ('view/pure function') is helpful but doesn't compensate for the missing behavioral and output 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 5 parameters thoroughly. The description adds no additional parameter semantics beyond what's in the schema - it doesn't explain relationships between parameters (e.g., how ABI relates to functionName) or provide usage 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.

    Purpose4/5

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

    The description clearly states the action ('read data') and resource ('smart contract') with specific technical context ('by calling a view/pure function'). It distinguishes from sibling tools like 'write_contract' by specifying read-only operations, though it doesn't explicitly differentiate from other read-focused tools like 'get_erc20_balance' or 'get_nft_info'.

    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 context through 'view/pure function' terminology, which suggests this is for non-state-changing contract interactions. However, it doesn't provide explicit guidance on when to use this versus alternatives like 'get_erc20_balance' for specific token queries or 'is_contract' for address verification.

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

  • 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 states the tool derives an address and implies it's a read-only operation, but doesn't disclose behavioral traits like security handling (e.g., whether the private key is transmitted securely), error conditions, or performance aspects. The description adds basic context but lacks depth for a security-sensitive 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 a single, efficient sentence that directly states the tool's purpose without unnecessary words. It's front-loaded and wastes no space, making it easy to parse quickly.

    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 moderate complexity (involves cryptographic derivation) and no output schema, the description is minimally adequate. It covers the basic purpose but lacks details on output format (e.g., address format), error handling, or security implications, which are important for a tool handling private keys. With no annotations, it should provide more 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%, with the parameter 'privateKey' well-documented in the schema (including format and security note). The description doesn't add any meaningful semantics beyond what the schema provides, such as examples or edge cases, so it 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.

    Purpose4/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 ('EVM address derived from a private key'), making the purpose specific and understandable. It doesn't explicitly differentiate from siblings like 'resolve_ens' or 'get_chain_info', but the focus on private key derivation is distinct enough for most contexts.

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

    Usage Guidelines2/5

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

    No guidance is provided on when to use this tool versus alternatives. For example, it doesn't mention if this is for address derivation only (vs. resolving ENS names or checking balances), or any prerequisites like needing a valid private key format. The description lacks context for tool selection.

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

  • Behavior2/5

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

    With no annotations provided, the description carries full burden but only mentions that ERC1155 allows multiple tokens per ID. It doesn't disclose behavioral traits like rate limits, authentication needs, error conditions, or what the return value looks like (e.g., numeric balance, format). This leaves significant gaps for a tool that queries blockchain data.

    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 concise with two sentences that directly explain the tool's purpose and a key characteristic of ERC1155 tokens. Every word earns its place with zero wasted 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 read-only query tool with full schema coverage but no annotations or output schema, the description is minimally adequate. It explains what the tool does but lacks important context about return format, error handling, and network behavior that would help an agent use it correctly.

    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 all 4 parameters. The description adds no additional parameter semantics beyond what's in the schema, meeting the baseline of 3 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 ('Get the balance') and resource ('ERC1155 token ID owned by an address'), distinguishing it from sibling tools like 'get_erc20_balance' and 'get_nft_balance' by specifying the ERC1155 token standard. It also explains the unique characteristic of ERC1155 tokens allowing multiple copies of the same ID.

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

    Usage Guidelines2/5

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

    The description provides no guidance on when to use this tool versus alternatives like 'get_nft_balance' or 'check_nft_ownership', nor does it mention prerequisites or exclusions. It simply describes what the tool does without contextual usage instructions.

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

  • 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. It mentions the BSC limitation, which is useful context about network support constraints. However, it doesn't describe what happens on successful resolution (format of returned address), error conditions (invalid ENS names, network errors), rate limits, authentication needs, or whether this is a read-only operation. For a tool with zero annotation coverage, this leaves significant behavioral gaps.

    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 extremely concise - a single sentence with a parenthetical constraint. Every word earns its place: it states the core function and includes a critical limitation. There's no fluff or redundant information. The structure is front-loaded with the primary purpose.

    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 2 parameters with 100% schema coverage but no annotations and no output schema, the description provides the basic purpose and one important constraint (BSC limitation). However, for a resolution tool that presumably returns address data, the lack of output schema means the description should ideally mention what gets returned. The description is minimally adequate but leaves gaps about the result format and error behavior.

    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 both parameters. The description doesn't add any parameter-specific information beyond what's in the schema. It mentions ENS names and EVM addresses generally but doesn't provide additional syntax, format, or semantic details about the parameters. Baseline 3 is appropriate when the schema does all the parameter documentation work.

    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: 'Resolve an ENS name to an EVM address' - a specific verb (resolve) and resource (ENS name). It distinguishes from siblings by mentioning EVM address resolution, which no other tool explicitly does. However, it doesn't fully differentiate from potential similar resolution tools that might exist, keeping it at 4 rather than 5.

    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 provides some usage context with the parenthetical '(not supported on BSC)', which implies when NOT to use it. However, it doesn't explicitly state when TO use it versus alternatives, nor does it mention any of the sibling tools as alternatives for related tasks. The guidance is implied rather than explicit.

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

  • Behavior2/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 describes what the tool does (retrieves a URI) and mentions the URI typically points to JSON metadata, but doesn't cover important aspects like whether this is a read-only operation, potential rate limits, error conditions, or authentication requirements for a blockchain 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 efficiently structured in two sentences: the first states the core purpose, and the second provides helpful context about what the URI typically contains. Every sentence adds value with zero wasted words.

    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 read-only query tool with no output schema and no annotations, the description adequately covers the basic purpose and provides helpful context about ERC1155 tokens and metadata. However, it doesn't describe the return format (what the URI looks like, whether it's resolved) or potential behavioral aspects like error handling, which would be valuable given the lack of structured output documentation.

    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 schema description coverage is 100%, so all parameters are well-documented in the schema itself. The description doesn't add any parameter-specific information beyond what's in the schema, but the baseline of 3 is appropriate when the schema does the heavy lifting for parameter documentation.

    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 the metadata URI') and resource ('for an ERC1155 token'), with additional context about the token standard. It distinguishes from siblings like get_erc1155_balance (which gets balance) or get_nft_info (which might get different metadata).

    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 by mentioning 'ERC1155 token' and 'metadata URI', suggesting it's for retrieving token metadata URIs. However, it doesn't explicitly state when to use this tool versus alternatives like get_nft_info or provide any exclusion criteria or prerequisites.

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

  • Behavior2/5

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

    No annotations are provided, so the description carries full burden. It states the tool returns a count, not token IDs, which is useful behavioral context. However, it doesn't disclose other important traits like whether this is a read-only operation, potential rate limits, authentication needs, error conditions, or response format details beyond 'count'.

    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?

    Two sentences with zero waste. The first sentence states the complete purpose and scope. The second sentence adds crucial clarification about what's returned. Both sentences earn their place by providing essential information not obvious from the tool name alone.

    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 read operation with 100% schema coverage but no annotations or output schema, the description provides adequate purpose and return clarification. However, it lacks behavioral context about safety, performance, or error handling that would be helpful given the absence of annotations. The description is complete enough for basic usage but has gaps in operational 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 three parameters thoroughly. The description doesn't add any parameter-specific information beyond what's in the schema descriptions. According to guidelines, baseline is 3 when schema coverage is high (>80%).

    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 the total number of NFTs owned') with the resource ('by an address from a specific collection'), distinguishing it from siblings like get_erc1155_balance (which handles ERC1155 tokens) and check_nft_ownership (which verifies ownership of specific tokens). It explicitly clarifies it returns count, not token IDs.

    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 context by specifying 'from a specific collection' and clarifying it returns count, not token IDs, which helps differentiate from get_erc1155_balance. However, it lacks explicit guidance on when to use alternatives like check_nft_ownership for verifying specific token ownership or get_nft_info for collection metadata.

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

  • 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. It describes what information is returned but doesn't mention important behavioral aspects like whether this is a read-only operation (implied but not stated), potential rate limits, authentication requirements, error conditions, or response format. The phrase 'if available' hints at partial data availability but doesn't explain failure modes.

    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 a single, well-structured sentence that efficiently conveys the tool's purpose and scope. It front-loads the main action ('Get detailed information'), specifies the resource type, and lists key data points without unnecessary elaboration. Every word serves a purpose with zero waste.

    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 read operation with 3 parameters and 100% schema coverage but no output schema, the description provides adequate context about what information is retrieved. However, it lacks details about the return format, error handling, or behavioral constraints that would be important for an AI agent to use this tool effectively. The absence of annotations and output schema creates gaps that the description doesn't fully address.

    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 good documentation for all three parameters. The description doesn't add any parameter-specific information beyond what's in the schema (which already explains network defaults, token address examples, and token ID format). The baseline score of 3 reflects adequate parameter documentation through the schema alone.

    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 action ('Get detailed information') and resource ('specific NFT (ERC721 token)'), with specific examples of what information is included (collection name, symbol, token URI, current owner). It distinguishes from sibling tools like get_nft_balance (which checks ownership quantity) and get_erc1155_token_uri (which handles a different token standard).

    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 context through the phrase 'if available' for current owner information, suggesting this tool retrieves metadata rather than performing actions. However, it doesn't explicitly state when to use this versus alternatives like check_nft_ownership (which verifies ownership) or get_erc1155_token_uri (for ERC1155 tokens), leaving some ambiguity about tool selection.

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

  • Behavior2/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 states the tool's function but lacks details on permissions, rate limits, error handling, or response format (e.g., boolean result or structured data). For a tool with no annotation coverage, this leaves significant gaps in understanding its operational 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 a single, efficient sentence that directly states the tool's purpose without unnecessary words. It is front-loaded with the core action and resource, making it easy to parse quickly. Every part of the sentence contributes essential 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 moderate complexity (2 parameters, no output schema, no annotations), the description is adequate but incomplete. It covers the basic purpose but lacks behavioral details (e.g., response format, error cases) and usage context. Without annotations or output schema, the description should provide more operational guidance to be fully 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 fully documents both parameters ('address' and 'network'). The description does not add any parameter-specific details beyond what the schema provides, such as address format examples or network compatibility nuances. Baseline 3 is appropriate when the schema handles all parameter documentation.

    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 ('Check') and the target resource ('if an address is a smart contract or an externally owned account'), distinguishing it from sibling tools like 'get_address_from_private_key' or 'resolve_ens' that handle different address-related tasks. It precisely defines the tool's function without ambiguity.

    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 when needing to determine an address type, but does not explicitly state when to use this tool versus alternatives like 'read_contract' (for contract interactions) or 'get_native_balance' (for account queries). No exclusions or prerequisites are provided, leaving usage context inferred rather than guided.

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

  • 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 explains the purpose and context but doesn't mention important behavioral aspects like transaction costs (gas fees), whether approvals are revocable, security implications of unlimited approvals, or what the tool returns. For a financial transaction tool with zero annotation coverage, this leaves significant gaps.

    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 concise with two sentences that each earn their place. The first sentence states the core purpose, and the second provides important usage context. There's zero wasted language or redundancy.

    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 financial transaction tool with 5 parameters, no annotations, and no output schema, the description is adequate but incomplete. It covers the 'what' and 'why' but lacks information about transaction behavior, security considerations, error conditions, or return values. Given the complexity and absence of structured metadata, more completeness would be expected.

    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 has 100% description coverage, so the baseline is 3. The description adds value by explaining the broader context (DeFi protocol interactions) and the purpose of approvals, which helps the agent understand why these parameters matter beyond their technical definitions 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 specific action ('Approve another address to spend your ERC20 tokens') and the resource involved (ERC20 tokens). It distinguishes this from sibling tools like 'transfer_erc20' or 'write_contract' by focusing specifically on token spending approvals for DeFi interactions.

    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 about when to use this tool ('often required before interacting with DeFi protocols'), giving practical guidance. However, it doesn't explicitly mention when NOT to use it or name specific alternatives among the sibling tools, 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.

  • 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 critical behavioral traits: that this is a write/mutation operation (implied by 'Transfer'), requires private key authentication, involves transaction signing, and has security implications. It doesn't mention gas costs, confirmation times, or error conditions, but covers the essential safety 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?

    The description is perfectly concise with two sentences that each earn their place: the first states the core purpose, and the second provides critical behavioral context about authentication requirements. No wasted words or redundant 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 mutation tool with no annotations and no output schema, the description does well by covering the essential safety profile (private key requirement, transaction signing). However, it doesn't mention what happens on success/failure, return values, or gas considerations, which would be helpful given the complexity of blockchain transactions.

    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 all 5 parameters. The description adds minimal value beyond the schema, only implying that privateKey belongs to the 'current owner' and that tokens are ERC721. Baseline 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 specific action ('Transfer an NFT') and resource ('ERC721 token'), including the direction ('from one address to another'). It distinguishes from siblings like transfer_erc20, transfer_erc1155, and transfer_native_token by specifying NFT/ERC721 tokens.

    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 about when to use this tool (NFT transfers) and implicitly distinguishes it from other transfer tools by specifying ERC721 tokens. However, it doesn't explicitly state when NOT to use it or name specific alternatives like transfer_erc20 for fungible tokens.

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

GitHub Badge

Glama performs regular codebase and documentation scans to:

  • Confirm that the MCP server is working as expected.
  • Confirm that there are no obvious security issues.
  • Evaluate tool definition quality.

Our badge communicates server capabilities, safety, and installation instructions.

Card Badge

bnbchain-mcp MCP server

Copy to your README.md:

Score Badge

bnbchain-mcp MCP server

Copy to your README.md:

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/bnb-chain/bnbchain-mcp'

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