Skip to content
Agentmart
Submit a tool

Allure Testops MCP

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

Connector by mshegolev · GitHub account verified by the MCP Registry

IndexedMITLocal (stdio)★ 3
Write a review

Install

Works with Claude Code, Codex, VS Code, Cursor, Windsurf, Claude Desktop. Read the repository before you give any tool access to your data.

npx agentmarket install connector/mshegolev-allure-testops-mcp

Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.

Get the weekly diff

The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.

We use your email only for this newsletter. Privacy

About

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

No reviews yet. Installed it? Reviews come from verified installers only. How reviews work

Permissions

What this server can do and what it asks for, from its tool list and install config. Checked Oct 25, 2026.

Tools
13 read · 4 write · 3 delete
Secrets
1 (API keys, tokens or passwords)
Install scripts
Not scanned yet
Runs as
Python package

Tools by what they do 20

Read from the source code; the running server may list different tools.

Read 13 · Look things up without changing anything.

  • allure_get_project_statistics
  • allure_get_test_case
  • allure_get_test_case_custom_fields
  • allure_get_test_results
  • allure_list_categories
  • allure_list_category_matchers
  • allure_list_custom_fields
  • allure_list_launches
  • allure_list_layers
  • allure_list_projects
  • allure_list_statuses
  • allure_list_test_cases
Show 1 more tools
  • allure_search_failed_tests

Write 4 · Create, change, send or run things.

  • allure_create_category
  • allure_create_category_matcher
  • allure_create_test_case
  • allure_update_test_case

Delete 3 · Delete, drop, revoke or wipe things.

  • allure_delete_category
  • allure_delete_category_matcher
  • allure_delete_test_case

Secrets and settings it asks for

Secrets: values you paste in that let it act as you.

  • ALLURE_TOKEN

Other settings (environment variables or headers).

  • ALLURE_SSL_VERIFY
  • ALLURE_URL

Tools (20)

