Boar blockchain MCP (advanced)
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.3/5 across 13 of 13 tools scored.
Every tool has a clearly distinct purpose with no ambiguity. The tools are organized into two parallel sets (Ethereum and Mezo) with identical functions, each targeting specific operations like contract calls, data decoding, and batching. Descriptions explicitly differentiate between read-only calls, pure computations, and revert handling, ensuring agents can easily select the correct tool.
Tool names follow a highly consistent verb_noun pattern with a clear prefix (eth_ or mezo_) for network distinction. All tools use snake_case uniformly, and verbs like 'call', 'decode', and 'encode' are applied predictably across both sets, making the naming scheme intuitive and easy to parse.
The 13 tools are well-scoped for an advanced blockchain MCP, covering essential operations for two EVM-compatible networks. Each tool earns its place by providing distinct functionality, such as contract interactions and ABI decoding, without redundancy. The count is appropriate for the domain, enabling comprehensive coverage without being overwhelming.
The tool surface is complete for its stated purpose of advanced blockchain interactions, offering full CRUD-like coverage for read-only operations and data decoding. It includes contract calls, multicall batching, and comprehensive decoding for calldata, logs, returns, and reverts on both Ethereum and Mezo, with no obvious gaps that would hinder agent workflows.
Available Tools
13 toolseth_callARead-onlyInspect
Execute a read-only smart contract call on Ethereum mainnet. Returns the hex-encoded return data. Use this to read contract state without sending a transaction.
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | Contract address | |
| data | Yes | ABI-encoded function call data | |
| from | No | Sender address (optional, for context) | |
| block | No | Block to query (default: latest) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds return format ('hex-encoded return data') beyond annotations and reinforces read-only nature without contradicting 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?
Three sentences, front-loaded with action, each earning its place—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?
Sufficient for standard Ethereum RPC; compensates for missing output schema by describing return format, though could note gas-free nature explicitly.
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-specific semantics but baseline 3 is appropriate 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 ('Execute') + resource ('read-only smart contract call on Ethereum mainnet') clearly distinguishes from mezo_call siblings and decoding 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?
Explicitly states when to use ('read contract state without sending a transaction') but omits guidance on when to prefer eth_multicall for batch operations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eth_decode_calldataARead-onlyInspect
Decode raw calldata into function name and typed arguments using a provided ABI on Ethereum mainnet. Pure computation — no RPC call needed. Pass the hex calldata from a transaction input or eth_call.
| Name | Required | Description | Default |
|---|---|---|---|
| abi | Yes | Contract ABI as a JSON array of ABI items, or a JSON-encoded string of that array | |
| calldata | Yes | Raw calldata (0x-prefixed hex) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds valuable behavioral context beyond annotations by stating 'Pure computation — no RPC call needed', clarifying it runs locally without blockchain interaction; no contradictions 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?
Extremely concise two-sentence structure front-loaded with purpose; every clause delivers value (action, mechanism, input source, behavioral trait) 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?
Adequately complete for a pure computation tool with simple inputs; mentions output format ('function name and typed arguments') compensating for missing output schema, though could explicitly confirm return 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 has 100% description coverage with clear param definitions; description references 'provided ABI' and 'hex calldata' but adds no semantic information beyond what schema already provides, meeting baseline expectation.
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 (decode into function name and typed arguments), clear resource (calldata using ABI on mainnet), and distinguishes from siblings via 'no RPC' vs eth_call and explicit 'calldata' focus vs decode_log/return/revert 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?
Provides clear context on input sources ('from a transaction input or eth_call') and implies local usage via 'no RPC call needed', though lacks explicit 'when not to use' or alternative recommendations.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eth_decode_logARead-onlyInspect
Decode a raw event log (topics + data) into named fields using a provided ABI on Ethereum mainnet. Pure computation — no RPC call needed. Pass topics and data from a transaction receipt log entry.
| Name | Required | Description | Default |
|---|---|---|---|
| abi | Yes | Contract ABI as a JSON array of ABI items, or a JSON-encoded string of that array | |
| data | Yes | Log data field (0x-prefixed hex, ABI-encoded non-indexed event parameters) | |
| topics | Yes | Log topics array. topics[0] is the event signature hash (keccak256 of the event signature) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds 'Pure computation — no RPC call needed' reinforcing readOnly annotation, and clarifies mainnet scope; 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?
Three sentences, front-loaded with core action; each line adds distinct value (purpose, behavior, input source).
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 input transformation and mentions 'named fields' for output; sufficient given rich input schema and 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?
Exceeds 100% schema coverage baseline by specifying topics/data originate from transaction receipts, adding provenance 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 (decode), resource (raw event log), and mechanism (ABI); explicitly scopes to 'Ethereum mainnet' distinguishing from mezo_decode_log 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?
Specifies input provenance ('from a transaction receipt log entry') and computational nature, though lacks explicit 'when not to use' vs calldata/return decoders.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eth_decode_returnARead-onlyInspect
Decode raw return data from an eth_call into typed values using a provided ABI and function name on Ethereum mainnet. Pure computation — no RPC call needed.
| Name | Required | Description | Default |
|---|---|---|---|
| abi | Yes | Contract ABI as a JSON array of ABI items, or a JSON-encoded string of that array | |
| data | Yes | Raw return data (0x-prefixed hex) | |
| function_name | Yes | Name of the function whose output types to decode against |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds valuable 'Pure computation — no RPC call needed' beyond readOnlyHint annotation, clarifying local execution nature.
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; front-loaded action statement with critical behavioral note; 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?
Lacks output schema but describes return concept ('typed values'); sufficient for simple utility given complete input documentation.
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 reinforces ABI/function_name usage but adds no new param constraints or semantics 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 (Decode) + resource (raw return data from eth_call) + network scope (Ethereum mainnet) clearly distinguishes from mezo_* siblings and other eth_decode_* 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 workflow ('from an eth_call') and distinguishes network context, but lacks explicit when-not-to-use guidance or alternative mentions (e.g., mezo_decode_return).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eth_decode_revertARead-onlyInspect
Decode raw EVM revert data from a failed transaction or eth_call on Ethereum mainnet. Handles Error(string) reverts, Panic(uint256) assertions, custom Solidity errors (requires ABI), and silent reverts. Pure computation — no RPC call needed. Pass the hex revert data from a transaction receipt or eth_call error response.
| Name | Required | Description | Default |
|---|---|---|---|
| abi | No | Contract ABI for decoding custom errors. Pass as a JSON array of error definitions (or as a JSON-encoded string of that array). Only needed for custom errors beyond the built-in Error(string) and Panic(uint256). | |
| revert_data | Yes | Raw revert data as hex (0x-prefixed). Use "0x" or empty string for a silent revert. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds valuable 'Pure computation — no RPC call needed' beyond readOnlyHint annotation, and explains behavior across different revert types (Error, Panic, silent).
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?
Four tightly written sentences: purpose, capabilities, behavioral note, and usage instruction—no redundancy, 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?
Comprehensive given no output schema exists; describes decode targets (Error string, Panic code) implicitly covering return values, though explicit output format mention would strengthen it further.
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% but description reinforces ABI necessity for custom errors and clarifies revert_data source (hex from receipt/error response), adding practical 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 (Decode) + resource (EVM revert data), explicitly scopes to Ethereum mainnet distinguishing from mezo_decode_revert sibling, and clarifies handling of Error/Panic/custom/silent revert types.
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 (failed transactions or eth_call), mentions ABI requirement for custom errors, and identifies data sources (transaction receipt/eth_call error), but lacks explicit contrast with non-revert decoding siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eth_encode_calldataARead-onlyInspect
Encode a function call into ABI-encoded calldata hex. Accepts either a human-readable function signature (e.g. 'transfer(address to, uint256 amount)') or a full ABI JSON array plus function name. Pass uint/int values as decimal strings to avoid JS number precision loss. Pure computation — no RPC call needed.
| Name | Required | Description | Default |
|---|---|---|---|
| abi | No | Full ABI as a JSON array (or JSON-encoded string). Use with function_name. | |
| args | No | Arguments array. Pass uint/int values as decimal or hex strings for precision. | |
| signature | No | Human-readable function signature, e.g. 'transfer(address to, uint256 amount)'. Use instead of abi+function_name. | |
| function_name | No | Function name — required when using abi instead of signature |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds critical context beyond annotations: clarifies 'no RPC call' distinction from readOnlyHint and warns about JS number precision loss for uint/int values.
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?
Four tight sentences: purpose, input options with example, precision warning, and behavioral note—every sentence earns its place with 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?
Well-covered given input schema richness; explains output type ('calldata hex') despite no output schema, though could explicitly state return format.
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 3), adds crucial semantic relationships: mutual exclusivity of signature vs abi+function_name and decimal string requirement for numeric args.
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 ('Encode a function call into ABI-encoded calldata hex') and distinguishes from RPC-calling siblings via 'Pure computation — no RPC call needed'.
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 dual input modes (signature vs abi+function_name) and precision requirements, but lacks explicit 'when to use vs eth_call' guidance despite implying it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
eth_multicallARead-onlyInspect
Batch multiple read-only contract calls into a single RPC round trip via Multicall3 on Ethereum mainnet (0xcA11bde05977b3631167028862bE2a173976CA11). Returns success status and raw return data for each call. Use allowFailure=true to prevent one failed call from aborting the whole batch.
| Name | Required | Description | Default |
|---|---|---|---|
| calls | Yes | Array of calls to batch (at least 1) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds crucial context beyond annotations: specific Multicall3 contract address, that it returns success status and raw data per call, and failure isolation 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?
Three dense sentences with no fluff: network/contract identification, return value disclosure, and usage guidance—every element 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?
Despite lacking output schema, description explicitly documents return format (success status + raw data) and covers network-specific deployment details.
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 3; description adds value by explaining the functional impact of allowFailure (preventing batch abort).
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?
Specifically states batching read-only calls via Multicall3 on Ethereum mainnet with contract address, clearly distinguishing from eth_call (single) and mezo_multicall (different 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?
Provides explicit guidance on allowFailure parameter behavior, though could more explicitly state when to choose this over eth_call (batching vs single call).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mezo_callARead-onlyInspect
Execute a read-only smart contract call on Mezo. Returns the hex-encoded return data. Use this to read contract state without sending a transaction.
| Name | Required | Description | Default |
|---|---|---|---|
| to | Yes | Contract address | |
| data | Yes | ABI-encoded function call data | |
| from | No | Sender address (optional, for context) | |
| block | No | Block to query (default: latest) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds return value format ('hex-encoded return data') beyond annotations; reinforces readOnlyHint with 'without sending a transaction'; 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?
Three sentences, all high-value: action definition, return format, and usage context; front-loaded with specific action; no verbosity.
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 values (compensating for missing output schema) and Mezo-specific context; minor gap in explicitly differentiating from eth_call sibling despite implicit distinction via naming.
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 establishing baseline; description adds no parameter-specific semantics but doesn't need to given complete 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 verb ('Execute') + resource ('read-only smart contract call on Mezo') clearly distinguishes from eth_call sibling by naming the chain and from write operations by emphasizing 'read-only'.
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 ('read contract state without sending a transaction') but lacks explicit comparison to sibling eth_call for chain selection guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mezo_decode_calldataARead-onlyInspect
Decode raw calldata into function name and typed arguments using a provided ABI on Mezo. Pure computation — no RPC call needed. Pass the hex calldata from a transaction input or eth_call.
| Name | Required | Description | Default |
|---|---|---|---|
| abi | Yes | Contract ABI as a JSON array of ABI items, or a JSON-encoded string of that array | |
| calldata | Yes | Raw calldata (0x-prefixed hex) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds critical behavioral detail beyond annotations: explicitly states 'no RPC call needed' and 'Pure computation', clarifying that unlike mezo_call or eth_call, this operates entirely locally without blockchain interaction despite being Mezo-specific.
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 two-sentence structure where every clause earns its place: first sentence defines the core function, second sentence delivers crucial behavioral constraints and usage context 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 the simple 2-parameter schema with no output schema or nested complexity, the description fully covers necessary context: what it does, key behavioral trait (pure computation), and input provenance (transaction input or eth_call).
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 already defining 'calldata' and 'abi' precisely, the description adds minimal semantic value for parameters (just referencing 'hex calldata'), meeting the baseline for well-documented 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 it decodes calldata into function name and typed arguments using a provided ABI, specifically distinguishing it for 'Mezo' (differentiating from eth_decode_calldata) and noting it requires no RPC call (differentiating from mezo_call).
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 on when to use it ('Pure computation', 'Pass the hex calldata from a transaction input or eth_call') but lacks explicit 'when not to use' guidance vs sibling alternatives like eth_decode_calldata.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mezo_decode_logARead-onlyInspect
Decode a raw event log (topics + data) into named fields using a provided ABI on Mezo. Pure computation — no RPC call needed. Pass topics and data from a transaction receipt log entry.
| Name | Required | Description | Default |
|---|---|---|---|
| abi | Yes | Contract ABI as a JSON array of ABI items, or a JSON-encoded string of that array | |
| data | Yes | Log data field (0x-prefixed hex, ABI-encoded non-indexed event parameters) | |
| topics | Yes | Log topics array. topics[0] is the event signature hash (keccak256 of the event signature) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds 'pure computation — no RPC call needed' beyond readOnly annotation, clarifying local execution behavior without contradicting 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 tight sentences: purpose declaration, behavioral constraint, and input source—no redundancy, 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?
Explains transformation output (named fields) despite missing output schema, covers Mezo-specific context adequately for tool selection
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 (baseline 3); description adds minor context about input source (transaction receipt) but no additional parameter semantics
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 (decode) + resource (event log) + network context (Mezo), clearly distinguishes from eth_decode_log 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?
Specifies input source (transaction receipt log entry) and 'no RPC call needed' to differentiate from call methods, but lacks explicit comparison to eth_decode_log
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mezo_decode_returnARead-onlyInspect
Decode raw return data from an eth_call into typed values using a provided ABI and function name on Mezo. Pure computation — no RPC call needed.
| Name | Required | Description | Default |
|---|---|---|---|
| abi | Yes | Contract ABI as a JSON array of ABI items, or a JSON-encoded string of that array | |
| data | Yes | Raw return data (0x-prefixed hex) | |
| function_name | Yes | Name of the function whose output types to decode against |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds valuable operational context beyond the readOnlyHint by explicitly stating 'no RPC call needed,' clarifying this runs locally without network requests.
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 with zero fluff: first defines the operation, second states the computational nature; 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?
Since no output schema exists, mentioning 'into typed values' provides necessary return value context; sufficiently complete given the simple 3-parameter input and clear 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?
With 100% schema description coverage, it meets the baseline; mentions 'ABI and function name' in context but adds no new semantic detail beyond the schema descriptions.
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 decodes raw return data into typed values using ABI/function name on Mezo, distinguishing it from both eth_decode_return (via 'on Mezo') and sibling decoders like mezo_decode_calldata (via 'return data').
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?
The 'Pure computation — no RPC call needed' line effectively distinguishes this from mezo_call and implies usage for existing data, though it lacks explicit 'use when' guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mezo_decode_revertARead-onlyInspect
Decode raw EVM revert data from a failed transaction or mezo_call on Mezo. Handles Error(string) reverts, Panic(uint256) assertions, custom Solidity errors (requires ABI), and silent reverts. Pure computation — no RPC call needed. Pass the hex revert data from a transaction receipt or eth_call error response.
| Name | Required | Description | Default |
|---|---|---|---|
| abi | No | Contract ABI for decoding custom errors. Pass as a JSON array of error definitions (or as a JSON-encoded string of that array). Only needed for custom errors beyond the built-in Error(string) and Panic(uint256). | |
| revert_data | Yes | Raw revert data as hex (0x-prefixed). Use "0x" or empty string for a silent revert. |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds valuable traits beyond annotations: specifies 'Pure computation — no RPC call needed' (aligns with readOnlyHint), and enumerates handled revert types (Error, Panic, custom, silent).
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?
Front-loaded with core action; four dense sentences cover purpose, capabilities, behavioral traits, and usage instructions 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?
Comprehensive coverage of decode capabilities and input sources; lacks output format description but no output schema exists to require it.
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, adds crucial semantic context about where to source revert_data ('transaction receipt or eth_call error response') and confirms ABI requirement for custom errors.
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 ('Decode raw EVM revert data'), explicitly scopes to Mezo operations, and distinguishes from eth_decode_revert sibling by mentioning 'mezo_call' and '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?
Clearly indicates usage context (failed transactions/mezo_call) and data sources (transaction receipts/eth_call errors), but lacks explicit comparison to eth_decode_revert alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
mezo_multicallARead-onlyInspect
Batch multiple read-only contract calls into a single RPC round trip via Multicall3 on Mezo (0xcA11bde05977b3631167028862bE2a173976CA11). Returns success status and raw return data for each call. Use allowFailure=true to prevent one failed call from aborting the whole batch.
| Name | Required | Description | Default |
|---|---|---|---|
| calls | Yes | Array of calls to batch (at least 1) |
Tool Definition Quality
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds valuable context beyond annotations: discloses raw return data format, specific Multicall3 contract address, and batch failure mechanics (allowFailure 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?
Extremely concise two-sentence structure with no filler; front-loaded with purpose and immediately followed by critical usage guidance.
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 values (success status and raw data); covers essential behavioral aspects of batching.
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% so baseline applies; description adds minimal new semantics for inputs but clarifies allowFailure's impact on batch execution.
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 (batch read-only calls), identifies the chain (Mezo) and contract (Multicall3 at 0xcA11...), distinguishing it from eth_multicall and single-call 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?
Provides concrete guidance on allowFailure parameter usage, but lacks explicit comparison with sibling tools (e.g., when to use vs mezo_call or eth_multicall).
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!