Skip to main content
Glama

transactions / simulate

transactions.simulate
Read-onlyIdempotent

Simulates a Rootstock transaction via eth_call against a pinned target, returning execution results without signing or policy approval.

Instructions

Explicit eth_call on a pinned Rootstock target; no signing or policy approval.

Input Schema

NameRequiredDescriptionDefault
chain_idYes
transaction_jsonYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.9.0

TDQS

B3.1/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds one genuine behavioral fact beyond that — that no signing or policy approval is required — which matters in a system with a policy.evaluate sibling. It says nothing about the shape of the result or what 'pinned' target means operationally.

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?

A single front-loaded clause with zero filler, and the differentiating constraint (no signing/approval) is placed where it is read first. It is efficient, though its terseness is part of why parameter and return semantics are missing.

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

Completeness2/5

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

There is no output schema, so the description should explain what an eth_call simulation returns (result data, revert behavior, encoding), and it does not. Combined with 0% parameter coverage and additionalProperties:false leaving no room for extension, an agent cannot reliably construct a correct call from this definition alone.

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

Parameters2/5

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

Schema description coverage is 0%: neither chain_id nor transaction_json carries any documentation. The description does not mention either parameter, so an agent gets no guidance on the transaction_json format or whether chain_id must be Rootstock-specific despite the 'pinned Rootstock target' phrasing. For a low-coverage 2-param tool this is a meaningful gap.

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 states a concrete operation: an explicit eth_call simulation against a pinned Rootstock target. That specific verb+resource pairing distinguishes it from transactions.send and transactions.call_router, which actually submit transactions. It stops short of naming a sibling, but the operation is unambiguous.

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 signing or policy approval' implies this is the path for dry-run/read-only calls where send/prepare would be inappropriate, which is useful implied routing. However, it never explicitly says 'use this when you want to simulate instead of send' or names transactions.prepare/transactions.send as the alternatives, leaving the selection to inference.

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