Run a scenario
Define a tool call, timeout, and expectations in JSON.
Run a scenario
Define a tool call, timeout, and expectations in JSON.
Inject a fault
Use delay, hang, disconnect, malformed_message, duplicate_response, response_after_cancellation, or
session_loss to exercise recovery paths.
Verify state
Add a sequential observer call such as ping.
Report clearly
Produce console, JSON, or JUnit XML output.
Check compatibility
Review black-box results from official MCP clients over stdio and Streamable HTTP.
MCP Failure Lab uses MCP TypeScript SDK v2 and targets protocol version
2026-07-28 by default for built-in scenario execution. Scenarios can select 2025-11-25
with protocolVersion. The stdio and Streamable HTTP
servers also accept 2025-11-25 clients for compatibility.
The health, delay, hang, disconnect, and response fault tools support both protocol eras.
session_loss is limited to initialized legacy HTTP sessions, while
response_after_cancellation is limited to stdio. The current working-tree
protocol_ping_liveness tool sends a server-to-client protocol ping on 2025-11-25;
it reports unsupported on 2026-07-28. See Fault Tools for availability
and transport behavior.
See External compatibility for the versioned client matrix and known transport-specific behavior.