MCP Failure Lab
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
No arguments | |||
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| pingB | Check whether the MCP server is responsive. |
| oversized_responseA | Return a deterministic text payload of exactly sizeBytes UTF-8 bytes (maximum 256 KiB). |
| invalid_progressA | Send one bounded progress-notification fault for this request; requires a client progress token. |
| protocol_ping_livenessC | Send an MCP protocol ping during this in-flight call and apply a bounded liveness policy. |
| delayA | Delay a successful MCP response to test client timeout behavior. |
| hangB | Never respond unless the MCP request is cancelled. |
| disconnectA | Close the MCP transport before this request can receive a response. |
| malformed_messageC | Return one deterministic response that violates a selected JSON-RPC rule. |
| duplicate_responseB | Return the same JSON-RPC response twice for this request. |
| response_after_cancellationA | Send a response after this call is cancelled (stdio only). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 10 tools
Most tools target clearly distinct failure modes such as delay, disconnect, hang, malformed_message, and duplicate_response. However, ping and protocol_ping_liveness both concern liveness checking and could be confused, keeping this from a perfect score.
All tool names use consistent snake_case and are descriptive. The main deviation is grammatical style: some are bare verbs (delay, disconnect, hang, ping) while others are noun phrases (oversized_response, malformed_message).
Ten tools is well-scoped for a failure-injection lab. Each tool represents a distinct test scenario and none feels redundant or excessive.
The set covers core transport, protocol, timing, and cancellation failure modes, including oversized responses, malformed messages, duplicates, and post-cancellation responses. It lacks explicit injection of JSON-RPC error responses or invalid request IDs, which are common client-handling tests.