Skip to main content
Glama
mshegolev

allure-testops-mcp

by mshegolev

allure-testops-mcp

PyPI Python License: MIT Tests

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

Переменные окружения

Переменная

Обязательно

Описание

ALLURE_URL

да

URL Allure TestOps (например, https://allure.example.com)

ALLURE_TOKEN

да

API-токен из Allure TestOps (Профиль → API-токены)

ALLURE_SSL_VERIFY

нет

true/false. Установите false для самоподписанных корпоративных сертификатов. По умолчанию: true.

Пример использования

В 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

Install Server
A
license - permissive license
A
quality
A
maintenance

Maintenance

Maintainers
Response time
2dRelease cycle
14Releases (12mo)
Commit activity

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

  • A
    license
    B
    quality
    A
    maintenance
    AI-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.
    26
    339
    28
    Apache 2.0
  • A
    license
    B
    quality
    A
    maintenance
    An 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.
    66
    7
    Apache 2.0

View all related MCP servers

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.

View all MCP Connectors

Latest Blog Posts

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