Skip to main content
Glama

Recover Failed Resource

simulation.recover_resource

Recover one reversible failed resource in a temporary anonymous demo simulation. Lower traffic to a serviceable level first, then provide resourceId or resourceName from simulation.create, simulation.step, or simulation.metrics. This deactivates applicable instance_down/database_overload failures for only the selected resource and returns recoveryProgress with parked, cooling_down, or healthy state plus cooldown counters. It cannot restore an instance_kill because that failure permanently removes the resource. The likely next tool is simulation.step; keep stepping and inspect the targeted resource until recoveryProgress.state is healthy. Pass simulationId from simulation.create when using a fresh MCP session; a preserved session may omit it. Authenticate with an API key to unlock all 61 tools and unlimited simulations.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
resourceIdNoID of the failed resource to recover
resourceNameNoExact case-insensitive name of the failed resource to recover
simulationIdNoSimulation ID returned by simulation.create. Preserve Mcp-Session-Id to omit this field and use the session's current simulation; if your connector starts a fresh MCP session for each call (for example Grok Bot or Cursor), pass this explicit ID after every fresh initialization. A fresh session has no current-simulation pointer and returns NO_ACTIVE_SIMULATION when the ID is omitted. Anonymous capabilities are short-lived (30 minutes by default), unguessable, and revoked when the demo expires or is deleted; proxy IP changes do not invalidate them. Do not treat the ID as a durable share link.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
simulationIdNo
recoveryStateNo
previousHealthNo
stepsToHealthyNo
recoveryProgressNo
resolvedResourceIdNo
simulationIdSourceNo
resolvedResourceNameNo
deactivatedFailureIdsNo
stepsToHealthyIsLowerBoundNo

TDQS

A4.8/5.0
Behavior5/5

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

Annotations carry only four boolean hints, so the description carries the burden — and it delivers. It discloses that recovery is partial (selected resource only, applicable instance_down/database_overload failures only), stateful across steps (parked/cooling_down/healthy progression), and permanent-failure behavior (instance_kill removes the resource irreversibly). It also discloses session-dependent behavior (fresh sessions need explicit simulationId or get NO_ACTIVE_SIMULATION) and the 30-minute anonymous TTL. No contradiction 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 long but well-organized: scope first, then preconditions, then behavior and limits, then next-step guidance, then session handling. Every sentence except the final authentication pitch carries operational weight; the auth sentence is borderline promotional but does convey anonymous-mode limitations.

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?

Comprehensive for a stateful recovery tool: preconditions, parameter provenance, partial-effect behavior, the permanent-failure exclusion, follow-up workflow, session semantics, and the NO_ACTIVE_SIMULATION error case are all covered. With an output schema present, the recoveryProgress return details do not need to be spelled out further.

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% and each parameter already has a solid description, so baseline is 3. The description adds value by clarifying that resourceId and resourceName are alternative selectors ('provide resourceId or resourceName') and by telling the agent exactly where to source them from (create/step/metrics outputs). This exceeds the schema's per-field descriptions.

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 first sentence states a specific verb (recover), a precise scope (one reversible failed resource), and the environment (temporary anonymous demo simulation). It clearly differentiates from siblings: the opposite operation is simulation.inject_failure, and the explicit instance_kill exclusion further pins down what this tool does and does not do.

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

Usage Guidelines5/5

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

Gives an explicit precondition and ordering ('Lower traffic to a serviceable level first'), tells the agent where to obtain parameter values (resourceId/resourceName from simulation.create, simulation.step, or simulation.metrics), and routes the follow-up action ('The likely next tool is simulation.step'). It also states a when-not case: instance_kill cannot be recovered.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A4.6/5.0
Disambiguation5/5

Every tool targets a distinct step in the scenario/simulation workflow: catalog vs. hydrated graph, create vs. delete, traffic vs. failure injection, metrics vs. step, and recovery. The descriptions even call out look-alike pairs (e.g., simulation.metrics vs. simulation.step) to prevent misselection.

Naming Consistency4/5

The noun.action pattern with scenario.* and simulation.* prefixes is clear and consistent, and multi-word actions use snake_case. The only deviation is simulation.metrics, which uses a noun rather than an imperative verb like get_metrics or read_metrics, though it remains predictable.

Tool Count5/5

Nine tools is a well-scoped size for a demo simulation server: two for scenario discovery, one creation/one deletion, and five for operating/observing a simulation. No tool feels redundant or superfluous.

Completeness4/5

The core lifecycle is covered end to end: discover scenarios, create a simulation, inject load/failures, step, read metrics, recover, and delete. However, the descriptions repeatedly reference a simulation.get tool that is not present in the set; simulation.metrics mostly substitutes, but that documentation gap makes the surface slightly incomplete.

Resources