Inject Failure
simulation.inject_failureFail one node in a temporary anonymous demo simulation (the node is marked critical, not removed). Exact targeting: pass resourceName (human-readable name, e.g. 'app-server-01'; exact match preferred, an unambiguous prefix is accepted) or resourceId to fail a specific resource — including an individual named instance, not only a group. If resourceName matches multiple resources the call fails with a 400 listing every matching candidate by name — retry with one exact name (or its resourceId) from that list. If the resolved resource is not in a faileable state (already critical/warning) the call fails with a 400 describing its current status. When neither parameter is supplied, a RANDOM healthy node is selected — this path is non-deterministic and NOT suitable for controlled scenarios or replay; always target by name/id when reproducing a precise fault sequence. The response always echoes the applied outcome via resolvedResourceId, resolvedResourceName, and previousHealth (populated from the selected resource on the random path too). For typed failure injections (authenticated failure.create): instance_kill PERMANENTLY removes the instance — failure.delete does not restore it; use instance_down instead for a reversible single-node outage that is restored when the failure is deactivated or deleted. Returns the updated resource list and the failure event that was logged. The likely next tool is simulation.step to observe how the architecture degrades under failure, then simulation.metrics to review the health impact. Do not use it to advance simulation time — that is simulation.step. Pass simulationId from simulation.create when this call is made from a fresh MCP session; otherwise you may omit it to target the current simulation in the preserved MCP session. Authenticate with an API key to unlock all 61 tools including typed durational failures and chaos engineering.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| resourceId | No | Optional: ID of the resource to fail. Takes precedence over resourceName. | |
| resourceName | No | Optional: name of the resource to fail (exact match preferred; unambiguous prefix accepted). Ambiguous names return a 400 with a candidate list. | |
| simulationId | No | Simulation 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
| Name | Required | Description | Default |
|---|---|---|---|
| event | No | Failure event that was logged | |
| resources | No | Updated resource list after failure injection | |
| previousHealth | No | The resource's health status immediately before the failure was applied | |
| resolvedResourceId | No | ID of the resource that was failed (targeted or randomly selected) | |
| resolvedResourceName | No | Name of the resource that was failed |