Skip to main content
Glama
tehironclad

Dysnomia Ecosystem Navigator — MCP Server

by tehironclad

debug_call

Simulate contract calls without sending a transaction to catch revert reasons, out-of-gas, and division-by-zero errors before spending gas.

Instructions

Simulate a contract call (eth_call) without sending a transaction. Surfaces revert reasons, out-of-gas, division-by-zero, and other errors BEFORE you spend gas. Great for debugging Beat() and other state-changing functions.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
argsNoFunction arguments as strings (will be auto-encoded)
valueNoETH/PLS value to send (in wei)
contractYesContract name or address
from_addressNoSimulate as if calling from this address
function_sigYesFunction signature, e.g. 'Beat()' or 'transfer(address,uint256)'

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.2/5.0
Behavior4/5

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

With no annotations provided, the description carries the full burden of behavioral disclosure. It clearly states that the tool simulates without sending a transaction, surfaces revert reasons, out-of-gas, division-by-zero, and other errors, and emphasizes that this happens before gas is spent. This provides good insight into the tool's non-mutating, diagnostic nature, though it does not describe the exact return format or all possible error behaviors.

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 concise, with two sentences that lead with the core action and value proposition, then follow with a specific use case. Every word adds value, and the structure is front-loaded for quick agent comprehension.

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 5 parameters and no output schema, the description covers the essential information: what it does, when to use it, and the kind of errors it surfaces. It lacks a mention of the return value or how to interpret successful vs. failed simulations, but given the sibling tools and the straightforward nature of eth_call simulation, this is a minor gap. The description is sufficient for an agent to invoke the tool correctly.

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

Parameters3/5

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

The input schema provides descriptions for all 5 parameters with 100% coverage, so the baseline is 3. The tool description does not add extra meaning to the parameters beyond what the schema already explains; it only gives an example usage (Beat()) without detailing parameter syntax or nuances.

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

Purpose5/5

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

The description clearly states the tool's function: simulating a contract call (eth_call) without sending a transaction. It specifies the resource (contract call) and the purpose (surfacing errors before gas is spent), and it distinguishes itself from sibling tools (which handle mapping, ecosystem listing, state retrieval, tracing, querying, and event search) by focusing on debugging and simulation.

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

Usage Guidelines4/5

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

The description provides clear usage context: it is meant for debugging state-changing functions like Beat() and for checking for errors before spending gas. However, it does not explicitly mention when not to use it or name alternative tools, though the context implies it is for pre-transaction validation.

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