Skip to main content
Glama
drvcvt
by drvcvt

rzil_run

Runs emulation until a target address is reached or a step limit is exceeded, using an existing session to preserve state.

Instructions

Run RzIL emulation until a target address is reached or maximum steps are exceeded. Uses aezsu for address targets. Requires a persistent session from rzil_init.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
max_stepsNoMaximum number of steps before stopping (default 1000)
session_idYesRzIL session ID returned by rzil_init
until_addressNoStop emulation when PC equals this address (hex). Uses aezsu internally.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.0.0

TDQS

B3.4/5.0
Behavior3/5

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

With no annotations, the description carries the full burden. It does disclose termination behavior (stop at address or max steps) and the internal use of aezsu, which is genuinely useful context. But it does not state what happens on timeout (error vs. graceful stop), whether the session state is mutated, or what the call returns.

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?

Three short sentences front-load the core purpose, with the prerequisite placed last. The 'Uses aezsu for address targets' sentence is somewhat redundant with the schema's until_address description, but it is brief and does not bloat the overall definition.

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?

Adequate for select-and-invoke: purpose, prerequisite, and termination conditions are present, and the schema fully covers the parameters. However, with no output schema and no annotations, the missing return-value and timeout/error semantics leave a real gap for an agent deciding what to do after the call completes.

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%, so the schema already documents all three parameters with descriptions, defaults, and constraints. The description adds no new parameter semantics — 'uses aezsu' and 'max steps' largely repeat what the schema's until_address and max_steps entries already say — so the high-coverage baseline of 3 applies.

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?

States a specific action ('Run RzIL emulation') with explicit stopping conditions ('until a target address is reached or maximum steps are exceeded'), which behaviorally separates it from the single-step sibling rzil_step. It is clear, though it does not name an alternative sibling the way the strongest definitions do.

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?

Gives a clear prerequisite ('Requires a persistent session from rzil_init'), which guides the correct call sequence. However, it offers no when-not-to-use guidance or explicit routing against alternatives such as rzil_step, esil_run, or trace_execution, so the intended use case is only implied by the run-until semantics.

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