allure-testops-mcp
v1.2.6
Published
MCP server for Allure TestOps test cases and launches
Maintainers
Readme
Allure TestOps MCP
Production-ready MCP server for Allure TestOps focused on test cases, launches, test results, and test plans.
Features
- JWT bearer auth exchange from user API token, with in-memory caching and refresh on expiry.
- Project-aware tools with optional default project via
ALLURE_PROJECT_ID. - Project resolution by
projectIdorprojectNamefor project-scoped operations. - Test case custom field support, including lookup and updates.
stdiotransport for local MCP clients (npxor local build).
Tool Coverage
- Test cases: list, search, get, create, update, delete, restore, overview, history, scenario, steps (get/update), tags (get/set/bulk-add/bulk-remove), issues (get/set), external links bulk add, custom fields (list/get/set), attachments (list/upload/download/delete)
- Launches: list, search, get, create, update, delete, close, reopen, statistics, progress, add test cases/plans
- Test results: list, search, get, create, update, history, assign, resolve, retries, attachments (list/download)
- Test plans: list, get, create, update, delete, run
- Analytics: automation chart, group by automation/status, launch duration histogram, mute trend, statistic trend, test case last result, test case success rate
- Dashboards: list, get, create, update, delete, copy, widget data
- Defects: list, get, create, update, get test results/cases/launches, get launch defects, find similar failures, link to results (bulk), bulk close/reopen, link/unlink issue, apply matchers
- Mutes: list, create, delete, get muted test cases, get launch muted results, mute/unmute result, bulk mute/unmute
- Members: suggest users, list project members, launch member stats, test case members, test result members
- Shared Steps: list, get, get steps (inline scenario), usage, create, update, archive, unarchive
- Environments: list env vars, suggest env vars, list schemas, list values, suggest values, get result env vars
User Usage Docs
User-focused runtime and integration docs are in docs/usages/:
docs/usages/README.mddocs/usages/docker.mddocs/usages/npx.mddocs/usages/running-locally.mddocs/usages/integrations.mddocs/usages/examples/README.mddocs/usages/examples/test-cases.mddocs/usages/examples/launches.mddocs/usages/examples/test-results.mddocs/usages/examples/test-plans.mddocs/usages/examples/custom-fields.mddocs/usages/examples/defects.mddocs/usages/examples/mutes.mddocs/usages/examples/members.mddocs/usages/examples/shared-steps.mddocs/usages/examples/environments.mddocs/usages/examples/workflows.md
Tool Catalog (GitHub Pages)
The auto-generated MCP tool catalog is published via GitHub Pages:
- https://iampopovich.github.io/allure-testops-mcp/
The page content is generated from source tool definitions. When a new tool is added to src/tools/*.ts, the Pages workflow regenerates docs/tools.json and updates the site automatically.
Authentication
This server follows the Allure TestOps API guide:
- Use your user-generated API token in
ALLURE_TOKEN. - Server exchanges it at
/api/uaa/oauth/token. - Received bearer JWT is cached and reused until near expiry.
Reference: https://docs.qameta.io/allure-testops/advanced/api/
Environment Variables
ALLURE_TESTOPS_URL=https://allure-testops.instance.com/
ALLURE_TOKEN=your-api-token
# Optional default project:
# ALLURE_PROJECT_ID=37ALLURE_TESTOPS_URLrequiredALLURE_TOKENrequiredALLURE_PROJECT_IDoptional
If ALLURE_PROJECT_ID is not set, tools that require project scope must receive:
projectId, orprojectName(resolved via/api/project/suggest)
Run Locally
Prerequisites
- Node.js v18+ and npm
Step-by-step
- Clone the repository:
git clone https://github.com/iampopovich/allure-testops-mcp.git
cd allure-testops-mcp- Install dependencies:
npm install- Create your local environment file from the example and fill required values:
cp .env.example .envSet:
ALLURE_TESTOPS_URL(required)ALLURE_TOKEN(required)ALLURE_PROJECT_ID(optional. default project = 37)
- Build the project:
npm run build- Start the MCP server from the compiled output:
npm start- Optional: run in development mode (TypeScript via
tsx):
npm run dev- Optional: run integration smoke checks:
npm run test:integrationMCP Client Setup
Use one of these server commands:
Common config block:
{
"mcpServers": {
"allure-testops": {
"command": "npx",
"args": ["-y", "github:{repo-name}/allure-testops-mcp"],
"env": {
"ALLURE_TESTOPS_URL": "https://{allure-testops-instance-address}",
"ALLURE_TOKEN": "{your-api-token}",
"ALLURE_PROJECT_ID": "{allure-project-id}"
}
}
}
}command:nodeargs:["/absolute/path/to/allure-testops-mcp/dist/index.js"]example:node c:\users\username\allure-testops-mcp/dist/index.js
command:npxargs:["-y", "github:iampopovich/allure-testops-mcp"]
- Open Claude Desktop MCP settings and add the
mcpServersJSON entry above. - Restart Claude Desktop after saving config.
- Add the same
mcpServersentry in your Claude Code MCP configuration. - Restart your Claude Code session to load the server.
- Open Cursor MCP settings and add the same
mcpServersentry. - Restart Cursor (or reload MCP servers) after saving.
Any MCP client that supports stdio servers can use this project with the same command/env configuration.
CI and Quality Gates
This repository includes GitHub Actions checks for pushed code and pull requests:
- compile (
npm run build) - lint (
npm run lint)
CI workflow: .github/workflows/ci.yml
OSS Automation
Included automation for typical open-source maintenance:
- Dependabot updates:
.github/dependabot.yml - Stale issue/PR triage:
.github/workflows/stale.yml - Release notes drafting:
.github/workflows/release-drafter.yml
Integration Smoke Test
ALLURE_TESTOPS_URL="https://allure-testops.instance.com/" \
ALLURE_TOKEN="your-api-token" \
ALLURE_PROJECT_ID="37" \
npm run test:integration