Read from the source code; the running server may differ. Descriptions are the server’s own words; hidden characters are shown as [U+…].

  • allure_create_categoryCreate Defect Category

    Create a defect category (named, coloured bucket) in a project. A category on its own classifies nothing — pair it with a matcher (``allure_create_category_matcher``) to auto-assign failures by regex. Requires ``ALLURE_ENABLE_WRITE=true``. The server rejects an empty colour (HTTP 409), so a default grey is sent when ``color`` is omitted. Examples: - "Add a category 'Infra: WireMock down' to project 175" -> ``project_id=175, name="Infra: WireMock down", color="#E67E22"``

  • allure_create_category_matcherCreate Category Matcher

    Create a regex matcher and attach it to a project's automation schema. This is the rule that makes a category *automatic*: at result-ingest time Allure assigns any failure whose message/trace matches to ``category_id``. Two API calls — create the matcher, then attach it to the project; the ``attached`` flag reports whether the second step succeeded. At least one of ``message_regex`` / ``trace_regex`` should be set (a matcher with neither classifies nothing). Requires ``ALLURE_ENABLE_WRITE=true``. **Existing-run caveat.** Matchers evaluate at ingest, so a new matcher does NOT retroactively re…

  • allure_create_test_caseCreate Test Case

    Create a new test case in an Allure TestOps project. Requires ``ALLURE_ENABLE_WRITE=true`` to be set when the server starts — otherwise this tool is not registered. Surfaces the Allure 400 / 409 error text on rejection (e.g. unknown status/layer name, duplicate). Status and layer accept either a ``status_id`` / ``layer_id`` (used as-is) or a ``status`` / ``layer`` *name*, which is resolved to its id against the project's status/layer list. An unknown name yields an actionable error listing the valid names. Examples: - "Create a Draft TC named 'Login flow' in project 63" -> ``proje…

  • allure_delete_categoryDelete Defect Categorycan change or delete data

    Permanently delete a defect category. **Destructive.** Any matchers still pointing at this category are orphaned (they classify nothing). Requires ``ALLURE_ENABLE_WRITE=true``. Examples: - "Delete category 377" -> ``category_id=377, confirm=True``

  • allure_delete_category_matcherDelete Category Matchercan change or delete data

    Permanently delete a category matcher (regex automation rule). **Destructive.** Removing the matcher stops auto-classification into its category from the next run onward; the category bucket itself remains. Requires ``ALLURE_ENABLE_WRITE=true``. Examples: - "Delete matcher 278" -> ``matcher_id=278, confirm=True``

  • allure_delete_test_caseDelete Test Casecan change or delete data

    Permanently delete a test case from Allure TestOps. **Destructive**: the deletion is irreversible from Allure's side. The explicit ``confirm=True`` parameter is required so callers cannot delete by accident if the destructive-hint annotation is ignored. Requires ``ALLURE_ENABLE_WRITE=true``. Examples: - "Delete test case 555" -> ``test_case_id=555, confirm=True``

  • allure_get_project_statisticsGet Project Statisticsread-only

    Get summary statistics for an Allure project. Returns TC count, automation rate, and the last closed launch's pass/fail breakdown. Performs 3-4 API calls — progress is reported via MCP Context (visible as progress updates in compatible clients). Args: project_id: Allure project ID (see ``allure_list_projects``). ctx: MCP Context injected by FastMCP (used for progress reporting; never supplied by the agent directly). Returns: dict with keys: - ``project_id`` (int) - ``total_test_cases`` (int) - ``automated_test_cases`` (int) - ``manual_test…

  • allure_get_test_caseGet Test Caseread-only

    Get one test case's full detail — fields, status/layer, tags, and steps. Unlike ``allure_list_test_cases`` (summaries), this returns the body of a single test case: description, precondition, expected result, and the manual scenario steps (flattened with a ``depth`` marker). Use it to read or review the actual content of a test case. Scenario steps are loaded from ``GET /testcase/{id}/scenario`` (nested tree). If that returns no steps, falls back to ``GET /testcase/{id}/step`` (normalized ``root`` + ``scenarioSteps`` map used by some Allure versions). Returns: dict with ``id``, ``name``…

  • allure_get_test_case_custom_fieldsGet Test Case Custom Fieldsread-only

    List the custom-field values set on a test case. Returns each value flattened to ``field_id`` / ``field_name`` (the custom field) and ``value_id`` / ``value_name`` (the chosen value) — e.g. field "Priority" → value "High". These are not included in ``allure_get_test_case``; fetch them here when you need a test case's custom-field assignments.

  • allure_get_test_resultsGet Test Resultsread-only

    Get individual test results inside a launch, optionally filtered by status. The Allure server may ignore the ``status`` query parameter and return mixed-status pages. When ``status`` is set, this tool enforces the filter client-side (case-insensitive comparison) so the returned ``results`` always contain only rows matching the requested status. Args: launch_id: Allure launch ID (from ``allure_list_launches``). status: Filter — ``PASSED`` / ``FAILED`` / ``BROKEN`` / ``SKIPPED``. ``None`` returns all. page: 0-based page index. size: Items per page (1-200; default 50). Returns:…

  • allure_list_categoriesList Defect Categoriesread-only

    List the defect categories configured for a project. Categories are the named, coloured buckets shown on the project's *Categories* settings page (``name`` / ``color`` / ``description``). They are inert on their own — the regex rules that auto-assign failures live in ``allure_list_category_matchers``. Args: project_id: Allure project ID. page: 0-based page index. size: Items per page (1-500). Returns: dict with keys: - ``project_id`` (int) - ``count`` (int): items in this response - ``pagination`` (dict) - ``categories`` (list): each ``id`` / …

  • allure_list_category_matchersList Category Matchersread-only

    List the regex automation rules (matchers) for a project. Each matcher carries a ``message_regex`` / ``trace_regex`` (Java regex) and the ``category_id`` / ``category_name`` it feeds. This is the project's *automation schema* — what makes failing results land in a category automatically at result-ingest time. Args: project_id: Allure project ID. page: 0-based page index. size: Items per page (1-500). Returns: dict with keys: - ``project_id`` (int) - ``count`` (int) - ``pagination`` (dict) - ``matchers`` (list): each ``id`` / ``name`` / ``messa…

  • allure_list_custom_fieldsList Custom Fieldsread-only

    List the custom fields defined on a project (its schema). Returns each field's ``field_id``, ``name``, ``single_select`` and ``required``. Use it to discover which custom fields a project has before reading a test case's values with ``allure_get_test_case_custom_fields``. Built-in metadata fields (Epic/Feature/Story/Component/Suite) use negative ids; project-specific custom fields use positive ids.

  • allure_list_launchesList Launchesread-only

    List recent launches for a project, newest first. Each launch carries a pass/fail/broken/skipped breakdown from Allure's ``statistic`` field. Pagination info is returned in the ``pagination`` block (use ``next_page`` to continue). Args: project_id: Allure project ID. page: 0-based page index. size: Items per page (1-100; 20 is usually enough for triage). Returns: dict with keys: - ``project_id`` (int) - ``count`` (int): items in this response - ``pagination`` (dict): ``page`` / ``size`` / ``total`` / ``total_pages`` / ``has_more`` / ``next_p…

  • allure_list_layersList Layersread-only

    List the test layers defined in a project (id, name). Use this to discover valid layer names/ids before setting a layer on ``allure_create_test_case`` / ``allure_update_test_case``. Built-in layers use negative ids (e.g. API Tests = -3). Returns: dict with ``project_id``, ``count`` and ``layers`` (each: ``id``, ``name``).

