๐ด Gulltoppr
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.
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 7 of 7 tools scored. Lowest: 3.2/5.
Each tool has a clear and distinct purpose: decode, encode, prepare write, read, resolve ABI, resolve ENS, simulate. No overlapping functionality.
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.
7 tools is appropriate for the domain of blockchain interactions. It covers all essential operations without being excessive or sparse.
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 toolsdecode_txExplain a transactionBRead-onlyInspect
Decode what a transaction did: decoded calldata (and trace when available), via heimdall.
| Name | Required | Description | Default |
|---|---|---|---|
| chain | Yes | Chain alias ("ethereum", "base", "optimism", "arbitrum", "polygon", "local") or numeric chain id. | |
| rpc_url | No | Override RPC URL. Required for chains with no default (e.g. local/31337). | |
| tx_hash | Yes | 0xโฆ transaction hash. |
Tool Definition Quality
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.
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.
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.
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.
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.
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 callARead-onlyInspect
Encode a function call to calldata (0xโฆ) without sending anything.
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | Function arguments, in order. Pass uint values as decimal strings. | |
| chain | Yes | Chain alias ("ethereum", "base", "optimism", "arbitrum", "polygon", "local") or numeric chain id. | |
| value | No | Native value in wei (decimal string), for payable functions. | |
| address | Yes | 0x contract address. | |
| rpc_url | No | Override RPC URL. Required for chains with no default (e.g. local/31337). | |
| function | Yes | Function name, or full signature like "transfer(address,uint256)" if overloaded. |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | Function arguments, in order. Pass uint values as decimal strings. | |
| from | Yes | The sender address (the user's wallet). No key is needed โ nothing is signed. | |
| chain | Yes | Chain alias ("ethereum", "base", "optimism", "arbitrum", "polygon", "local") or numeric chain id. | |
| value | No | Native value in wei (decimal string), for payable functions. | |
| address | Yes | 0x contract address. | |
| rpc_url | No | Override RPC URL. Required for chains with no default (e.g. local/31337). | |
| function | Yes | Function name, or full signature like "transfer(address,uint256)" if overloaded. |
Tool Definition Quality
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.
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.
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.
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.
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.
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)ARead-onlyInspect
Call a view/pure function and get the decoded result. No wallet, no cost. Rejects state-mutating functions.
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | Function arguments, in order. Pass uint values as decimal strings. | |
| chain | Yes | Chain alias ("ethereum", "base", "optimism", "arbitrum", "polygon", "local") or numeric chain id. | |
| address | Yes | 0x contract address. | |
| rpc_url | No | Override RPC URL. Required for chains with no default (e.g. local/31337). | |
| function | Yes | Function name, or full signature like "transfer(address,uint256)" if overloaded. |
Tool Definition Quality
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.
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.
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.
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.
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.
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 ABIARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| chain | Yes | Chain alias ("ethereum", "base", "optimism", "arbitrum", "polygon", "local") or numeric chain id. | |
| address | Yes | 0x contract address. | |
| rpc_url | No | Override RPC URL. Required for chains with no default (e.g. local/31337). |
Tool Definition Quality
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.
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.
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.
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.
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.
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 โ addressARead-onlyInspect
Resolve an ENS name to an address, or an address to its primary ENS name.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | An ENS name (vitalik.eth) or a 0x address. | |
| chain | No | Chain alias ("ethereum", "base", "optimism", "arbitrum", "polygon", "local") or numeric chain id. |
Tool Definition Quality
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.
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.
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.
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.
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.
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 transactionARead-onlyInspect
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).
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | Raw form: target address. | |
| args | No | Function arguments, in order. Pass uint values as decimal strings. | |
| data | No | Raw form: calldata (0xโฆ). | |
| from | Yes | The sender address (the user's wallet). No key is needed โ nothing is signed. | |
| chain | Yes | Chain alias ("ethereum", "base", "optimism", "arbitrum", "polygon", "local") or numeric chain id. | |
| value | No | Native value in wei (decimal string), for payable functions. | |
| address | No | 0x contract address. | |
| rpc_url | No | Override RPC URL. Required for chains with no default (e.g. local/31337). | |
| function | No | Function name, or full signature like "transfer(address,uint256)" if overloaded. |
Tool Definition Quality
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.
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.
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.
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.
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.
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.
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!