MCP Failure Lab
MCP Failure Lab
Un kit de herramientas de ingeniería del caos y pruebas de resiliencia para servidores de Model Context Protocol.
Documentación · Página del proyecto

Inicio rápido
Ejecuta un escenario de retraso determinista real sin clonar el repositorio ni instalar el paquete globalmente:
npx mcp-failure-lab demoSalida de ejemplo:
MCP Failure Lab — Demo
Running a real 500ms delay scenario...
Scenario: Deterministic delay demo
Outcome: success
Duration: ~500 ms
Assertions: passedLa duración exacta puede variar ligeramente entre ejecuciones. No se requiere clave API ni servidor MCP externo.
Muestra los comandos disponibles:
npx mcp-failure-lab --helpInicia el servidor MCP integrado a través de stdio:
npx mcp-failure-lab serveRelated MCP server: mcp-chaos-rig
Propósito
MCP Failure Lab ayuda a los autores de servidores a reproducir retrasos, herramientas colgadas, cancelaciones y pérdida de transporte de forma determinista.
Proporciona un comportamiento de fallo controlado para probar el manejo de tiempos de espera, la limpieza de cancelaciones, la recuperación de pérdida de transporte, las aserciones y los resultados de CI.
Alcance actual
MCP Failure Lab ejecuta escenarios JSON deterministas contra su propio servidor MCP integrado desde la línea de comandos.
Disponible ahora:
Herramientas
ping,delay,hangydisconnectComunicación MCP a través de stdio
Definiciones de escenarios code-first y JSON
Aserciones de resultado y duración máxima
Aserciones de resultados MCP
Llamadas secuenciales de observador para verificación de postcondiciones
Informes en consola y JSON
Errores de comando legibles por máquina
Códigos de salida compatibles con CI
Pruebas unitarias, de integración y de extremo a extremo
No implementado:
Orquestación de clientes MCP externos
Adaptadores de cliente objetivo
Streamable HTTP
Informes JUnit
Faltas de mensajes malformados, respuestas duplicadas y pérdida de sesión
MCP Failure Lab no es actualmente un proxy de propósito general ni un orquestador de pruebas de clientes MCP externos.
Cómo funciona
MCP Failure Lab ejecuta escenarios deterministas a través de su cliente y servidor MCP integrados. Un escenario invoca ping, delay, hang o disconnect, registra el resultado y la duración observados, y evalúa las expectativas declaradas.
Las llamadas opcionales de observador se ejecutan secuencialmente en la misma conexión de cliente MCP para verificar las postcondiciones a través de una ruta de herramienta separada.
Consulta la documentación de arquitectura para ver diagramas, responsabilidades y límites de implementación.
Documentación
Guías completas y referencias disponibles en mcplab.dev/docs.
Requisitos
Node.js 22.19.0 o superior
npm
Compatibilidad de protocolo
MCP Failure Lab apunta a MCP 2026-07-28 por defecto. Su servidor CLI utiliza el punto de entrada stdio consciente de la era del SDK v2, y su cliente de escenarios integrado fija 2026-07-28 para que el comportamiento moderno se ejercite explícitamente.
El servidor también acepta el flujo de inicialización 2025-11-25 por compatibilidad. Esa ruta heredada sigue cubierta por pruebas de integración, pero el nuevo desarrollo apunta a 2026-07-28. Las herramientas de fallo existentes ping, delay, hang y disconnect tienen el mismo comportamiento visible para el usuario en ambas eras; las características del protocolo que dependen de solicitudes iniciadas por el servidor difieren entre eras y quedan fuera de estas herramientas de fallo.
Instalación
Ejecuta el paquete directamente con npx:
npx mcp-failure-lab demoNo se requiere instalación global.
Para instalar el comando globalmente:
npm install -g mcp-failure-labCLI
# Run the built-in demonstration
npx mcp-failure-lab demo
# Display command help
npx mcp-failure-lab --help
# Display the installed version
npx mcp-failure-lab --version
# Start the MCP server over stdio
npx mcp-failure-lab serveEl proceso serve espera a un cliente MCP. Pulsa Ctrl+C para cerrarlo correctamente.
Ejecutar un escenario
Los archivos de escenario usan JSON:
{
"name": "bounded delay succeeds",
"call": {
"tool": "delay",
"args": {
"delayMs": 250
}
},
"timeoutMs": 1000,
"expect": {
"outcome": "success",
"maxDurationMs": 500
}
}Desde una copia del repositorio, ejecuta el escenario incluido:
npm run dev -- run examples/scenarios/delay-success.jsonGenera una salida legible por máquina:
npm run dev -- run examples/scenarios/delay-success.json --report jsonEl comando sale con:
Código | Significado |
| Todas las expectativas se cumplieron |
| El escenario no se pudo cargar o ejecutar |
| Una o más aserciones fallaron |
Para aserciones de resultados, llamadas de observador, formatos de informes y comportamiento de tiempo de espera, consulta la documentación de escenarios y informes.
Herramientas de fallo
Herramienta | Comportamiento |
| Devuelve una respuesta de salud determinista |
| Espera una duración limitada antes de devolver |
| Permanece pendiente hasta que el cliente cancela |
| Interrumpe el transporte activo mientras una solicitud está en curso |
Consulta la referencia de herramientas de fallo para ver argumentos y comportamiento.
Inspeccionar el servidor
Lanza MCP Inspector contra el paquete publicado:
npx @modelcontextprotocol/inspector npx mcp-failure-lab serveConéctate a través de stdio, lista las herramientas disponibles e invoca ping, delay, hang o disconnect.
No compartas ni confirmes tokens de autenticación temporales incluidos en las URL de Inspector.
Validación de integración externa
MCP Failure Lab fue validado de forma independiente con una simulación de Future AGI utilizando un cliente MCP Python independiente. El experimento invocó la herramienta real hang a través de stdio y aplicó un tiempo de espera del lado del cliente antes de evaluar las respuestas simuladas del agente.
Este es un ejemplo de validación externa, no una integración o respaldo oficial de Future AGI.
Consulta el ejemplo de Future AGI para ver resultados y pasos de reproducción.
Desarrollo
Clona el repositorio e instala sus dependencias:
git clone https://github.com/anilloutombam/mcp-failure-lab.git
cd mcp-failure-lab
npm installEjecuta la CLI de desarrollo:
npm run dev -- --helpAntes de abrir una solicitud de extracción, ejecuta:
npm run format:check
npm run typecheck
npm test
npm run buildConsulta CONTRIBUTING.md para el flujo de trabajo de contribución.
Hoja de ruta
El trabajo planificado se rastrea en GitHub Issues.
Los elementos de la hoja de ruta no forman parte de la implementación actual a menos que se documenten explícitamente como disponibles.
Licencia
This server cannot be installed
Maintenance
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA comprehensive reference implementation demonstrating all features of the Model Context Protocol (MCP) specification, serving as documentation, learning resource, and testing tool for MCP implementations.1MIT
- AlicenseNot gradedqualityBmaintenanceA local MCP server that breaks on demand, allowing you to test your client against auth failures, disappearing tools, flaky responses, and token expiry from a web UI.4210MIT
- AlicenseNot gradedqualityDmaintenanceA toy MCP server for exploring Model Context Protocol capabilities, including resources, tools, and prompts.Apache 2.0
- AlicenseNot gradedqualityCmaintenanceAI red teaming toolkit exposed as a Model Context Protocol (MCP) server. Connect any MCP client and test AI systems for safety vulnerabilities.MIT
Related MCP Connectors
MEOK MCP Test MCP — golden-file + schema-drift + tool-failure tests for any MCP server. Drop-in
A Model Context Protocol server for Wix AI tools
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/anilloutombam/mcp-failure-lab'
If you have feedback or need assistance with the MCP directory API, please join our Discord server