Prototype · Preview: every server in the official registry, synced every 30 minutes. Reviews and accounts come in a later step.
PopNx MCPMCP servers for people who use AI · explained in plain words

Allure Testops MCP

by mshegolevversion 0.9.5i★ –iRuns on your computer
Registry nameio.github.mshegolev/allure-testops-mcp

Install

Overview

Description from the maker (original English)

Allure TestOps MCP — projects, launches, test cases, test results via REST API.

PopNx MCP’s three pillars

These three are never merged into one score: opinions, measurements and popularity are different things.

What you can do with it

We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.

  • Connection: Runs on your computer
  • Transport: stdio
  • Category: Other
  • You need to fill in: ALLURE_URL, ALLURE_TOKEN

Install

Pick the AI app you use, then copy the settings.

Before you install

  • Basic checks: 1 of 1 passed
  • Runs on your computer with your user’s permissions (files, network, apps).
  • You fill in yourself: ALLURE_URL, ALLURE_TOKEN, ALLURE_SSL_VERIFY

Values marked secret are keys to your account. Never share them or paste them into a chat.

You need

  • PyPIPython’s uv installed (for the uvx command)

Which app do you use?

Pick your app above. We remember it, so next time the button says “Install in …”.

Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json

{
  "mcpServers": {
    "allure-testops": {
      "command": "uvx",
      "args": [
        "allure-testops-mcp"
      ],
      "env": {
        "ALLURE_URL": "your-value",
        "ALLURE_TOKEN": "your-value",
        "ALLURE_SSL_VERIFY": "your-value"
      }
    }
  }
}

Run this in your terminal

claude mcp add allure-testops --env ALLURE_URL=your-value --env ALLURE_TOKEN=your-value --env ALLURE_SSL_VERIFY=your-value -- uvx allure-testops-mcp

Fill in the empty values before running it.

Open in Cursor

Or copy the settings yourself

Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json

