allure-testops-mcp
allure-testops-mcp
MCP-сервер для Allure TestOps. Позволяет LLM-агенту (Claude Code, Cursor, OpenCode и др.) запрашивать проекты, запуски, тест-кейсы и результаты тестов через REST API Allure.
Python, FastMCP, транспорт stdio.
Работает с любым экземпляром Allure TestOps — SaaS qameta.io или self-hosted / on-prem. Разработан с учетом корпоративных сетей: настраиваемый обход прокси, опциональное переключение проверки SSL, аутентификация по API-токену.
Основные особенности дизайна
Аннотации инструментов — каждый инструмент помечен
readOnlyHint: True/openWorldHint: True. Все 6 инструментов доступны только для чтения; MCP-клиенты не будут запрашивать подтверждение.Структурированный вывод для каждого инструмента — каждый инструмент объявляет тип возвращаемого значения
TypedDict, поэтому FastMCP автоматически генерируетoutputSchema, и каждый результат содержит какstructuredContent(типизированные данные), так и предварительно отрендеренный блок текста в формате markdown.Структурированные ошибки — ошибки аутентификации, 404, 403, 429, 5xx и отсутствующие переменные окружения преобразуются в понятные сообщения (например, "Authentication failed — verify ALLURE_TOKEN has API scope").
Валидация входных данных Pydantic — каждый аргумент имеет типизированные ограничения (диапазоны, длины, литералы), автоматически представленные в виде JSON Schema.
Пагинация — инструменты списка возвращают блок
paginationс полямиpage,total,has_more,next_page.Отчет о прогрессе через MCP Context — инструменты, выполняющие несколько вызовов API (
allure_get_project_statistics,allure_search_failed_tests) иallure_list_test_cases, отправляют событияctx.report_progress+ctx.info, чтобы совместимые клиенты могли отображать индикаторы выполнения и метки шагов.
Related MCP server: Allure TestOps MCP
Возможности
6 инструментов, охватывающих повседневные рабочие процессы Allure TestOps:
Обнаружение
allure_list_projects— все проекты с ID, названием и аббревиатуройallure_get_project_statistics— количество тест-кейсов, уровень автоматизации, сводка последнего запуска
Запуски и результаты
allure_list_launches— недавние запуски со статистикой прохождения/паденияallure_get_test_results— результаты тестов в запуске (фильтрация по статусу)allure_search_failed_tests— FAILED/BROKEN тесты в последнем или указанном запуске
Тест-кейсы
allure_list_test_cases— тест-кейсы с фильтром по автоматизированным/ручным (каждый результат также содержит свой слой, например,UNIT/API/E2E)
Установка
Требуется Python 3.10+.
# via uvx (recommended)
uvx --from allure-testops-mcp allure-testops-mcp
# or via pipx
pipx install allure-testops-mcpКонфигурация
Краткая версия — claude mcp add:
claude mcp add allure -s project \
--env ALLURE_URL=https://allure.example.com \
--env ALLURE_TOKEN=your-api-token \
--env ALLURE_SSL_VERIFY=true \
-- uvx --from allure-testops-mcp allure-testops-mcpИли в ~/.claude.json / проекте .mcp.json:
{
"mcpServers": {
"allure": {
"type": "stdio",
"command": "uvx",
"args": ["--from", "allure-testops-mcp", "allure-testops-mcp"],
"env": {
"ALLURE_URL": "https://allure.example.com",
"ALLURE_TOKEN": "${ALLURE_TOKEN}",
"ALLURE_SSL_VERIFY": "true"
}
}
}
}См. .env.example для шаблона всех поддерживаемых переменных окружения.
Проверка:
claude mcp list
# allure: uvx --from allure-testops-mcp allure-testops-mcp - ✓ ConnectedПеременные окружения
Переменная | Обязательно | Описание |
| да | URL Allure TestOps (например, |
| да | API-токен из Allure TestOps (Профиль → API-токены) |
| нет |
|
Пример использования
В Claude Code:
"List all Allure projects"
"Show last 10 launches for project 63"
"Failed tests in the last launch for project 175"
"Automation rate for project 842"
"Test results in launch 12345 with status FAILED"
Вопросы безопасности
API-токен считывается из переменной окружения
ALLURE_TOKEN— никогда не передается в командной строке и не записывается в логи.Секреты не дублируются в ответах инструментов (нет дампов
stat.request_headers, нет отраженияsession.auth).Самоподписанный SSL включается через
ALLURE_SSL_VERIFY=false— по умолчаниюtrue. Отключение проверки в общедоступной сети является риском безопасности; используйте только для доверенных корпоративных экземпляров.Обнаружение прокси отключено (
session.trust_env = False) — MCP намеренно игнорирует переменные окруженияHTTP_PROXY/HTTPS_PROXY, чтобы сессия не могла быть незаметно перенаправлена через непреднамеренный прокси. Если ваш экземпляр Allure доступен только через прокси, запустите MCP в среде, гдеrequestsможет разрешать адреса напрямую.Операции записи не представлены — все 6 инструментов доступны только для чтения. Даже если API-токен имеет права на запись, этот MCP-сервер не может создавать, изменять или удалять что-либо в Allure TestOps.
Валидация входных данных через Pydantic — каждый аргумент инструмента типизирован и ограничен (ID должны быть ≥ 1, пагинация ограничена 200-500).
Ограничения скорости (Rate limits)
Allure TestOps применяет ограничения скорости для каждого экземпляра (обычно ~60 запросов в минуту для API-токенов). При получении HTTP 429 MCP возвращает понятную ошибку с рекомендацией:
Подождать 30-60 секунд перед повторной попыткой.
Уменьшить параметр
size(по умолчанию 50 для результатов тестов, 200 для проектов).Использовать пагинацию с меньшим размером страницы.
Два инструмента выполняют несколько вызовов API внутри:
allure_get_project_statistics— 3 вызова (количество ТК + запуски + статистика запуска).allure_search_failed_tests— 2-3 вызова (определение последнего запуска + FAILED + BROKEN).
Оба используют Context MCP для отчета о прогрессе по каждому шагу; allure_list_test_cases также отправляет одно событие прогресса. Отслеживайте поток прогресса в совместимых клиентах.
Разработка
git clone https://github.com/mshegolev/allure-testops-mcp.git
cd allure-testops-mcp
pip install -e '.[dev]'
pytestЗапустите сервер напрямую (транспорт stdio, ожидает сообщения MCP через stdin):
ALLURE_URL=... ALLURE_TOKEN=... allure-testops-mcpЛицензия
MIT © Mikhail Shchegolev
Maintenance
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
- AlicenseBqualityAmaintenanceAI-native Model Context Protocol (MCP) server for TestRail. Lets Claude, Cursor, Windsurf, and other AI assistants browse projects, create and update test cases, kick off test runs, and record results through natural-language conversation — with strongly-typed tool schemas and per-project custom field validation that helps LLMs generate valid TestRail requests on the first try.2633928Apache 2.0
- AlicenseBqualityBmaintenanceProduction-ready MCP server for Allure TestOps, enabling test case, launch, test result, and test plan management via natural language.1001002MIT
- AlicenseBqualityAmaintenanceAn MCP server for Allure TestOps that enables AI agents to manage test cases, defects, test plans, and other test management entities with clear, easy-to-use tools and helpful error guidance.667Apache 2.0
- AlicenseAqualityCmaintenanceAn MCP server that connects AI agents to TestOps, enabling test case management, launches, defects, and analytics through natural language.4871MIT
Related MCP Connectors
Official MCP server for Qase — manage test cases, runs, suites, defects via AI tools.
Real-time chat hub for AI agents — Claude Code, Cursor, Cline, Codex over MCP or REST.
MCP server for AI access to SmartBear tools, including BugSnag, Reflect, Swagger, PactFlow, QTM4J.
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/mshegolev/allure-testops-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server