Show 5 more tools
  • allure_list_projectsList Projectsread-only

    List all projects in the Allure TestOps instance. Use this first to discover which project IDs exist — all other tools take a ``project_id`` that you can look up here. Returns: dict with keys: - ``count`` (int): number of projects in this response - ``projects`` (list): each item has ``id``, ``name``, ``abbreviation`` Examples: - "Which projects exist in Allure?" -> default call, take the names/ids - "Find project by abbreviation" -> iterate ``projects`` and match Don't use when: - You already know the project id (skip discovery, go straight to the targe…

  • allure_list_statusesList Statusesread-only

    List the test-case statuses defined in a project (id, name, color). Use this to discover valid status names/ids before setting a status on ``allure_create_test_case`` / ``allure_update_test_case``. Built-in statuses use negative ids (e.g. Draft = -1). Returns: dict with ``project_id``, ``count`` and ``statuses`` (each: ``id``, ``name``, ``color``).

  • allure_list_test_casesList Test Casesread-only

    List test cases for a project with optional automation and ownership filters. Each TC carries ``id``, ``name``, ``automated``, ``status``, ``layer`` (e.g. ``UNIT``, ``API``, ``E2E``), the ``createdBy`` / ``lastModifiedBy`` audit usernames, and a flat list of tag names. **Caveat:** the audit fields and ``tags`` are only populated when ``owner`` is set, because Allure's plain ``/testcase`` endpoint returns a compact projection that omits them — the ``owner`` path uses ``__search`` which returns the full projection. Args: project_id: Allure project ID. ctx: MCP Context (auto-injected by…

  • allure_search_failed_testsSearch Failed Testsread-only

    Find FAILED and BROKEN tests in the most recent (or given) launch. Useful for triage: _"what's broken in the latest run"_ without listing every test. Performs up to 3 API calls; progress reported via MCP Context. Args: project_id: Allure project ID. launch_id: Specific launch ID. If ``None``, the latest launch is used. limit: Max failures per status (so up to ``2 * limit`` total). ctx: MCP Context (auto-injected). Returns: dict with keys: - ``launch_id`` (int): the resolved launch (latest if not passed in) - ``failed_count`` (int) - ``results`` (l…

  • allure_update_test_caseUpdate Test Case

    Partially update an existing test case. Only the fields you set are sent to Allure — the rest are left untouched. Pass ``tags=[]`` to clear every tag; omit ``tags`` to leave them as-is. Requires ``ALLURE_ENABLE_WRITE=true``. Status and layer accept a ``status_id`` / ``layer_id`` (sent as Allure's flat ``statusId`` / ``testLayerId``) or a ``status`` / ``layer`` *name*, which is resolved to its id — this performs an extra lookup of the test case's project. An unknown name yields an actionable error. Examples: - "Rename TC 555 to 'Login (rewritten)'" -> ``test_case_id=555, name="Login (rew…

Compare and alternatives

    Featured in

    Signals

    Stars
    3
    Forks
    1
    Open issues
    0
    Weekly downloads
    113
    Last commit
    Aug 10, 2026 (2 months ago)
    Last release
    Aug 6, 2026 (2 months ago)
    Last package publish
    Aug 6, 2026 (2 months ago)

    From GitHub (fetched Oct 24, 2026) and the package registry.

    Details

    Registry name
    io.github.mshegolev/allure-testops-mcp
    Version
    0.9.3
    Auth
    API key
    Packages
    pypi allure-testops-mcp
    License
    MIT
    First seen
    Oct 24, 2026
    Last checked
    Oct 24, 2026

    More from mshegolev

    Cite this page

    Allure Testops MCP. Agent Mart. https://agentmart.dev/connectors/mshegolev-allure-testops-mcp (last updated 2026-10-24)