Skip to content

Documentation

Deterministic failure scenarios for MCP servers, with observable results and CI-friendly outcomes.

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.