Skip to main content

MCP server for Allure TestOps — projects, launches, test cases, test results

Project description

allure-testops-mcp

PyPI Python License: MIT

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.

Design highlights

  • Tool annotations — every tool is marked readOnlyHint: True / openWorldHint: True. All 6 tools are read-only; MCP clients won't ask for confirmation.
  • Structured output on every tool — each tool declares a TypedDict return type, so FastMCP auto-generates an outputSchema and every result carries both structuredContent (typed payload) and a pre-rendered markdown text block.
  • Structured errors — auth, 404, 403, 429, 5xx, missing-env errors converted to actionable messages (e.g. "Authentication failed — verify ALLURE_TOKEN has API scope").
  • Pydantic input validation — every argument has typed constraints (ranges, lengths, literals) auto-exposed as JSON Schema.
  • Pagination — list tools return a pagination block with page, total, has_more, next_page.

Features

6 tools covering everyday Allure TestOps workflows:

Discovery

  • allure_list_projects — all projects with ID, name, abbreviation
  • allure_get_project_statistics — TC count, automation rate, last launch summary

Launches & results

  • allure_list_launches — recent launches with pass/fail stats
  • allure_get_test_results — test results in a launch (filter by status)
  • allure_search_failed_tests — FAILED/BROKEN tests in last or specified launch

Test cases

  • allure_list_test_cases — test cases with manual/auto/layer filters

Installation

Requires Python 3.10+.

# via uvx (recommended)
uvx --from allure-testops-mcp allure-testops-mcp

# or via pipx
pipx install allure-testops-mcp

Configuration

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"
      }
    }
  }
}

Check:

claude mcp list
# allure: uvx --from allure-testops-mcp allure-testops-mcp - ✓ Connected

Environment variables

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.

Example usage

In 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"

Development

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

License

MIT © Mikhail Shchegolev

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

allure_testops_mcp-0.1.0.tar.gz (11.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

allure_testops_mcp-0.1.0-py3-none-any.whl (12.9 kB view details)

Uploaded Python 3

File details

Details for the file allure_testops_mcp-0.1.0.tar.gz.

File metadata

  • Download URL: allure_testops_mcp-0.1.0.tar.gz
  • Upload date:
  • Size: 11.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for allure_testops_mcp-0.1.0.tar.gz
Algorithm Hash digest
SHA256 ed8502009c963bbc2f21c6fbd9af9b8d2dbd6135f8d3a279c324bc775572f2da
MD5 eaab06439a1c2d6375f5248bcf15104a
BLAKE2b-256 1584092fbb9c3f85c503d91e8ea0e880a63a50538784987b78ad4c0335da3e42

See more details on using hashes here.

Provenance

The following attestation bundles were made for allure_testops_mcp-0.1.0.tar.gz:

Publisher: publish.yml on mshegolev/allure-testops-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file allure_testops_mcp-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for allure_testops_mcp-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 321a25491a68a5ed22ad25b20cc49f18cd1f0e4fbd3ae5391fbf1123e3c0ac9d
MD5 af8b16118156e1ba646698519889d343
BLAKE2b-256 cd3533a9128e4134d4933095c358647800edabfcb9a8b2322dc42ebfc3f24771

See more details on using hashes here.

Provenance

The following attestation bundles were made for allure_testops_mcp-0.1.0-py3-none-any.whl:

Publisher: publish.yml on mshegolev/allure-testops-mcp

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page