Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Descripción del creador (original en inglés)
Allure TestOps MCP — projects, launches, test cases, test results via REST API.
Estos tres nunca se combinan en una sola puntuación: las opiniones, las mediciones y la popularidad son cosas distintas.
Todavía no escribimos un resumen sencillo para este. Abajo están los datos que leímos del registro.
Elige la app de IA que usas y copia la configuración.
ALLURE_URL, ALLURE_TOKEN, ALLURE_SSL_VERIFYLos valores marcados como secretos son llaves de tu cuenta. Nunca los compartas ni los pegues en un chat.
Necesitas
¿Qué app usas?
Elige tu app arriba. La recordamos, así que la próxima vez el botón dirá “Instalar en …”.
Abre Claude Desktop → Settings → Developer → Edit Config y pega esto en 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"
}
}
}
}Ejecuta esto en tu 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-mcpCompleta los valores vacíos antes de ejecutarlo.
Pégalo en .cursor/mcp.json de tu proyecto, o en ~/.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"
}
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
Pégalo en .vscode/mcp.json de tu proyecto
{
"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"
}
}
}
}Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.
Este se ejecuta en tu computadora, y ChatGPT solo puede conectarse a servidores en internet. Elige otra app.
Tu elección se guarda en una cookie en este dispositivo; no necesitas cuenta.
ALLURE_SSL_VERIFY envEsta configuración se genera a partir de la ficha del creador en el registro. Si el README dice otra cosa, sigue el README.
Se ejecuta en tu computadora; la lista de herramientas aparece en tu app de IA después de instalarlo.
Revisamos información que cualquiera puede ver; no hemos leído el código. Las revisiones que no aplican no se cuentan. · Revisado el 7 nov 2026
El nombre en el registro se verificó con la cuenta de GitHub mshegolev, dueña del repo
Todavía no hemos leído este repo en GitHub
Todavía no hemos leído este repo en GitHub
Este se ejecuta en tu computadora; no hay endpoint en internet
Se ejecuta en tu computadora y usa ajustes locales en su lugar
Se ejecuta en tu computadora; solo podemos leer listas de herramientas de endpoints en internet
Comparado con todos los servidores activos de esta categoría en el registro. Las estrellas solo cuentan cuando quien lo publica es dueño del repo.
Superó 1 de 1 revisiones básicas aplicables. No hemos leído el código. Antes de agregar una clave o un token, revisa qué acceso pide el servidor y usa una clave que tenga solo los permisos que necesitas.
Debes completar: ALLURE_URL, ALLURE_TOKEN
Se ejecuta en tu computadora. Tu app de IA lo inicia cuando hace falta, y los datos no pasan por los servidores del creador (a menos que el propio servidor llame a un servicio en línea).
El repo de GitHub cambió por última vez –, y la última versión (0.9.5) llegó al registro hace 8 días.
Las apps compatibles con MCP, como Claude Desktop, Claude Code, Cursor y VS Code. También necesitas Python (uv) en tu computadora.
En la misma categoría: Spec Driven Development, Remote Desktop Commander, EmbeddedCI BenchPod
Servidores de la misma categoría hechos por otros creadores, ordenados por estrellas.
Cómo leer una tarjeta:★ Estrellas de GitHubiTres pilares: reseñas · revisiones · usoiActualizado = fecha en que se publicó la última versión en el registroi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Drive a BenchPod hardware-in-the-loop bench: power, flash, UART, I2C, CAN, analog and logic.
Copiado tal cual del repo del creador. PopNx MCP no lo ha revisado ni lo respalda. Se quitaron HTML, imágenes y scripts. Los enlaces llevan fuera de este sitio.
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.
qameta.io or self-hosted / on-prem (API at /api/rs).allure_list_projects, then pass any project_id. No reconfiguration to switch or compare projects.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.
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.
| Tool | Kind | Purpose |
|---|---|---|
allure_list_projects | read | All projects (id, name, abbreviation) |
allure_get_project_statistics | read | TC count, automation rate, last-launch summary |
allure_list_launches | read | Recent launches with pass/fail stats |
allure_get_test_results | read | Test results in a launch (filter by status) |
allure_search_failed_tests | read | FAILED/BROKEN tests in the last or a given launch |
allure_list_test_cases | read | Test cases (automated/manual + owner filters) |
allure_get_test_case | read | One test case's full detail + scenario steps |
allure_get_test_case_custom_fields | read | A test case's custom-field values |
allure_list_statuses | read | A project's statuses (id, name, color) |
allure_list_layers | read | A project's test layers (id, name) |
allure_list_custom_fields | read | A project's custom-field schema |
allure_list_categories | read | Defect categories (named/coloured buckets) |
allure_list_category_matchers | read | Regex automation rules (message/trace → category) |
allure_create_test_case | write ⚑ | Create a test case |
allure_update_test_case | write ⚑ | Partial update of a test case |
allure_delete_test_case | write ⚑ | Permanent delete (destructive — needs confirm=true) |
allure_create_category | write ⚑ | Create a defect category |
allure_delete_category | write ⚑ | Permanent delete (destructive — needs confirm=true) |
allure_create_category_matcher | write ⚑ | Create + attach a regex automation rule |
allure_delete_category_matcher | write ⚑ | 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.
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.
readOnlyHint: True / openWorldHint: True so clients don't prompt; allure_delete_test_case is destructiveHint: True.TypedDict return type, so FastMCP auto-generates an outputSchema and every result carries both structuredContent and a markdown block.pagination block with page, total, has_more, next_page.ctx.report_progress + ctx.info events.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.__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.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
pipx install allure-testops-mcp
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
| Variable | Required | Default | Description |
|---|---|---|---|
ALLURE_URL | yes | — | Allure TestOps URL (e.g. https://allure.example.com) |
ALLURE_TOKEN | yes | — | API token (Allure → Profile → API tokens) |
ALLURE_SSL_VERIFY | no | true | true/false. Set false for self-signed corp certs |
ALLURE_ENABLE_WRITE | no | false | true 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.
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"]
Read-only:
With ALLURE_ENABLE_WRITE=true, drive test-case CRUD in natural language:
smoke, layer E2E"confirm=true, and a compliant client prompts you firstALLURE_SSL_VERIFY=false (default true). Disabling verification on a public network is a risk; use only for trusted corporate instances.session.trust_env = False) — the server ignores HTTP_PROXY / HTTPS_PROXY so it can't be silently routed through an unintended proxy.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.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.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.
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
Solo se muestra el principio; lee el resto en el repo