loading…
Search for a command to run...
loading…
MCP server for Allure TestOps — lets an LLM agent (Claude Code, Cursor, Windsurf, etc.) inspect test quality without leaving the chat.
MCP server for Allure TestOps — lets an LLM agent (Claude Code, Cursor, Windsurf, etc.) inspect test quality without leaving the chat.
PyPI Python License: MIT Tests
MCP server for Allure TestOps. Lets an LLM agent (Claude Code, Cursor, OpenCode, etc.) query projects, launches, test cases and test results through the Allure REST API.
Python, FastMCP, stdio transport.
Works with any Allure TestOps instance — SaaS qameta.io or self-hosted / on-prem. Designed with corporate networks in mind: configurable proxy bypass, optional SSL-verify toggle, API-token auth.
readOnlyHint: True / openWorldHint: True. All 6 tools are read-only; MCP clients won't ask for confirmation.TypedDict return type, so FastMCP auto-generates an outputSchema and every result carries both structuredContent (typed payload) and a pre-rendered markdown text block.pagination block with page, total, has_more, next_page.allure_get_project_statistics, allure_search_failed_tests) and allure_list_test_cases emit ctx.report_progress + ctx.info events so compatible clients can render progress bars and step labels.6 tools covering everyday Allure TestOps workflows:
Discovery
allure_list_projects — all projects with ID, name, abbreviationallure_get_project_statistics — TC count, automation rate, last launch summaryLaunches & results
allure_list_launches — recent launches with pass/fail statsallure_get_test_results — test results in a launch (filter by status)allure_search_failed_tests — FAILED/BROKEN tests in last or specified launchTest cases
allure_list_test_cases — test cases with automated/manual filter (each result also carries its layer, e.g. UNIT / API / E2E)Requires Python 3.10+.
# via uvx (recommended)
uvx --from allure-testops-mcp allure-testops-mcp
# or via pipx
pipx install allure-testops-mcp
Short version — 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
Or in ~/.claude.json / project .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"
}
}
}
}
See .env.example for a template of all supported environment variables.
Check:
claude mcp list
# allure: uvx --from allure-testops-mcp allure-testops-mcp - ✓ Connected
| Variable | Required | Description |
|---|---|---|
ALLURE_URL |
yes | Allure TestOps URL (e.g. https://allure.example.com) |
ALLURE_TOKEN |
yes | API token from Allure TestOps (Profile → API tokens) |
ALLURE_SSL_VERIFY |
no | true/false. Set to false for self-signed corp certs. Default: true. |
In Claude Code:
ALLURE_TOKEN env var — never passed on the command line and never written to logs.stat.request_headers dumps, no session.auth reflection).ALLURE_SSL_VERIFY=false — the default is true. Disabling verification on a public network is a security risk; only use for trusted corporate instances.session.trust_env = False) — the MCP deliberately ignores HTTP_PROXY/HTTPS_PROXY env vars so the session cannot be silently routed through an unintended proxy. If your Allure instance is reachable only via proxy, run the MCP in an environment where requests can resolve directly.Allure TestOps enforces per-instance rate limits (typically ~60 requests / minute for API tokens). On HTTP 429 the MCP returns an actionable error suggesting you:
size parameter (default 50 for test results, 200 for projects).Two tools perform multiple API calls internally:
allure_get_project_statistics — 3 calls (TC counts + launches + launch statistic).allure_search_failed_tests — 2-3 calls (latest launch resolve + FAILED + BROKEN).Both use MCP Context to report per-step progress; allure_list_test_cases also emits a single progress event. Monitor the progress stream in compatible clients.
git clone https://github.com/mshegolev/allure-testops-mcp.git
cd allure-testops-mcp
pip install -e '.[dev]'
pytest
Run the server directly (stdio transport, waits on stdin for MCP messages):
ALLURE_URL=... ALLURE_TOKEN=... allure-testops-mcp
MIT © Mikhail Shchegolev
Добавь это в claude_desktop_config.json и перезапусти Claude Desktop.
{
"mcpServers": {
"mshegolev-allure-testops-mcp": {
"command": "npx",
"args": []
}
}
}