Skip to main content
Glama

Server Details

Resolve any EVM contract ABI (even unverified, via decompilation), read, simulate, prepare txs.

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.

MCP client
Glama
MCP server

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.

100% free. Your data is private.
Tool DescriptionsA

Average 4.1/5 across 7 of 7 tools scored. Lowest: 3.2/5.

Server CoherenceA
Disambiguation5/5

Each tool has a clear and distinct purpose: decode, encode, prepare write, read, resolve ABI, resolve ENS, simulate. No overlapping functionality.

Naming Consistency5/5

All tool names follow a consistent verb_noun snake_case pattern (e.g., decode_tx, encode_call). Even 'simulate' fits as a single verb with a clear meaning.

Tool Count5/5

7 tools is appropriate for the domain of blockchain interactions. It covers all essential operations without being excessive or sparse.

Completeness4/5

The toolset covers the core lifecycle: encoding, decoding, reading, preparing writes, resolving metadata, and simulating. Minor gaps like event querying or transaction status after broadcast are absent but acceptable given the external signing flow.

Available Tools

7 tools
decode_txExplain a transactionB
Read-only
Inspect

Decode what a transaction did: decoded calldata (and trace when available), via heimdall.

ParametersJSON Schema
NameRequiredDescriptionDefault
chainYesChain alias ("ethereum", "base", "optimism", "arbitrum", "polygon", "local") or numeric chain id.
rpc_urlNoOverride RPC URL. Required for chains with no default (e.g. local/31337).
tx_hashYes0xโ€ฆ transaction hash.
Behavior3/5

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

Annotations already mark this as read-only and open-world, so the description adds minimal behavioral context. It mentions 'via heimdall' but doesn't explain implications (e.g., external dependency, rate limits). No contradictions with annotations.

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

Conciseness4/5

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

The description is a single sentence conveying the core action efficiently. It is front-loaded with the main purpose. However, it could be slightly more structured without becoming verbose.

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

Completeness3/5

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

With no output schema, the description fails to explain the return format or structure of decoded data. It covers the basic function but leaves the agent uncertain about what to expect from the output.

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

Parameters3/5

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

Schema coverage is 100%, with each parameter described. The description does not add meaning beyond the schema, so baseline score of 3 applies. No extra parameter context is provided.

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

Purpose4/5

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

The description clearly states the tool decodes transaction calldata and trace, making the purpose specific. However, it does not explicitly differentiate from siblings like 'simulate' or 'read_contract', which also analyze transactions.

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

Usage Guidelines2/5

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

No guidance on when to use this tool versus alternatives (e.g., 'simulate' or 'read_contract'). No when-not-to-use or prerequisites are mentioned, leaving the agent to infer usage context.

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

encode_callEncode a function callA
Read-only
Inspect

Encode a function call to calldata (0xโ€ฆ) without sending anything.

ParametersJSON Schema
NameRequiredDescriptionDefault
argsNoFunction arguments, in order. Pass uint values as decimal strings.
chainYesChain alias ("ethereum", "base", "optimism", "arbitrum", "polygon", "local") or numeric chain id.
valueNoNative value in wei (decimal string), for payable functions.
addressYes0x contract address.
rpc_urlNoOverride RPC URL. Required for chains with no default (e.g. local/31337).
functionYesFunction name, or full signature like "transfer(address,uint256)" if overloaded.
Behavior4/5

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

Annotations already declare readOnlyHint=true, indicating no side effects. The description adds that it 'does not send anything,' reinforcing the read-only nature and providing additional behavioral context.

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

Conciseness5/5

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

The description is a single, efficient sentence with no wasted words. It is front-loaded with the key action and clarifies the result (0xโ€ฆ).

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

Completeness4/5

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

For a tool with 6 parameters and no output schema, the description is adequate. It implies the output is a hex string (0xโ€ฆ). The schema descriptions cover the parameters, but the tool could benefit from a brief note on how arguments are encoded.

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

Parameters3/5

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

Schema coverage is 100% with each parameter already described. The description does not add any extra meaning beyond what the schema provides, meeting the baseline expectation.

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

Purpose5/5

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

The description clearly states the tool encodes a function call to calldata without sending, distinguishing it from siblings like 'prepare_tx' (which may send) and 'simulate' (which simulates). The verb 'encode' and resource 'function call' are specific and clear.

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

Usage Guidelines4/5

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

The description implies usage for obtaining calldata without sending, but does not explicitly state when not to use or mention alternatives. However, the context is clear enough for an agent to infer the tool's role.

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

prepare_txPrepare an unsigned transaction (hand-off)AInspect

Prepare a contract WRITE for the user to sign. Returns an UNSIGNED transaction, its simulation, a human-readable summary, an abi.ninja signing deeplink, and warnings. IMPORTANT: this tool NEVER signs or broadcasts. Present the summary + simulation + warnings to the user and hand them the deeplink โ€” they sign in their own wallet. If warnings is non-empty (decompiled ABI, proxy, or a reverting simulation), surface it.

