io.github.sudo-ai-git/mcp-benchmark-hygiene
mcp-benchmark-hygiene
mcp-name: io.github.sudo-ai-git/mcp-benchmark-hygiene
Detección determinista de fugas de configuración de pytest que corrompen silenciosamente el benchmark de agentes / la calificación de funciones.
Sin LLM. Sin red. Una pregunta, respondida de forma fiable:
Si ejecuto
python -m pytest <tests>dentro de este espacio de trabajo, ¿heredará una barrera de cobertura/aborto del host que puntúe erróneamente como fallido el código que pasa?
El error que detecta
Los harnesses automatizados de evaluación de agentes suelen ejecutar python -m pytest <hidden_tests> dentro del espacio de trabajo del objetivo. Si ese espacio de trabajo está anidado bajo una raíz de repositorio que contiene addopts de pytest — p. ej.:
[tool.pytest.ini_options]
addopts = "--cov=harness --cov-report=term-missing:skip-covered --cov-fail-under=80"...pytest resuelve ese pyproject.toml del host como su rootdir, hereda los addopts y falla en la barrera de cobertura del propio host (harness recopilado al 0% → por debajo del umbral → salida distinta de cero). El harness registra entonces el código que PASA funcionalmente como FALLIDO.
Este es exactamente el error documentado en sudo-ai-git/vulcanbench-findings: el calificador declarativo de VulcanBench puntuó erróneamente cada tarea funcional como 0.0 por esta razón; con -o addopts= neutralizando la fuga, los mismos espacios de trabajo pasaron 10/10.
Related MCP server: Debug Companion MCP
La solución que te ofrece
Cuando un espacio de trabajo se marca como CORRUPTED, la herramienta devuelve el comando corregido:
python -m pytest -o addopts= <tests>-o addopts= elimina las barreras de cobertura/aborto heredadas. (O ejecuta el calificador desde fuera de la raíz del repositorio).
Herramientas
herramienta | propósito |
| análisis completo: cadena ini, addopts efectivos, veredicto CLEAN/CORRUPTED/UNKNOWN + comando corregido |
| booleano simple: |
| cadena de resumen accionable de una línea |
Núcleo determinista (sin dependencias)
El análisis recorre el directorio del espacio de trabajo hasta la raíz del sistema de archivos, leyendo pyproject.toml / pytest.ini / tox.ini / setup.cfg en el orden de primer hallazgo de pytest, y extrae los addopts. Señala:
barreras de cobertura —
--cov,--cov-fail-under,--cov-report,--cov-configbarreras de aborto/estrictas —
--maxfail,-x,--strict,--strict-markers,--pdb,--ff
Solo se señalan las barreras que cambian los códigos de salida / abortan la calificación. Un addopts inofensivo se informa como CLEAN con la cadena exacta.
Instalación y ejecución (MCP stdio)
Un solo comando (recomendado) — instala desde el repositorio, sin necesidad de token de PyPI:
uv tool install git+https://github.com/sudo-ai-git/mcp-benchmark-hygiene
mcp-benchmark-hygiene # run stdio server
mcp-benchmark-hygiene --http --port 8137 # or Streamable HTTPO con pipx: pipx install git+https://github.com/sudo-ai-git/mcp-benchmark-hygiene
Directamente desde el código fuente (alternativa):
{ "mcpServers": {
"benchmark-hygiene": { "command": "python3", "args": ["/abs/path/to/mcp_server.py"] }
}}Requiere el paquete oficial de Python mcp (pip install mcp). El núcleo determinista (inspect_workspace / check_addopts / summarize) se importa y se ejecuta con cero dependencias — el paquete mcp solo se necesita para el servidor stdio.
Streamable HTTP (remoto/publicable en Smithery)
python3 mcp_server.py --http --port 8137 # serves on http://<host>:8137/mcp/Ejecuta con --http para servir a través de Streamable HTTP (un endpoint MCP remoto) en lugar de stdio. Este es el transporte que smithery mcp publish <url> espera para la publicación basada en URL — así que, una vez que existe un token de servicio de Smithery, el servidor se despliega tal cual.
Ejemplo
inspect_workspace(path="/home/runner/vulcanbench/workspace/task-1")
→ {
"ok": true,
"workspace": "/home/runner/vulcanbench/workspace/task-1",
"ini_chain": [{"file": "/home/runner/vulcanbench/pyproject.toml",
"addopts": "--cov=harness ... --cov-fail-under=80"}],
"effective_addopts": "--cov=harness ... --cov-fail-under=80",
"will_corrupt_grading": true,
"verdict": "CORRUPTED",
"fixed_command": ["python3", "-m", "pytest", "-o", "addopts=", "<tests>"],
"reasons": ["coverage gate(s) present: ['--cov', '--cov-fail-under']"]
}Verificación
python3 test_detector.py— 5/5 comprobaciones de detección del núcleo (barrera raíz, herencia anidada, limpio, barrera de aborto, pyproject-sin-pytest)python3 test_e2e.py— maneja el transporte MCP stdio real (initialize → tools/call) y verifica que CORRUPTED / CLEAN se transmiten a través del cable
Parte de una familia
Este es uno de los tres servidores MCP de confianza de agentes deterministas, sin LLM de sudo-ai-git:
mcp-skill-sec— auditoría de habilidades/seguridad previa a la instalaciónmcp-verify-claim— informe de afirmaciones basado en evidencia y con niveles honestosmcp-benchmark-hygiene— detección de fugas de configuración de pytest / honestidad de la evaluación (este repositorio)
Licencia y procedencia
MIT. Derivado de forma independiente del hallazgo documentado de VulcanBench #79; no implica respaldo ni afiliación con morganlinton/VulcanBench.
Contrata una integración personalizada
¿Necesitas esto conectado a tu sistema interno (autenticación, registro, aprobación del escaneo de seguridad, alojamiento)? Abre una solicitud de compilación personalizada. Los recursos de referencia MIT son de uso gratuito en cualquier caso.
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- FlicenseNot gradedqualityDmaintenanceEnables AI assistants to run and analyze pytest tests for desktop applications through interactive commands. Supports test execution, filtering, result analysis, and debugging for comprehensive test automation workflows.2
- FlicenseDqualityDmaintenanceEnables AI coding agents to debug Python projects by running pytest, extracting failure locations, displaying code context around failures, and optionally requesting fix suggestions from Gemini.6
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to investigate and repair Python/pytest repositories in isolated Git worktrees with audit trails, without modifying the original repository.MIT
- AlicenseNot gradedqualityAmaintenanceLocal-first MCP and coding-agent reliability harness that captures bounded, sanitized failure evidence and generates deterministic executable regression tests. Capture is opt-in; no API key or hosted service is required.2Apache 2.0
Related MCP Connectors
Find your AI agent's likely failure mode, get runtime settings, and clarify ambiguous prompts.
Deterministic pre-execution audit for trading agents. PASS/WAIT/FAIL, reproducible verdict_hash.
Deterministic AI code review, with an audit record. Governance inside the agent loop.
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/sudo-ai-git/mcp-benchmark-hygiene'
If you have feedback or need assistance with the MCP directory API, please join our Discord server