Boar blockchain MCP (basic)
Server Details
Free, keyless MCP server with 50 read-only blockchain tools for Bitcoin, Ethereum, and Mezo. No installation, no API key required -- just add the URL to your MCP client and start querying balances, transactions, blocks, ENS names, ERC-20 tokens, smart contracts, and more. Runs on Cloudflare's global edge network via Streamable HTTP. All tools are strictly read-only and stateless.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
Glama MCP Gateway
Connect through Glama MCP Gateway for full control over tool access and complete visibility into every call.
Full call logging
Every tool call is logged with complete inputs and outputs, so you can debug issues and audit what your agents are doing.
Tool access control
Enable or disable individual tools per connector, so you decide what your agents can and cannot do.
Managed credentials
Glama handles OAuth flows, token storage, and automatic rotation, so credentials never expire on your clients.
Usage analytics
See which tools your agents call, how often, and when, so you can understand usage patterns and catch anomalies.
Tool Definition Quality
Average 4.1/5 across 37 of 37 tools scored. Lowest: 3.5/5.
Every tool has a clearly distinct purpose with no ambiguity; each is uniquely identified by its blockchain (btc, eth, mezo), network (mainnet/testnet for BTC), and specific operation (e.g., get_balance, get_transaction). The descriptions reinforce distinct functionalities, making misselection unlikely.
Tool names follow a highly consistent verb_noun pattern with a structured prefix (e.g., btc_get_balance, eth_get_transaction, mezo_gas_price). All use snake_case uniformly, and the naming scheme clearly indicates the blockchain, network (for BTC), and operation, providing excellent predictability.
With 37 tools, the count is too high for the server's basic scope, leading to redundancy. Many tools are duplicates across blockchains (e.g., btc_get_balance, eth_get_balance, mezo_get_balance) and networks (BTC mainnet vs. testnet), which could have been consolidated with parameters, making the set feel heavy and inefficient.
The tool set offers complete coverage for blockchain data retrieval across Bitcoin, Ethereum, and Mezo, including balances, blocks, transactions, fees, logs, tokens, and utilities like ENS resolution. There are no obvious gaps; it supports core workflows like querying balances, inspecting transactions, and analyzing contracts comprehensively.
Available Tools
37 toolsbtc_get_balanceARead-onlyInspect
Get confirmed and unconfirmed balance for a Bitcoin address on Bitcoin mainnet. Returns balance in satoshis.
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | Bitcoin address (P2PKH, P2SH, P2WPKH, P2WSH, or P2TR) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds valuable behavioral context beyond annotations: specifies 'confirmed and unconfirmed' balance and 'satoshis' unit, clarifying data scope and return format.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two dense sentences with no redundancy; front-loaded with core functionality and properly scoped to mainnet.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter read operation, covers network context, confirmation status, and return units sufficiently; no output schema exists but description adequately compensates.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 100% coverage with detailed address format descriptions; description adds no new parameter semantics but meets baseline for high-coverage schemas.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states action (get balance), target (Bitcoin address), network (mainnet - distinguishing it from btc_testnet_get_balance), and return format (satoshis).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies usage via 'mainnet' distinction but lacks explicit when-to-use vs alternatives or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
btc_get_blockARead-onlyInspect
Get block header data by height on Bitcoin mainnet. Returns parsed header with hash, version, previous block hash, merkle root, timestamp, bits, and nonce.
| Name | Required | Description | Default |
|---|---|---|---|
| height | Yes | Block height |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds valuable return value structure (hash, version, merkle root, etc.) and network specificity (mainnet) beyond what annotations provide, without contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded action, no redundancy - every word earns its place despite conveying purpose and return structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter tool, description fully compensates for missing output schema by enumerating returned header fields; nothing essential is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 100% coverage ('Block height'); description confirms 'by height' but adds minimal semantic value beyond schema since parameter is self-explanatory.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb (Get) + resource (block header data) + scope (Bitcoin mainnet by height), clearly distinguishes from btc_testnet_get_block and other btc_* siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies usage via 'by height' and 'mainnet', but lacks explicit when/when-not guidance relative to siblings like btc_get_transaction or btc_testnet_get_block.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
btc_get_fee_estimateARead-onlyInspect
Get fee rate estimate on Bitcoin mainnet for a target number of blocks. Returns estimated fee in BTC/kB and sat/byte. Use target=1 for next-block, target=6 for ~1 hour. Returns -1 if no estimate available.
| Name | Required | Description | Default |
|---|---|---|---|
| target | No | Target number of blocks for confirmation (default: 6) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses return format (BTC/kB and sat/byte) and edge case behavior (returns -1 if unavailable), adding context beyond readOnly/openWorld annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Compact four-sentence structure progressing logically from purpose → return format → usage examples → error handling with zero redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Compensates for missing output schema by documenting return units and error values; adequately complete for a single-parameter read operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Enriches the schema's technical description by mapping target values to practical time estimates (next-block, ~1 hour), adding actionable semantic meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Explicitly states 'Get fee rate estimate on Bitcoin mainnet' with specific verb and resource, clearly distinguishing from testnet variant and ETH/Mezo gas tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides concrete guidance on target parameter values (1 for next-block, 6 for ~1 hour), though doesn't explicitly enumerate alternatives to the tool itself.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
btc_get_historyARead-onlyInspect
Get transaction history for a Bitcoin address on Bitcoin mainnet. Returns list of transactions with heights and tx hashes.
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | Bitcoin address (P2PKH, P2SH, P2WPKH, P2WSH, or P2TR) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds valuable return value structure ('list of transactions with heights and tx hashes') necessary due to missing output schema, without contradicting readOnly/openWorld annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two well-structured sentences: front-loaded action and scope, followed by return value disclosure; no redundancy or fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Appropriately complete for a single-parameter read-only tool; compensates for missing output schema by describing return format, though could mention pagination or rate limiting.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 100% description coverage with detailed address format info; description provides baseline acknowledgment of the address parameter without adding new semantic context.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb 'Get' with clear resource 'transaction history for a Bitcoin address', and explicitly scopes to 'mainnet' distinguishing from btc_testnet_get_history sibling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Clear context via 'mainnet' (implicitly excluding testnet) and 'history' (distinguishing from balance/transaction lookups), though lacks explicit 'when-not' statements.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
btc_get_mempool_infoARead-onlyInspect
Get mempool fee histogram on Bitcoin mainnet. Returns array of [fee_rate, cumulative_vsize] pairs showing the distribution of transactions in the mempool by fee rate (sat/vB).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds valuable return value structure ([fee_rate, cumulative_vsize] pairs) and units (sat/vB) not present in annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences: first states purpose, second details output format; no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Fully covers tool's scope for a zero-parameter read-only tool, including compensating for missing output schema by describing return values.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Zero parameters with 100% schema coverage; baseline 4 applies as no parameter description is needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb+resource ('Get mempool fee histogram') and explicitly specifies 'Bitcoin mainnet' to distinguish from testnet sibling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implicitly guides usage by specifying 'mainnet' vs testnet variant, but lacks explicit when-to-use guidance vs btc_get_fee_estimate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
btc_get_transactionARead-onlyInspect
Get full transaction details by txid on Bitcoin mainnet. Returns verbose transaction data including inputs, outputs, confirmations, and block hash.
| Name | Required | Description | Default |
|---|---|---|---|
| txid | Yes | Transaction ID (64 hex characters) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds crucial behavioral context not in annotations: specifies 'Bitcoin mainnet' (distinguishing from testnet sibling) and details return payload contents (inputs, outputs, confirmations) compensating for missing output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences: first establishes scope (mainnet) and purpose, second details returns; no redundancy, front-loaded with distinguishing information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter tool, description is complete; it compensates for absent output schema by enumerating returned fields (inputs, outputs, confirmations, block hash).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 100% description coverage; description references 'txid' but adds minimal semantic value beyond schema's 'Transaction ID (64 hex characters)' definition.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb (Get), resource (transaction details), key (txid), and critical scope (Bitcoin mainnet) clearly distinguishes from btc_testnet_get_transaction and other btc siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies usage (when you have a txid and need details) but lacks explicit when-not-to-use or comparison to btc_get_history or btc_get_balance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
btc_get_utxosARead-onlyInspect
Get unspent transaction outputs (UTXOs) for a Bitcoin address on Bitcoin mainnet. Returns list of unspent outputs with tx hash, position, height, and value in satoshis.
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | Bitcoin address (P2PKH, P2SH, P2WPKH, P2WSH, or P2TR) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Describes return structure (tx hash, position, height, value) compensating for missing output schema, and reinforces read-only nature via mainnet specificity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two dense sentences: purpose statement followed by return value specification; no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Fully compensates for absent output schema by detailing return fields; appropriately complete for single-parameter read-only tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 100% description coverage (address formats detailed), description adds no param info but meets baseline for high-coverage schemas.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb 'Get' + resource 'UTXOs', explicitly distinguishes from testnet siblings via 'Bitcoin mainnet' and from balance/history tools via 'unspent transaction outputs'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implicitly guides by specifying 'mainnet' (vs testnet variants) and detailing UTXO-specific return data, though lacks explicit comparison to btc_get_balance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
btc_testnet_get_balanceARead-onlyInspect
Get confirmed and unconfirmed balance for a Bitcoin address on Bitcoin testnet3. Returns balance in satoshis.
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | Bitcoin address (P2PKH, P2SH, P2WPKH, P2WSH, or P2TR) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds valuable return value context (satoshis) and balance types (confirmed/unconfirmed) not present in annotations; no contradictions with readOnlyHint/openWorldHint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight, front-loaded sentences: first defines the operation, second specifies the return unit; no redundant text.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple single-parameter tool without output schema, description adequately covers the return value format (satoshis) and network context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with detailed address format descriptions; tool description adds no significant semantic value beyond the schema baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Explicitly states the action (get confirmed/unconfirmed balance), resource (Bitcoin address), and distinguishes from mainnet sibling by specifying 'testnet3'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides clear context via 'testnet3' mention, implicitly indicating use for testnet operations, but lacks explicit guidance to use btc_get_balance for mainnet.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
btc_testnet_get_blockARead-onlyInspect
Get block header data by height on Bitcoin testnet3. Returns parsed header with hash, version, previous block hash, merkle root, timestamp, bits, and nonce.
| Name | Required | Description | Default |
|---|---|---|---|
| height | Yes | Block height |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds valuable return value structure (hash, version, merkle root, etc.) beyond annotations, with no contradictions to readOnlyHint/openWorldHint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two well-structured sentences: first defines scope/action, second details return payload; no redundancy or fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Adequately compensates for missing output schema by detailing returned fields; complete for single-parameter tool though error conditions unspecified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 100% description coverage ('Block height'); description mentions 'by height' but adds no semantic depth beyond schema definition.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Explicitly states specific action (Get block header data), resource (by height), and distinguishes from mainnet sibling via 'Bitcoin testnet3' specification.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Clear context provided (testnet3, by height), but lacks explicit guidance on when to use vs mainnet alternative (btc_get_block) or invalid height handling.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
btc_testnet_get_fee_estimateARead-onlyInspect
Get fee rate estimate on Bitcoin testnet3 for a target number of blocks. Returns estimated fee in BTC/kB and sat/byte. Use target=1 for next-block, target=6 for ~1 hour. Returns -1 if no estimate available.
| Name | Required | Description | Default |
|---|---|---|---|
| target | No | Target number of blocks for confirmation (default: 6) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds valuable context beyond annotations: specifies dual return formats (BTC/kB and sat/byte) and documents -1 return value for unavailable estimates.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tightly written sentences: purpose statement, usage examples/return format, and error condition. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Adequately covers the simple single-parameter tool; explains return values since no output schema exists, though could note read-only nature (covered by annotations).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Despite 100% schema coverage, description adds crucial semantic context interpreting target values as time estimates (next-block vs ~1 hour).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clear verb ('Get') + resource ('fee rate estimate') and explicitly distinguishes from mainnet sibling by specifying 'Bitcoin testnet3'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides concrete usage examples (target=1 for next-block, target=6 for ~1 hour) and error handling, though doesn't explicitly contrast with mainnet alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
btc_testnet_get_historyARead-onlyInspect
Get transaction history for a Bitcoin address on Bitcoin testnet3. Returns list of transactions with heights and tx hashes.
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | Bitcoin address (P2PKH, P2SH, P2WPKH, P2WSH, or P2TR) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Describes return value structure (list with heights and tx hashes) which compensates for the missing output schema, without contradicting readOnly/openWorld annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two efficient sentences: first establishes purpose and network, second discloses return format; no filler content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Adequately complete for a single-parameter tool, covering both input purpose and output format despite lacking a formal output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Since input schema has 100% description coverage including address type details, the description meets baseline by not redundantly repeating parameter info.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Explicitly states the action (get transaction history), target resource (Bitcoin address), and distinguishes from mainnet siblings by specifying 'testnet3'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides clear network context (testnet3) implicitly guiding selection, though lacks explicit comparison to btc_get_history or 'when-not' guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
btc_testnet_get_mempool_infoARead-onlyInspect
Get mempool fee histogram on Bitcoin testnet3. Returns array of [fee_rate, cumulative_vsize] pairs showing the distribution of transactions in the mempool by fee rate (sat/vB).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Valuably discloses return format (array of [fee_rate, cumulative_vsize] pairs) compensating for absent output schema; no contradiction with readOnly/openWorld annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences: first states action and network context, second details return structure—no wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Adequately covers testnet distinction and return value format given the tool's simplicity and lack of output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Baseline score for zero-parameter tool; no parameters require semantic clarification.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb (Get) + resource (mempool fee histogram) and explicitly distinguishes from mainnet sibling via 'Bitcoin testnet3' reference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies testnet context but lacks explicit guidance on when to select this over btc_get_mempool_info or other testnet tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
btc_testnet_get_transactionARead-onlyInspect
Get full transaction details by txid on Bitcoin testnet3. Returns verbose transaction data including inputs, outputs, confirmations, and block hash.
| Name | Required | Description | Default |
|---|---|---|---|
| txid | Yes | Transaction ID (64 hex characters) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Describes return value structure (inputs, outputs, confirmations, block hash) beyond annotations, with no contradictions to readOnlyHint/openWorldHint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences (20 words) with action front-loaded; second sentence efficiently describes return value contents without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Adequately compensates for missing output schema by detailing return fields; appropriate completeness for single-parameter lookup tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 100% description coverage; description references 'txid' but adds no semantic meaning beyond the schema's hex pattern specification.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb 'Get' with resource 'transaction details' and explicit network scope 'testnet3' clearly distinguishes from sibling btc_get_transaction (mainnet).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Clear scope limitation to 'testnet3' provides implicit differentiation from mainnet alternative, though lacks explicit 'when-not' guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
btc_testnet_get_utxosARead-onlyInspect
Get unspent transaction outputs (UTXOs) for a Bitcoin address on Bitcoin testnet3. Returns list of unspent outputs with tx hash, position, height, and value in satoshis.
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | Bitcoin address (P2PKH, P2SH, P2WPKH, P2WSH, or P2TR) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds valuable return value details (tx hash, position, height, satoshis) beyond the readOnly/openWorld annotations, though omits rate limit or pagination behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with action and network scope, second sentence details return format without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema exists, the description adequately compensates by detailing return structure; appropriate for a single-parameter read-only operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 100% coverage with detailed address description; description restates 'Bitcoin address' but adds no new semantic context beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Explicitly states it retrieves UTXOs for Bitcoin testnet3, clearly distinguishing from mainnet sibling btc_get_utxos and balance-checking tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Network context is implied by 'testnet3' naming, but lacks explicit guidance on when to prefer UTXOs over btc_testnet_get_balance or vs mainnet tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eth_estimate_gasARead-onlyInspect
Estimate gas required for a transaction on Ethereum mainnet. Returns gas estimate as hex string.
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | Destination address | |
| data | No | ABI-encoded call data | |
| from | No | Sender address | |
| value | No | Value to send in wei (hex) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds crucial return format detail ('hex string') not present in annotations or output schema, and specifies 'mainnet' context beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with core action, no redundancy—every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Sufficient for a read-only estimation tool; covers return type (critical without output schema) though could mention this simulates without executing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 100% description coverage ('Destination address', 'ABI-encoded call data', etc.); description adds no parameter semantics but baseline is adequate given schema quality.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clear specific action (estimate gas) and resource (Ethereum mainnet transactions), implicitly distinguishes from eth_gas_price by mentioning transactions, though could explicitly contrast with siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use versus alternatives like eth_gas_price, or when estimation is necessary before sending transactions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eth_gas_priceARead-onlyInspect
Get current gas price on Ethereum mainnet in wei (hex string). Use to estimate transaction costs.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds return format specification ('wei (hex string)') beyond annotations; no contradictions with readOnlyHint/openWorldHint annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences: first defines action/output, second provides usage context; no redundant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Complete for simple getter: specifies chain (Ethereum mainnet), return format, and purpose despite absence of output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Zero-parameter tool meets baseline; description appropriately omits parameter discussion as none exist.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb (Get), resource (gas price), scope (Ethereum mainnet), and return format (wei hex string) clearly distinguish it from siblings like mezo_gas_price and eth_estimate_gas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides clear usage context ('Use to estimate transaction costs') but lacks explicit comparison to alternatives like eth_estimate_gas for specific transaction estimation.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eth_get_abiARead-onlyInspect
Fetch a verified contract's ABI from Sourcify by address. Returns the full ABI array and match type ('full' or 'partial'). Returns match_type 'none' for unverified contracts. Defaults to Ethereum mainnet (chain_id 1).
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | Contract address | |
| chain_id | No | EVM chain ID (default: 1 for Ethereum mainnet) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds valuable context beyond annotations by detailing match types ('full'/'partial'/'none') and specific behavior for unverified contracts.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Compact, front-loaded with action, and every sentence delivers distinct value (purpose, return values, edge cases, defaults).
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Compensates well for missing output schema by describing return structure (ABI array, match_type values) and default network behavior.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema coverage, baseline is met; description reinforces the address parameter and default chain_id but adds minimal new semantic meaning beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb 'Fetch' with clear resource 'verified contract's ABI from Sourcify' distinctly separates it from sibling tools like eth_get_code or eth_get_balance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies usage through 'verified contract' and unverified contract behavior, but lacks explicit when/when-not guidance or alternative suggestions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eth_get_balanceARead-onlyInspect
Get native token balance for an address on Ethereum mainnet. Returns balance in wei (hex and decimal) and in ether.
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses return format details (wei hex/decimal and ether) compensating for missing output schema; aligns with readOnly annotation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with action, no redundancy—every clause adds value beyond structured fields.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Adequately compensates for missing output schema by detailing return values; could strengthen parameter description but sufficient for single-param tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Mentions 'address' but provides minimal semantics beyond schema; coverage is 0% so description carries burden with only implicit context ('on Ethereum mainnet').
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb and resource ('Get native token balance'), explicitly scopes to 'Ethereum mainnet' distinguishing from BTC, Mezo, and token balance siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies usage via 'native token' (vs eth_get_token_balance) and 'Ethereum mainnet' (vs siblings), but lacks explicit when-to-use/when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eth_get_blockARead-onlyInspect
Get block data by number or tag on Ethereum mainnet. Use hex block number (e.g. "0x1") or "latest". Returns full block object with transaction hashes.
| Name | Required | Description | Default |
|---|---|---|---|
| block | Yes | Block number as hex (e.g. "0x1") or tag ("latest", "earliest", "pending") |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds valuable return value context ('Returns full block object with transaction hashes') not present in annotations or output schema, and specifies 'Ethereum mainnet' network scope.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tightly constructed sentences covering purpose, input format, and return value; no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a single-parameter tool with no output schema, description adequately covers network context, input specification, and return value structure.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with detailed parameter description; tool description reinforces examples but adds no new semantic meaning beyond the schema (baseline 3).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Explicitly states 'Get block data by number or tag on Ethereum mainnet', clearly distinguishing from Bitcoin/Mezo siblings and other Ethereum methods like eth_get_transaction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides input format guidance ('Use hex block number...') but does not explicitly state when to choose this over related tools like eth_get_transaction or eth_get_block_receipts.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eth_get_codeARead-onlyInspect
Get bytecode at an address on Ethereum mainnet. Returns "0x" for EOAs (wallets), non-empty hex for contracts. Use to determine if an address is a contract or EOA, and to retrieve deployed bytecode.
| Name | Required | Description | Default |
|---|---|---|---|
| block | No | Block to query (default: "latest") | |
| address | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds crucial behavioral detail not in annotations: return values differ for EOAs ('0x') vs contracts (non-empty hex), and scope is limited to mainnet.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three dense sentences: action+scope, return value behavior, and usage intent. No redundancy, efficiently structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, but description compensates by detailing return values (0x vs bytecode). Network specificity handles sibling differentiation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50%; description implies the address parameter through purpose ('at an address') but does not explicitly elaborate parameter semantics or block parameter usage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb ('Get') + resource ('bytecode at an address') and explicitly specifies 'Ethereum mainnet' to distinguish from sibling mezo_get_code.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Clear use cases provided ('determine if an address is a contract or EOA'), but lacks explicit 'when not to use' or comparison to alternatives like eth_get_abi.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eth_get_logsARead-onlyInspect
Get event logs matching a filter on Ethereum mainnet. Requires at least fromBlock and toBlock. Optionally filter by contract address and topics.
| Name | Required | Description | Default |
|---|---|---|---|
| topics | No | Array of topic filters. Each element is a topic hash, null for wildcard, or an array of topic hashes for OR matching. | |
| address | No | Contract address to filter logs | |
| toBlock | Yes | Block number as hex (e.g. "0x1") or tag ("latest", "earliest", "pending") | |
| fromBlock | Yes | Block number as hex (e.g. "0x1") or tag ("latest", "earliest", "pending") |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds network context ('mainnet') beyond annotations but fails to disclose critical behavioral constraints like block range limits or timeout risks inherent to eth_get_logs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise (2 sentences), front-loaded with core action, no redundancy—every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Adequate for basic invocation but incomplete given no output schema exists (no return value description) and omits crucial operational warnings about maximum block ranges.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema coverage, description adds value by emphasizing parameter requirements ('Requires at least...') and filter semantics beyond the raw schema definitions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb ('Get event logs') and resource, explicitly distinguishes from siblings by specifying 'Ethereum mainnet' vs Mezo/Bitcoin alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Clarifies required vs optional parameters but lacks explicit guidance on when to use this vs alternatives (e.g., eth_get_transaction_receipt for single-transaction logs).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eth_get_token_balanceARead-onlyInspect
Get ERC-20 token balance for a wallet address on Ethereum mainnet. Returns raw balance, formatted balance with decimals, and token symbol. Calls balanceOf, decimals, and symbol on the token contract.
| Name | Required | Description | Default |
|---|---|---|---|
| token | Yes | ERC-20 token contract address | |
| wallet | Yes | Wallet address to check balance for |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Discloses implementation details ('Calls balanceOf, decimals, and symbol') and return structure beyond annotations, though omits 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three well-structured sentences: purpose, returns, implementation. Front-loaded, no fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, but description compensates by detailing return values (raw/formatted balance + symbol). Could mention revert behavior for invalid contracts.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 100% description coverage; description adds no param semantics but doesn't need to given comprehensive schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb+resource ('Get ERC-20 token balance') and explicitly mentions 'Ethereum mainnet' distinguishing it from mezo_get_token_balance and eth_get_balance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implied usage through specificity (ERC-20 vs ETH), but lacks explicit guidance on when to use eth_get_balance instead or error cases like non-ERC-20 contracts.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eth_get_token_infoARead-onlyInspect
Get ERC-20 token metadata for a token address on Ethereum mainnet. Returns name, symbol, decimals, and total supply (raw and formatted). Degrades gracefully — any individual call failure returns null for that field.
| Name | Required | Description | Default |
|---|---|---|---|
| token | Yes | ERC-20 token contract address |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds critical graceful degradation behavior ('any individual call failure returns null') not present in readOnly/openWorld annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences: purpose, return values, error handling. Every sentence earns its place; no fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so description appropriately lists all return fields (name, symbol, decimals, total supply) to compensate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 100% description coverage; description adds no new parameter semantics but meets baseline for well-documented schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb ('Get') + resource ('ERC-20 token metadata') + scope ('Ethereum mainnet') clearly distinguishes from sibling mezo_get_token_info and eth_get_token_balance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies usage by specifying metadata vs balance and Ethereum vs Mezo, but lacks explicit 'when to use vs alternatives' guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eth_get_transactionARead-onlyInspect
Get transaction details by hash on Ethereum mainnet. Returns full transaction object including from, to, value, input data, and status.
| Name | Required | Description | Default |
|---|---|---|---|
| hash | Yes | Transaction hash (32 bytes, hex-encoded with 0x prefix) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds valuable return value details (from, to, value, input data, status) beyond annotations, without contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two well-formed sentences: first states action, second describes return value; no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Compensates for missing output schema by enumerating returned transaction fields; sufficient for single-parameter tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 100% coverage; description references 'by hash' but adds no semantic depth beyond schema definition.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clear action (Get transaction details) and scope (Ethereum mainnet), though could better distinguish from eth_get_transaction_receipt sibling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use versus alternatives like eth_get_transaction_receipt or eth_get_block.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eth_get_transaction_receiptARead-onlyInspect
Get transaction receipt by hash on Ethereum mainnet. Returns status (0x1=success, 0x0=fail), gasUsed, contractAddress (for contract deployments), and event logs.
| Name | Required | Description | Default |
|---|---|---|---|
| hash | Yes | Transaction hash (32 bytes, hex-encoded with 0x prefix) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds valuable interpretation beyond annotations: explains status codes (0x1=success, 0x0=fail) and notes contractAddress is specifically for deployments.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tightly crafted sentences: first states action, second details return values. No redundancy, every word earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Compensates well for missing output schema by detailing return fields (status, gasUsed, logs, contractAddress); mentions mainnet context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Description mentions 'by hash' but input schema has 100% coverage with detailed parameter description; description adds no new parameter semantics but doesn't need to.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clear verb ('Get') and resource ('transaction receipt'), specifies 'Ethereum mainnet' to distinguish from mezo/btc siblings, and lists receipt-specific return values that differentiate from eth_get_transaction.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies usage through listing return values (status, logs), but lacks explicit guidance on when to choose this over eth_get_transaction (receipt vs transaction data).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eth_lookup_addressARead-onlyInspect
Reverse-resolve an Ethereum address to its primary ENS name. Returns null if no primary ENS name is set for the address.
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes | Ethereum address to reverse-resolve |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds critical behavioral detail (returns null when no primary ENS set) beyond readOnly/openWorld annotations without contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, both high-value: first defines purpose, second explains edge case; no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Adequately covers simple single-parameter tool; explains return behavior despite missing output schema, though could explicitly state return type is string/null.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 100% description coverage; description adds no parameter details but doesn't need to given schema completeness.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb (reverse-resolve) and clear resource transformation (address → ENS name), clearly distinguishes from sibling eth_resolve_ens via 'reverse' terminology.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explains null return behavior for unset ENS names, though could explicitly contrast with eth_resolve_ens for bidirectional clarity.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eth_lookup_selectorARead-onlyInspect
Look up a 4-byte function or error selector against 4byte.directory. Returns matching function/error signatures. Useful for identifying unknown calldata selectors or decoding custom errors.
| Name | Required | Description | Default |
|---|---|---|---|
| selector | Yes | 4-byte selector (0x-prefixed, e.g. 0x70a08231) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds valuable context about external dependency (4byte.directory) and return format (signatures) beyond readOnly/openWorld annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with zero fluff: first defines action/target, second defines utility; perfectly front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Adequately covers return behavior ('returns matching signatures') despite lacking output schema; sufficient for single-parameter tool complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 100% description coverage with example; description adds no parameter detail but meets baseline given comprehensive schema documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific action (lookup) against specific resource (4byte.directory) for specific purpose (function/error selectors), clearly distinct from blockchain query siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides clear use cases ('identifying unknown calldata selectors', 'decoding custom errors'), though no explicit alternatives needed given unique function.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eth_resolve_ensARead-onlyInspect
Resolve an ENS name to its Ethereum address. Returns null if the name is not registered or has no address record. Example: 'vitalik.eth' → '0xd8dA6BF26964aF9D68eC99A6d99030B4ec93B700'.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | ENS name to resolve (e.g. 'vitalik.eth') |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds critical behavioral context beyond annotations: returns null for unregistered names and provides concrete input/output example showing address format.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three precise sentences: purpose, error behavior, example. Every word earns its place; perfectly front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Adequately covers simple single-parameter tool; explains null returns and provides example mapping, though lacks network specificity (mainnet vs testnet).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 100% coverage with example; description reinforces with working example but adds no new semantic meaning beyond schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb 'resolve' + clear resource 'ENS name to Ethereum address', and functionally distinct from sibling eth_lookup_address (reverse lookup) via naming and description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explains null return behavior for unregistered names, but lacks explicit guidance on when to use vs reverse-lookup sibling (eth_lookup_address).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mezo_gas_priceARead-onlyInspect
Get current gas price on Mezo in wei (hex string). Use to estimate transaction costs.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds critical return format details ('wei (hex string)') beyond annotations, disclosing what the caller receives without contradicting readOnlyHint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, both high-value: first defines action/output format, second states use case; no fluff or redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Lacks output schema but description compensates by specifying return format (wei hex string); sufficient for this simple read-only tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Zero parameters present, meeting baseline expectation; no parameter description needed or provided.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb (Get), resource (current gas price on Mezo), and distinguishes from eth_gas_price/btc_get_fee_estimate siblings by explicitly naming 'Mezo' domain.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to use ('Use to estimate transaction costs') providing clear context, though lacks explicit 'when-not-to-use' or alternative comparisons.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mezo_get_balanceARead-onlyInspect
Get native token balance for an address on Mezo. Returns balance in wei (hex and decimal) and in ether.
| Name | Required | Description | Default |
|---|---|---|---|
| address | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds valuable return format details (wei hex/decimal and ether) not present in annotations or schema, complementing the readOnlyHint well.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two concise sentences with clear front-loading; every word earns its place without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple single-parameter tool with no output schema, the description adequately explains the return value format, covering the essential context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 0% description coverage for the address parameter, and the description fails to compensate by explaining what the address represents or its expected format.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Explicitly states the action (Get), resource (native token balance), and network (Mezo), clearly distinguishing it from sibling tools like eth_get_balance and mezo_get_token_balance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies usage for Mezo native tokens through naming and description, but lacks explicit guidance on when to choose this over btc_get_balance or eth_get_balance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mezo_get_blockARead-onlyInspect
Get block data by number or tag on Mezo. Use hex block number (e.g. "0x1") or "latest". Returns full block object with transaction hashes.
| Name | Required | Description | Default |
|---|---|---|---|
| block | Yes | Block number as hex (e.g. "0x1") or tag ("latest", "earliest", "pending") |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds valuable return value disclosure ('full block object with transaction hashes') beyond the readOnly annotation, clarifying data scope.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tightly structured sentences with purpose front-loaded; minor redundancy with schema descriptions.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Adequately compensates for missing output schema by describing return structure; sufficient for single-parameter read operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Input schema has 100% description coverage; description repeats parameter details without adding new semantic depth.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States specific action (Get block data), target resource, and clearly distinguishes from eth_get_block/btc_get_block siblings by specifying 'on Mezo'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides clear input format guidance (hex vs tags) but lacks explicit comparison to sibling chain alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mezo_get_codeARead-onlyInspect
Get bytecode at an address on Mezo. Returns "0x" for EOAs (wallets), non-empty hex for contracts. Use to determine if an address is a contract or EOA, and to retrieve deployed bytecode.
| Name | Required | Description | Default |
|---|---|---|---|
| block | No | Block to query (default: "latest") | |
| address | Yes |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds critical behavioral detail about return values ('0x' for EOAs vs non-empty hex for contracts) not present in annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three well-structured sentences: action, return value explanation, and usage guidance. No fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Explains return behavior adequately compensating for missing output schema; would be perfect with parameter descriptions.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
No parameter guidance in description; schema has 50% coverage with 'address' parameter completely undescribed and 'block' only having basic description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb (get bytecode), resource (address on Mezo), and distinguishes from eth_get_code sibling by specifying 'Mezo' network.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states use case (determine contract vs EOA, retrieve bytecode) but lacks explicit 'when not to use' or alternative suggestions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mezo_get_logsARead-onlyInspect
Get event logs matching a filter on Mezo. Requires at least fromBlock and toBlock. Optionally filter by contract address and topics.
| Name | Required | Description | Default |
|---|---|---|---|
| topics | No | Array of topic filters. Each element is a topic hash, null for wildcard, or an array of topic hashes for OR matching. | |
| address | No | Contract address to filter logs | |
| toBlock | Yes | Block number as hex (e.g. "0x1") or tag ("latest", "earliest", "pending") | |
| fromBlock | Yes | Block number as hex (e.g. "0x1") or tag ("latest", "earliest", "pending") |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds validation constraints (requires specific parameters) beyond the readOnly/openWorld annotations, but omits rate limits, auth requirements, or return value details.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Extremely concise and front-loaded; every sentence delivers essential information about purpose, requirements, and options without fluff.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Adequate for invocation but lacks return value description needed due to missing output schema; could clarify what 'event logs' contain.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema description coverage, the description appropriately rests at baseline, mentioning parameters without adding redundant semantic detail.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it retrieves event logs on Mezo, distinguishing it from the sibling eth_get_logs tool, though it assumes familiarity with what Mezo is.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states required parameters (fromBlock/toBlock) and optional filters, but lacks guidance on when to use this versus eth_get_logs or transaction retrieval tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mezo_get_token_balanceARead-onlyInspect
Get ERC-20 token balance for a wallet address on Mezo. Returns raw balance, formatted balance with decimals, and token symbol. Calls balanceOf, decimals, and symbol on the token contract.
| Name | Required | Description | Default |
|---|---|---|---|
| token | Yes | ERC-20 token contract address | |
| wallet | Yes | Wallet address to check balance for |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds valuable context beyond annotations by detailing exact return fields (raw, formatted, symbol) and implementation mechanism (calls balanceOf, decimals, symbol).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences covering purpose, returns, and implementation—no fluff, well front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Complete for low complexity; crucially describes return structure since no output schema exists, and aligns with readOnly/openWorld annotations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with adequate descriptions; tool description reinforces semantics ('ERC-20 token', 'wallet address') but doesn't add new param guidance.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Explicitly states 'Get ERC-20 token balance' on 'Mezo', clearly distinguishing from sibling tools like eth_get_token_balance (different chain) and mezo_get_balance (native token).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No explicit when/when-not guidance, but implied usage is clear from naming convention (token_balance vs balance) and chain specification.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mezo_get_token_infoARead-onlyInspect
Get ERC-20 token metadata for a token address on Mezo. Returns name, symbol, decimals, and total supply (raw and formatted). Degrades gracefully — any individual call failure returns null for that field.
| Name | Required | Description | Default |
|---|---|---|---|
| token | Yes | ERC-20 token contract address |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Excellently discloses graceful degradation behavior ('any individual call failure returns null for that field') beyond what readOnlyHint annotations provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tightly constructed sentences: purpose, return values, error behavior—no wasted words and front-loaded with action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Compensates for missing output schema by enumerating return fields (name, symbol, decimals, total supply) and covers behavioral edge cases for a single-parameter tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 100% description coverage; description references 'token address' aligning with the parameter but adds no semantic depth beyond the schema definition.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb-resource pair ('Get ERC-20 token metadata') and explicitly specifies 'on Mezo' to distinguish from eth_get_token_info, while 'metadata' distinguishes from mezo_get_token_balance.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Clear context via 'Mezo' network and 'metadata' focus implies when to use vs balance tools, though lacks explicit 'when not to use' or alternative naming.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mezo_get_transactionARead-onlyInspect
Get transaction details by hash on Mezo. Returns full transaction object including from, to, value, input data, and status.
| Name | Required | Description | Default |
|---|---|---|---|
| hash | Yes | Transaction hash (32 bytes, hex-encoded with 0x prefix) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds valuable return value details (from, to, value, input data, status) not present in annotations or output schema, with no contradictions.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with purpose and return value; no redundancy or filler content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Adequately compensates for missing output schema by describing return fields; clearly identifies target blockchain to differentiate from 20+ sibling tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
References 'hash' implicitly ('by hash'), but schema has 100% coverage, meeting baseline expectations without adding substantial semantic context beyond structured data.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clear verb ('Get') + resource ('transaction details') + sibling differentiation ('on Mezo' distinguishes from btc_get_transaction and eth_get_transaction variants).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implies usage context via 'on Mezo' but lacks explicit when/when-not guidance versus similar chain-specific transaction tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mezo_get_transaction_receiptARead-onlyInspect
Get transaction receipt by hash on Mezo. Returns status (0x1=success, 0x0=fail), gasUsed, contractAddress (for contract deployments), and event logs.
| Name | Required | Description | Default |
|---|---|---|---|
| hash | Yes | Transaction hash (32 bytes, hex-encoded with 0x prefix) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds valuable behavioral context beyond annotations by explaining return value semantics (0x1=success, 0x0=fail, contractAddress for deployments) and what data the receipt contains, which is critical given no output schema exists.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two well-structured sentences: front-loaded purpose followed by return value details; no redundancy or fluff; every clause earns its place by conveying essential information about the tool's function and output.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Fully compensates for missing output schema by explicitly documenting return fields (status, gasUsed, contractAddress, logs); complete for the tool's low complexity (single parameter) and appropriate given the annotations provided.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema has 100% description coverage; description mentions 'by hash' aligning with schema but adds no additional parameter semantics beyond the structured definition, meeting the baseline for high-coverage schemas.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clear specific purpose ('Get transaction receipt') and chain context ('on Mezo'), with implicit differentiation from mezo_get_transaction via receipt-specific return values listed, though explicit sibling contrast is absent.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied through description of return values (status, logs) suggesting use when execution results are needed, but lacks explicit when-to-use/when-not-to-use guidance versus alternatives like mezo_get_transaction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Claim this connector by publishing a /.well-known/glama.json file on your server's domain with the following structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"maintainers": [{ "email": "your-email@example.com" }]
}The email address must match the email associated with your Glama account. Once published, Glama will automatically detect and verify the file within a few minutes.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!