ParametersJSON Schema
NameRequiredDescriptionDefault
argsNoFunction arguments, in order. Pass uint values as decimal strings.
fromYesThe sender address (the user's wallet). No key is needed โ€” nothing is signed.
chainYesChain alias ("ethereum", "base", "optimism", "arbitrum", "polygon", "local") or numeric chain id.
valueNoNative value in wei (decimal string), for payable functions.
addressYes0x contract address.
rpc_urlNoOverride RPC URL. Required for chains with no default (e.g. local/31337).
functionYesFunction name, or full signature like "transfer(address,uint256)" if overloaded.
Behavior5/5

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

Annotations already provide readOnlyHint=false, openWorldHint=true, destructiveHint=false. The description adds valuable behavioral details: it returns an unsigned transaction, simulation, summary, deeplink, and warnings, and warns about non-empty warnings indicating decompiled ABI, proxy, or reverting simulation. There is no contradiction.

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

Conciseness4/5

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

The description is two sentences plus a note, conveying all necessary information without fluff. It is front-loaded with the core purpose. However, the important usage note is placed at the end, which could be considered slightly less structured.

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

Completeness5/5

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

Given no output schema, the description fully explains the return values: unsigned transaction, simulation, summary, deeplink, and warnings. It also covers the significance of warnings. All 7 parameters are adequately described.

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

Parameters4/5

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

Schema coverage is 100%, so the baseline is 3. The description adds extra meaning: for 'args' it says 'Pass uint values as decimal strings', for 'from' it clarifies 'No key is needed โ€” nothing is signed', and for 'rpc_url' it notes 'Required for chains with no default'. This adds value beyond schema.

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

Purpose5/5

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

The description clearly states 'Prepare a contract WRITE for the user to sign' and specifies the output as an unsigned transaction with deeplink. The title 'Prepare an unsigned transaction (hand-off)' reinforces the purpose. It distinguishes from sibling tools like 'simulate' and 'encode_call' by emphasizing that it never signs or broadcasts.

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

Usage Guidelines4/5

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

The description explicitly says 'NEVER signs or broadcasts' and instructs to present the summary to the user and hand them the deeplink. It implies usage for user signature workflows but does not explicitly contrast with alternatives like 'simulate' for read-only scenarios, which is a minor gap.

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

read_contractRead a contract (view/pure)A
Read-only
Inspect

Call a view/pure function and get the decoded result. No wallet, no cost. Rejects state-mutating functions.

ParametersJSON Schema
NameRequiredDescriptionDefault
argsNoFunction arguments, in order. Pass uint values as decimal strings.
chainYesChain alias ("ethereum", "base", "optimism", "arbitrum", "polygon", "local") or numeric chain id.
addressYes0x contract address.
rpc_urlNoOverride RPC URL. Required for chains with no default (e.g. local/31337).
functionYesFunction name, or full signature like "transfer(address,uint256)" if overloaded.
Behavior4/5

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

Annotations already indicate readOnlyHint and openWorldHint. The description adds value by noting no cost and explicit rejection of mutating functions, reinforcing safe behavior.

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

Conciseness5/5

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

Two clauses, no wasted words. Front-loaded with key action and constraints.

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

Completeness4/5

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

Covers the main points but omits details about ABI resolution (sibling resolve_abi exists) and handling of overloaded functions, though the schema covers function signature. Slightly incomplete for new users.

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

Parameters3/5

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

Schema description coverage is 100%, so the description adds minimal extra; it only reiterates that uint values should be decimal strings, which is already in the schema.

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

Purpose5/5

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

The description clearly states the tool calls a view/pure function and returns decoded results. It distinguishes from siblings like prepare_tx or simulate by explicitly noting it's read-only, no cost, and rejects state-mutating functions.

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

Usage Guidelines4/5

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

Provides clear context: no wallet, no cost, and rejects mutations. Implies usage for read-only queries, but could explicitly state when to prefer this over simulate or other siblings.

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

resolve_abiResolve contract ABIA
Read-only
Inspect

Resolve a contract's interface from chain + address via a fallback ladder (Etherscan โ†’ Sourcify โ†’ proxy โ†’ heimdall decompile โ†’ 4byte). Returns a capability manifest (read vs write functions, the 'buttons'), proxy chain, token metadata, and PROVENANCE. ALWAYS read provenance: a decompiled ABI has synthetic function names โ€” treat it with care and confirm intent before writing.

ParametersJSON Schema
NameRequiredDescriptionDefault
chainYesChain alias ("ethereum", "base", "optimism", "arbitrum", "polygon", "local") or numeric chain id.
addressYes0x contract address.
rpc_urlNoOverride RPC URL. Required for chains with no default (e.g. local/31337).
Behavior5/5

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

Annotations declare readOnlyHint and openWorldHint. Description adds detailed fallback ladder, return structure (capability manifest, proxy chain, token metadata, provenance), and caution about decompiled ABIs. Goes well beyond annotation signals.

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

Conciseness5/5

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

Three concise sentences: purpose and method, return content, and a critical warning. Front-loaded with core purpose. No extraneous information.

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

Completeness4/5

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

For a read-only lookup tool with no output schema, description adequately explains return types (manifest, proxy chain, metadata, provenance). Could elaborate on manifest structure, but sufficient for agent to understand what to expect.

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

Parameters3/5

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

Input schema covers all 3 parameters with descriptions (100% coverage). Description adds minor context (e.g., 'override RPC URL' for local chains) but does not significantly extend meaning beyond schema. Baseline 3 is appropriate.

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

Purpose5/5

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

Description clearly states the verb 'Resolve' and resource 'contract's interface' (ABI). It specifies the fallback ladder mechanism and return type (capability manifest, etc.), distinguishing it from siblings like decode_tx, read_contract, etc.

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

Usage Guidelines4/5

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

Implicitly clear when to use: whenever contract ABI is needed. Provides a critical warning to check provenance before writing, but does not explicitly contrast with alternatives or state when not to use.

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

resolve_nameResolve ENS โ‡„ addressA
Read-only
Inspect

Resolve an ENS name to an address, or an address to its primary ENS name.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesAn ENS name (vitalik.eth) or a 0x address.
chainNoChain alias ("ethereum", "base", "optimism", "arbitrum", "polygon", "local") or numeric chain id.
Behavior3/5

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

Annotations already declare readOnlyHint=true and openWorldHint=true, so the description does not need to state safety. It adds that resolution works in both directions, which is useful but not critical 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.

Conciseness5/5

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

Single sentence with no waste. Efficient and front-loaded with the core purpose.

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

Completeness3/5

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

No output schema is provided, and the description does not explain the return format or error behavior. For a simple bidirectional resolution tool, the description is adequate but could be more complete.

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

Parameters3/5

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

Schema coverage is 100%, and the description repeats the schema description for the 'name' parameter. No additional semantic value is provided beyond the structured schema.

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

Purpose5/5

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

The description clearly states the tool resolves ENS names to addresses and vice versa. The verb 'resolve' and resources 'ENS name or address' are specific and differentiate it from sibling tools like decode_tx or simulate.

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

Usage Guidelines3/5

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

No explicit guidance on when to use this tool versus alternatives. The description implies it is for ENS resolution, but does not mention when not to use it or suggest alternatives.

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

simulateSimulate a transactionA
Read-only
Inspect

Simulate a call and return success, gas, decoded return, and best-effort state diff / asset changes / logs. Provide a high-level call (address + function + args) or raw (to + data).

ParametersJSON Schema
NameRequiredDescriptionDefault
toNoRaw form: target address.
argsNoFunction arguments, in order. Pass uint values as decimal strings.
dataNoRaw form: calldata (0xโ€ฆ).
fromYesThe sender address (the user's wallet). No key is needed โ€” nothing is signed.
chainYesChain alias ("ethereum", "base", "optimism", "arbitrum", "polygon", "local") or numeric chain id.
valueNoNative value in wei (decimal string), for payable functions.
addressNo0x contract address.
rpc_urlNoOverride RPC URL. Required for chains with no default (e.g. local/31337).
functionNoFunction name, or full signature like "transfer(address,uint256)" if overloaded.
Behavior4/5

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

Annotations (readOnlyHint, openWorldHint) indicate a read operation with potential external interaction. The description adds value by noting that no key is needed and nothing is signed, addressing safety. However, could clarify if repeated simulations are safe or if there are resource limits.

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

Conciseness5/5

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

Two sentences, front-loaded with the core purpose, no unnecessary words. Efficient and to the point.

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

Completeness4/5

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

Covers input modes and return data types. No output schema, but description lists expected returns. Missing details on error handling or limits, but sufficient for typical use.

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

Parameters4/5

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

Schema has 100% coverage, but the description adds semantic grouping (high-level vs raw) and explains the 'from' fieldโ€™s security aspect. This enhances understanding beyond the schema alone.

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

Purpose5/5

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

Clearly states it simulates a call and lists returned data (success, gas, decoded return, state diff, etc.). Distinguishes between high-level and raw input formats, differentiating it from siblings like decode_tx, encode_call, etc.

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

Usage Guidelines4/5

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

Explicitly describes two input modes (high-level vs raw) and mentions the scenarios for each. Does not explicitly state when not to use or compare to siblings, but given the clear function, agents can infer.

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

Discussions

No comments yet. Be the first to start the discussion!

Try in Browser

Your Connectors

Sign in to create a connector for this server.

Resources