{
  "mcpServers": {
    "allure-testops": {
      "command": "uvx",
      "args": [
        "allure-testops-mcp"
      ],
      "env": {
        "ALLURE_URL": "your-value",
        "ALLURE_TOKEN": "your-value",
        "ALLURE_SSL_VERIFY": "your-value"
      }
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

Open in VS Code

Or copy the settings yourself

Paste into .vscode/mcp.json in your project

{
  "servers": {
    "allure-testops": {
      "type": "stdio",
      "command": "uvx",
      "args": [
        "allure-testops-mcp"
      ],
      "env": {
        "ALLURE_URL": "your-value",
        "ALLURE_TOKEN": "your-value",
        "ALLURE_SSL_VERIFY": "your-value"
      }
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.

Your choice stays on this device in a cookie; no account needed.

Values you fill in

  • ALLURE_URL required env
    Allure TestOps URL (e.g. https://allure.example.com)
  • ALLURE_TOKEN secret required env
    API token from Allure TestOps (Profile -> API tokens)
  • ALLURE_SSL_VERIFY env
    Verify SSL certificates (true/false). Set to 'false' for self-signed corp certs.

These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.

What it can do

Runs on your computer; the tool list appears in your AI app after you install it.

Basic checksi

We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 7, 2026

  • ✓ Pass

    Maker matches the repo

    The registry name was verified with the GitHub account mshegolev, which owns the repo

  • … Not checked yet

    Still maintained

    We have not read this repo from GitHub yet

  • … Not checked yet

    Has a licence

    We have not read this repo from GitHub yet

  • – Not applicable

    Endpoint responds

    This one runs on your computer; there is no internet endpoint

  • – Not applicable

    Sign-in with OAuth

    Runs on your computer and uses local settings instead

  • … Not checked yet

    No hidden instructions in tool descriptions

    Runs on your computer; we can only read tool lists from internet endpoints

Compared with others in Otheri

  • More stars than 0% of the other 32706 servers in this category
  • Published to the registry more recently than 80% of the other 32706 servers in this category
  • Basic checks equal to or better than 100% of the other 32706 servers in this category

Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.

Common questions

Is Allure Testops MCP safe?

It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.

What keys or codes does it need?

You need to fill in: ALLURE_URL, ALLURE_TOKEN

Does it run on my computer or in the cloud?

It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).

Is it still maintained?

The GitHub repo last changed –, and the latest version (0.9.5) reached the registry 8 days ago.

Which apps can use it?

Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Python (uv) on your computer.

What can I use instead?

In the same category: Spec Driven Development, Remote Desktop Commander, Kanal Varna — drains, leaks & plumbing (Varna, BG)

Alternatives

Servers in the same category from other makers, sorted by stars.

Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi

Spec Driven Development

by formulahendry

MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.

Runs on your computer★ 440MITUpdated 14 months ago
Install

Remote Desktop Commander

by desktop-commander

Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.

Runs in the cloud★ 211Updated 2 days ago
Install

README from the maker

Open the README

Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.

allure-testops-mcp

An MCP server for Allure TestOps. It lets an LLM agent (Claude Code, Cursor, OpenCode, …) explore and manage projects, launches, test cases, test results and reference data through the Allure REST API.

  • Stack: Python 3.10+, FastMCP, stdio transport.
  • Compatibility: any Allure TestOps instance — SaaS qameta.io or self-hosted / on-prem (API at /api/rs).
  • Instance-wide — all projects at once: one connection serves every project on the instance. The server isn't pinned to a single project — discover them with allure_list_projects, then pass any project_id. No reconfiguration to switch or compare projects.
  • Corporate-friendly: API-token auth, optional SSL-verify toggle, deliberate proxy bypass.
  • Safe by default: 13 read-only tools; the 7 write tools are off unless you opt in.

Quick start

claude mcp add allure -s user \

--env ALLURE_URL=https://allure.example.com \ --env ALLURE_TOKEN=your-api-token \ -- uvx --from allure-testops-mcp allure-testops-mcp

Then ask your agent: *"List all Allure projects"* or *"Show failed tests in the last launch for project 175"*. Get an API token in Allure TestOps under Profile → API tokens. See Configuration for other clients and Environment variables for all options.

Tools at a glance

20 tools — 13 read-only (always on) and 7 write tools (opt-in via ALLURE_ENABLE_WRITE=true). Every tool carries MCP annotations and returns both a typed structuredContent payload and a markdown summary.

ToolKindPurpose
allure_list_projectsreadAll projects (id, name, abbreviation)
allure_get_project_statisticsreadTC count, automation rate, last-launch summary
allure_list_launchesreadRecent launches with pass/fail stats
allure_get_test_resultsreadTest results in a launch (filter by status)
allure_search_failed_testsreadFAILED/BROKEN tests in the last or a given launch
allure_list_test_casesreadTest cases (automated/manual + owner filters)
allure_get_test_casereadOne test case's full detail + scenario steps
allure_get_test_case_custom_fieldsreadA test case's custom-field values
allure_list_statusesreadA project's statuses (id, name, color)
allure_list_layersreadA project's test layers (id, name)
allure_list_custom_fieldsreadA project's custom-field schema
allure_list_categoriesreadDefect categories (named/coloured buckets)
allure_list_category_matchersreadRegex automation rules (message/trace → category)
allure_create_test_casewrite ⚑Create a test case
allure_update_test_casewrite ⚑Partial update of a test case
allure_delete_test_casewrite ⚑Permanent delete (destructive — needs confirm=true)
allure_create_categorywrite ⚑Create a defect category
allure_delete_categorywrite ⚑Permanent delete (destructive — needs confirm=true)
allure_create_category_matcherwrite ⚑Create + attach a regex automation rule
allure_delete_category_matcherwrite ⚑Permanent delete (destructive — needs confirm=true)

⚑ Registered only when ALLURE_ENABLE_WRITE=true. Without the flag they are never imported, so the agent never sees them — see Security considerations.

Write tools — status & layer by name or id

allure_create_test_case / allure_update_test_case accept status and layer as either a name (status / layer) or a numeric id (status_id / layer_id). Names are auto-resolved to ids against the project's status/layer lists (GET /api/rs/status, GET /api/rs/testlayer) — an unknown name returns an actionable error listing the valid options. Update is partial (only the fields you pass change), and allure_delete_test_case is irreversible: it carries destructiveHint: True (compliant clients prompt) and additionally requires an explicit confirm=true argument.

Design highlights

  • Full tool annotations — read tools are readOnlyHint: True / openWorldHint: True so clients don't prompt; allure_delete_test_case is destructiveHint: True.
  • Structured output on every tool — each tool declares a TypedDict return type, so FastMCP auto-generates an outputSchema and every result carries both structuredContent and a markdown block.
  • Actionable errors — auth / 400 / 403 / 404 / 409 / 429 / 5xx / missing-env errors are converted to specific, next-step messages (e.g. *"Authentication failed — verify ALLURE_TOKEN has API scope"*).
  • Pydantic input validation — every argument has typed constraints (ranges, lengths, literals), exposed as JSON Schema; usernames are alphabet-restricted to prevent RQL injection.
  • Pagination — list tools return a pagination block with page, total, has_more, next_page.
  • Progress reporting — multi-call tools emit ctx.report_progress + ctx.info events.
  • Version-agnostic update verb — allure_update_test_case issues PATCH and falls back to PUT on HTTP 405, so it works across Allure deployments that expose only one verb.
  • Single source of truth for version — __version__ derives from installed package metadata, and a test asserts pyproject.toml matches both server.json version fields, so the published version can't drift.

Installation

Requires Python 3.10+. No manual install needed if you use uvx (recommended) — your MCP client runs it.

# run on demand via uvx (recommended)

uvx --from allure-testops-mcp allure-testops-mcp

or install with pipx

pipx install allure-testops-mcp

Configuration

Claude Code — one command:

claude mcp add allure -s user \

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

Any MCP client — add to ~/.claude.json, a project .mcp.json, Cursor's mcp.json, etc.:

{

"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. Verify the connection:

claude mcp list

allure: uvx --from allure-testops-mcp allure-testops-mcp - ✓ Connected

Environment variables

VariableRequiredDefaultDescription
ALLURE_URLyes—Allure TestOps URL (e.g. https://allure.example.com)
ALLURE_TOKENyes—API token (Allure → Profile → API tokens)
ALLURE_SSL_VERIFYnotruetrue/false. Set false for self-signed corp certs
ALLURE_ENABLE_WRITEnofalsetrue registers the 7 write tools; default is a read-only server

ALLURE_TEST_PROJECT_ID (plus optional ALLURE_TEST_STATUS / ALLURE_TEST_LAYER) are used only by the opt-in live integration tests — see Development.

Updating

The server is a stdio process your client respawns each session, so the running version is decided by the uvx invocation. uvx caches the resolved environment under ~/.cache/uv, so an older version sticks until you refresh:

uvx --refresh --from allure-testops-mcp allure-testops-mcp   # force latest on next run

uv cache clean allure-testops-mcp # or drop the cached env

Then reconnect the server (/mcp → reconnect, or restart the session). To control the version from config, edit args — pin for stability, or always-latest for currency:

// Pin a version (deterministic; bump consciously)

"args": ["--from", "allure-testops-mcp==0.8.0", "allure-testops-mcp"]

// Always latest on every start (adds a PyPI lookup per launch) "args": ["--refresh", "--from", "allure-testops-mcp", "allure-testops-mcp"]

Example prompts

Read-only:

  • "List all Allure projects"
  • "Show the last 10 launches for project 63"
  • "Failed tests in the last launch for project 175"
  • "What's the automation rate for project 842?"
  • "Compare the automation rate of project 63 and project 842" — works across projects in one session
  • "Show me the steps of test case 641012"
  • "Which custom fields does project 1664 have?"

With ALLURE_ENABLE_WRITE=true, drive test-case CRUD in natural language:

  • "Create a Draft manual TC named 'Login flow' in project 63"
  • "Add an automated smoke TC in project 63 tagged smoke, layer E2E"
  • "Rename test case 555 to 'Login (rewritten)' and set its status to Active"
  • "Delete test case 555" — the agent passes confirm=true, and a compliant client prompts you first

Security considerations

  • API token is read from `ALLURE_TOKEN` only — never passed on the command line, never written to logs.
  • Secrets are never echoed back in tool responses (no header dumps, no auth reflection).
  • Self-signed SSL is opt-in via ALLURE_SSL_VERIFY=false (default true). Disabling verification on a public network is a risk; use only for trusted corporate instances.
  • Proxy discovery is disabled (session.trust_env = False) — the server ignores HTTP_PROXY / HTTPS_PROXY so it can't be silently routed through an unintended proxy.
  • Writes are opt-in and least-privilege — without ALLURE_ENABLE_WRITE=true the server registers only the 13 read-only tools and cannot create, modify, or delete anything, even with a write-scoped token. When enabled, the destructive tools (allure_delete_test_case / allure_delete_category / allure_delete_category_matcher) carry destructiveHint: True and require confirm=true.
  • Input validation via Pydantic — every argument is typed and bounded; usernames are alphabet-restricted to prevent RQL injection through the search endpoint.
  • A token is never more privileged than its account — Allure Api-Token auth inherits the issuing user's role, so a read-only (guest) account yields a read-only server regardless of the ALLURE_ENABLE_WRITE flag.

Rate limits

Allure TestOps enforces per-instance rate limits (typically ~60 requests/minute per token). On HTTP 429 the server returns an actionable error suggesting you wait 30–60s, reduce size, or paginate with smaller pages. Two tools make multiple API calls internally — allure_get_project_statistics (3) and allure_search_failed_tests (2–3) — and report per-step progress via MCP Context.

Development

git clone https://github.com/mshegolev/allure-testops-mcp.git

cd allure-testops-mcp pip install -e '.[dev]' pytest # unit suite (all HTTP mocked) ruff check src tests && ruff format --check src tests

Run the server directly (stdio transport — waits on stdin for MCP messages):

ALLURE_URL=... ALLURE_TOKEN=... allure-testops-mcp
Live-instance integ

Only the beginning is shown; read the rest in the repo

Ask PopNx