io.github.sudo-ai-git/mcp-benchmark-hygiene
mcp-benchmark-hygiene
mcp-name: io.github.sudo-ai-git/mcp-benchmark-hygiene
Детерминированное обнаружение утечки конфигурации pytest, которая незаметно искажает оценку агентных бенчмарков / функций.
Без LLM. Без сети. Один вопрос, на который даётся надёжный ответ:
Если я запущу
python -m pytest <tests>в этом рабочем каталоге, унаследует ли он хост-шлюз покрытия/прерывания, который ошибочно оценивает проходящий код как непройденный?
Какую ошибку это выявляет
Автоматизированные оценочные обвязки агентов часто запускают python -m pytest <hidden_tests> внутри рабочего каталога цели. Если этот каталог вложен в корень репозитория с pytest addopts — например:
[tool.pytest.ini_options]
addopts = "--cov=harness --cov-report=term-missing:skip-covered --cov-fail-under=80"...pytest определяет pyproject.toml хоста как свой rootdir, наследует addopts и падает на собственном шлюзе покрытия хоста (harness собран на 0% → ниже порога → ненулевой код выхода). Затем обвязка фиксирует функционально ПРОХОДЯЩИЙ код как НЕПРОЙДЕННЫЙ.
Это ровно та ошибка, что описана в sudo-ai-git/vulcanbench-findings: декларативный оценщик VulcanBench ошибочно оценивал каждую функциональную задачу как 0.0 по этой причине; с -o addopts=, нейтрализующим утечку, те же рабочие каталоги проходили 10/10.
Related MCP server: Debug Companion MCP
Исправление, которое он вам даёт
Когда рабочий каталог помечен как CORRUPTED, инструмент возвращает исправленную команду:
python -m pytest -o addopts= <tests>-o addopts= снимает унаследованные шлюзы покрытия/прерывания. (Либо запускайте оценщик из-за пределов корня репозитория.)
Инструменты
tool | purpose |
| полный анализ: цепочка ini, действующие addopts, вердикт CLEAN/CORRUPTED/UNKNOWN + исправленная команда |
| простой булев результат: |
| однострочная практическая сводная строка |
Детерминированное ядро (без зависимостей)
Анализ проходит по каталогу рабочей области вплоть до корня файловой системы, читая pyproject.toml / pytest.ini / tox.ini / setup.cfg в порядке первого найденного у pytest, и извлекает addopts. Флаги:
шлюзы покрытия —
--cov,--cov-fail-under,--cov-report,--cov-configшлюзы прерывания/строгости —
--maxfail,-x,--strict,--strict-markers,--pdb,--ff
Помечаются только шлюзы, меняющие коды выхода / прерывающие оценку. Безвредный addopts сообщается как CLEAN с точной строкой.
Установка и запуск (MCP stdio)
Одна команда (рекомендуется) — установка из репозитория, токен 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 HTTPИли через pipx: pipx install git+https://github.com/sudo-ai-git/mcp-benchmark-hygiene
Напрямую из исходников (запасной вариант):
{ "mcpServers": {
"benchmark-hygiene": { "command": "python3", "args": ["/abs/path/to/mcp_server.py"] }
}}Требуется официальный python-пакет mcp (pip install mcp). Детерминированное ядро (inspect_workspace / check_addopts / summarize) импортируется и работает с нулевым числом зависимостей — пакет mcp нужен только для stdio-сервера.
Streamable HTTP (удалённый/публикуемый через Smithery)
python3 mcp_server.py --http --port 8137 # serves on http://<host>:8137/mcp/Запустите с --http, чтобы обслуживать через Streamable HTTP (удалённую MCP-конечную точку) вместо stdio. Это тот транспорт, который smithery mcp publish <url> ожидает для публикации по URL — так что как только появится сервисный токен Smithery, сервер разворачивается как есть.
Пример
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']"]
}Проверка
python3 test_detector.py— 5/5 проверок детектирования ядра (корневой шлюз, вложенное наследование, чистый, шлюз прерывания, pyproject без pytest)python3 test_e2e.py— гоняет реальный MCP stdio-транспорт (initialize → tools/call) и проверяет, что CORRUPTED / CLEAN проходят по проводу
Часть семейства
Это один из трёх детерминированных, без LLM MCP-серверов доверия к агентам от sudo-ai-git:
mcp-skill-sec— предустановочный аудит навыков/безопасностиmcp-verify-claim— отчётность по утверждениям с проверкой доказательств и честной градациейmcp-benchmark-hygiene— обнаружение утечки конфигурации pytest / честности оценки (этот репозиторий)
Лицензия и происхождение
MIT. Создано независимо на основе задокументированной находки VulcanBench #79; не подразумевается одобрение со стороны morganlinton/VulcanBench или связь с ними.
Заказать индивидуальную интеграцию
Нужно подключить это к вашей внутренней системе (аутентификация, логирование, прохождение сканера безопасности, хостинг)? Откройте запрос на индивидуальную сборку. Эталонные MIT-активы можно свободно использовать в любом случае.
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