Prototipo · Versión preliminar: todos los servidores del registro oficial, sincronizados cada 30 minutos. Las reseñas y las cuentas llegarán en una etapa posterior.
PopNx MCPServidores MCP para quienes usan IA · explicados con palabras sencillas

Zephyr Scale MCP

de vilaaboversión 1.0.0i★ –iSe ejecuta en tu computadora
Nombre en el registroio.github.vilaabo/zephyr-scale-mcp

Instalar

Resumen

Descripción del creador (original en inglés)

Zephyr Scale on self-hosted Jira Server/DC: test cases, cycles, executions, plans and attachments

Los tres pilares de PopNx MCP

Estos tres nunca se combinan en una sola puntuación: las opiniones, las mediciones y la popularidad son cosas distintas.

Qué puedes hacer con él

Todavía no escribimos un resumen sencillo para este. Abajo están los datos que leímos del registro.

  • Conexión: Se ejecuta en tu computadora
  • Transporte: stdio
  • Categoría: Herramientas para desarrolladores
  • Debes completar: JIRA_BASE_URL, JIRA_PAT, JIRA_PASSWORD

Instalación

Elige la app de IA que usas y copia la configuración.

Antes de instalar

  • Revisiones básicas: 1 de 1 superadas
  • Se ejecuta en tu computadora con los permisos de tu usuario (archivos, red, apps).
  • Debes completar tú: JIRA_BASE_URL, JIRA_PAT, JIRA_AUTH, JIRA_USERNAME, JIRA_PASSWORD, ZEPHYR_DEFAULT_PROJECT_KEY, ZEPHYR_ALLOW_INTERNAL_API, ZEPHYR_READONLY, JIRA_TLS_REJECT_UNAUTHORIZED, JIRA_TIMEOUT_MS, JIRA_MAX_RETRIES, ZEPHYR_LOG_LEVEL

Los valores marcados como secretos son llaves de tu cuenta. Nunca los compartas ni los pegues en un chat.

Necesitas

  • npmNode.js instalado (para el comando npx)

¿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": {
    "zephyr-scale": {
      "command": "npx",
      "args": [
        "-y",
        "zephyr-scale-mcp"
      ],
      "env": {
        "JIRA_BASE_URL": "your-value",
        "JIRA_PAT": "your-value",
        "JIRA_AUTH": "your-value",
        "JIRA_USERNAME": "your-value",
        "JIRA_PASSWORD": "your-value",
        "ZEPHYR_DEFAULT_PROJECT_KEY": "your-value",
        "ZEPHYR_ALLOW_INTERNAL_API": "your-value",
        "ZEPHYR_READONLY": "your-value",
        "JIRA_TLS_REJECT_UNAUTHORIZED": "your-value",
        "JIRA_TIMEOUT_MS": "your-value",
        "JIRA_MAX_RETRIES": "your-value",
        "ZEPHYR_LOG_LEVEL": "your-value"
      }
    }
  }
}

Ejecuta esto en tu terminal

claude mcp add zephyr-scale --env JIRA_BASE_URL=your-value --env JIRA_PAT=your-value --env JIRA_AUTH=your-value --env JIRA_USERNAME=your-value --env JIRA_PASSWORD=your-value --env ZEPHYR_DEFAULT_PROJECT_KEY=your-value --env ZEPHYR_ALLOW_INTERNAL_API=your-value --env ZEPHYR_READONLY=your-value --env JIRA_TLS_REJECT_UNAUTHORIZED=your-value --env JIRA_TIMEOUT_MS=your-value --env JIRA_MAX_RETRIES=your-value --env ZEPHYR_LOG_LEVEL=your-value -- npx -y zephyr-scale-mcp

Completa los valores vacíos antes de ejecutarlo.

Abrir en Cursor

O copia la configuración tú

Pégalo en .cursor/mcp.json de tu proyecto, o en ~/.cursor/mcp.json

{
  "mcpServers": {
    "zephyr-scale": {
      "command": "npx",
      "args": [
        "-y",
        "zephyr-scale-mcp"
      ],
      "env": {
        "JIRA_BASE_URL": "your-value",
        "JIRA_PAT": "your-value",
        "JIRA_AUTH": "your-value",
        "JIRA_USERNAME": "your-value",
        "JIRA_PASSWORD": "your-value",
        "ZEPHYR_DEFAULT_PROJECT_KEY": "your-value",
        "ZEPHYR_ALLOW_INTERNAL_API": "your-value",
        "ZEPHYR_READONLY": "your-value",
        "JIRA_TLS_REJECT_UNAUTHORIZED": "your-value",
        "JIRA_TIMEOUT_MS": "your-value",
        "JIRA_MAX_RETRIES": "your-value",
        "ZEPHYR_LOG_LEVEL": "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ú.

Abrir en VS Code

O copia la configuración tú

Pégalo en .vscode/mcp.json de tu proyecto

{
  "servers": {
    "zephyr-scale": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "zephyr-scale-mcp"
      ],
      "env": {
        "JIRA_BASE_URL": "your-value",
        "JIRA_PAT": "your-value",
        "JIRA_AUTH": "your-value",
        "JIRA_USERNAME": "your-value",
        "JIRA_PASSWORD": "your-value",
        "ZEPHYR_DEFAULT_PROJECT_KEY": "your-value",
        "ZEPHYR_ALLOW_INTERNAL_API": "your-value",
        "ZEPHYR_READONLY": "your-value",
        "JIRA_TLS_REJECT_UNAUTHORIZED": "your-value",
        "JIRA_TIMEOUT_MS": "your-value",
        "JIRA_MAX_RETRIES": "your-value",
        "ZEPHYR_LOG_LEVEL": "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.

Valores que debes completar

  • JIRA_BASE_URL obligatorio env
    Jira base URL without a trailing slash, e.g. https://jira.example.com
  • JIRA_PAT secreto env
    Jira Data Center Personal Access Token (used when JIRA_AUTH=pat, the default)
  • JIRA_AUTH env
    Authentication mode: pat (default) or basic
  • JIRA_USERNAME env
    Username for JIRA_AUTH=basic
  • JIRA_PASSWORD secreto env
    Password for JIRA_AUTH=basic
  • ZEPHYR_DEFAULT_PROJECT_KEY env
    Project key used when a tool is called without projectKey
  • ZEPHYR_ALLOW_INTERNAL_API env
    true registers 11 UNOFFICIAL tools backed by the internal /rest/tests/1.0 API the vendor does not support: editing a test cycle in place (rename/move, add/remove/reorder its cases), editing or DELETI…
  • ZEPHYR_READONLY env
    true disables all write tools
  • JIRA_TLS_REJECT_UNAUTHORIZED env
    false allows self-signed certificates (disables TLS verification)
  • JIRA_TIMEOUT_MS env
    Timeout of a single HTTP request in milliseconds (default 30000)
  • JIRA_MAX_RETRIES env
    Retries for GET requests and for 429/503 responses, honoring Retry-After (default 2)
  • ZEPHYR_LOG_LEVEL env
    Log verbosity: debug | info | warn | error (default info; all logs go to stderr)

Esta configuración se genera a partir de la ficha del creador en el registro. Si el README dice otra cosa, sigue el README.

Qué puede hacer

Se ejecuta en tu computadora; la lista de herramientas aparece en tu app de IA después de instalarlo.

Revisiones básicasi

Revisamos información que cualquiera puede ver; no hemos leído el código. Las revisiones que no aplican no se cuentan. · Revisado el 8 nov 2026

  • ✓ Superada

    El creador coincide con el repo

    El nombre en el registro se verificó con la cuenta de GitHub vilaabo, dueña del repo

  • … Aún sin revisar

    Sigue en mantenimiento

    Todavía no hemos leído este repo en GitHub

  • … Aún sin revisar

    Tiene licencia

    Todavía no hemos leído este repo en GitHub

  • – No aplica

    El endpoint responde

    Este se ejecuta en tu computadora; no hay endpoint en internet

  • – No aplica

    Inicio de sesión con OAuth

    Se ejecuta en tu computadora y usa ajustes locales en su lugar

  • … Aún sin revisar

    Sin instrucciones ocultas en las descripciones de herramientas

    Se ejecuta en tu computadora; solo podemos leer listas de herramientas de endpoints en internet

Comparado con otros en Herramientas para desarrolladoresi

  • Más estrellas que el 0% de los otros 4917 servidores de esta categoría
  • Publicado en el registro más recientemente que el 30% de los otros 4917 servidores de esta categoría
  • Revisiones básicas iguales o mejores que el 100% de los otros 4917 servidores de esta categoría

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.

Preguntas frecuentes

¿Es seguro Zephyr Scale MCP?

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.

¿Qué claves o códigos necesita?

Debes completar: JIRA_BASE_URL, JIRA_PAT, JIRA_PASSWORD

¿Se ejecuta en mi computadora o en la nube?

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

¿Sigue en mantenimiento?

El repo de GitHub cambió por última vez –, y la última versión (1.0.0) llegó al registro hace 3 meses.

¿Qué apps pueden usarlo?

Las apps compatibles con MCP, como Claude Desktop, Claude Code, Cursor y VS Code. También necesitas Node.js en tu computadora.

¿Qué puedo usar en su lugar?

En la misma categoría: GitHub, Desktop Commander, Cloudflare MCP

Alternativas

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

GitHub

de github

Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.

Computadora o nube★ 34.245MITActualizado hace 4 días
Instalar

Desktop Commander

de wonderwhy-er

MCP server for terminal commands, file operations, and process management

Se ejecuta en tu computadora★ 10.225MITActualizado hace 17 días
Instalar

Cloudflare MCP

de cloudflare

Cloudflare MCP servers

Se ejecuta en la nube★ 4446Apache-2.0Actualizado hace 14 meses
Instalar

README del creador

Abrir el README

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.

zephyr-scale-mcp

MCP server for Zephyr Scale on self-hosted Jira Server / Data Center (formerly TM4J). It gives an AI agent — Claude Code, Claude Desktop, Cursor, any MCP client — 54 tools over your test management: test cases, folders, test cycles, executions, test plans, attachments and automation imports, through the Zephyr Scale REST API v1 at {JIRA_BASE_URL}/rest/atm/1.0.

npm: zephyr-scale-mcp · MCP Registry: io.github.vilaabo/zephyr-scale-mcp · Русская версия →

⚠️ Scope: Server / Data Center only. Zephyr Scale Cloud (API v2) and Zephyr Squad are different APIs and are out of scope — this server will not work against them.

Why this exists

Most Zephyr MCP servers target the Cloud API. If your Jira is on-premise you get the v1 API instead, and v1 has teeth: test runs are immutable after creation, folders cannot be listed, statuses are case-sensitive internal names, BDD scripts reject a Feature: header, and older plugin builds are missing whole endpoints. This server encodes that knowledge instead of leaving the agent to discover it one 400 at a time.

  • 54 tools (42 public + 12 opt-in internal-API tools), each with a description that states the endpoint, the constraints a caller cannot guess, and the exact response shape.
  • Composite tools for the API's blind spots — add_test_steps merges steps by id (read → merge → write) so nothing is silently deleted; recreate_test_run_with_items works around run immutability and can carry the last results over; get_issue_test_coverage, get_test_run_summary, clone_test_case, move_test_cases_to_folder.
  • Degradation on older builds — automatic fallback when the paginated results endpoint is absent, and a per-item fallback when the bulk create endpoint is broken. Both were found on a real legacy instance, not in a changelog.
  • Plumbing that fails loudly — strict zod input validation, Retry-After-aware retries with exponential backoff, error messages carrying actionable hints, read-only mode, secrets kept out of logs and tool output.
  • 1181 unit and contract tests (vitest + msw, no network) plus a gated end-to-end scenario against a real instance.

Quick start

Requirements: Node.js >= 20, Jira Server/DC with the Zephyr Scale plugin, and a Personal Access Token (Jira 8.14+) or a username/password pair.

Nothing to clone — the package is on npm. Claude Code:

claude mcp add zephyr-scale \

--env JIRA_BASE_URL=https://jira.example.com \ --env JIRA_PAT= \ --env ZEPHYR_DEFAULT_PROJECT_KEY=PROJ \ --env ZEPHYR_ALLOW_INTERNAL_API=true \ -- npx -y zephyr-scale-mcp

Claude Desktop / any MCP client (claude_desktop_config.json, .mcp.json):

{

"mcpServers": { "zephyr-scale": { "command": "npx", "args": ["-y", "zephyr-scale-mcp"], "env": { "JIRA_BASE_URL": "https://jira.example.com", "JIRA_PAT": " ", "ZEPHYR_DEFAULT_PROJECT_KEY": "PROJ", "ZEPHYR_ALLOW_INTERNAL_API": "true" } } } }

Running from source instead

git clone https://github.com/vilaabo/zephyr-scale-mcp.git

cd zephyr-scale-mcp npm install npm run build # -> dist/index.js

Then point the client at the build: "command": "node", "args": ["/path/to/zephyr-scale-mcp/dist/index.js"].

`ZEPHYR_ALLOW_INTERNAL_API=true` is optional and recommended. It registers 12 extra tools that reach the things the public API cannot do at all: editing a test run in place — renaming or moving it (update_test_run) and adding or removing cases without changing its key (add_test_cases_to_run, remove_test_cases_from_run) — plus listing the folder tree (get_folder_tree), deleting folders (delete_folder), editing older executions (update_test_result_by_id) and reading the exact status names the API silently expects (get_status_options). These call the same undocumented /rest/tests/1.0 endpoints the Jira UI itself uses; the vendor does not support them and they may differ or be absent on another Zephyr Scale version. Leave the flag off if that trade-off is not acceptable — the other 42 tools are unaffected.

Then ask the agent to run health_check. It verifies connectivity and credentials via GET /rest/api/2/myself and, when ZEPHYR_DEFAULT_PROJECT_KEY is set, that the Zephyr plugin answers on /rest/atm/1.0.

What you can ask your agent to do

  • *"Create the folder /Regression/Payments and add step-by-step test cases for the checkout flow described in this document."*
  • *"Find every Draft case in /Regression, review them, and set the ready ones to Approved."*
  • *"Create a cycle for sprint 42 with all smoke cases, then record the results from this report — step by step where the script has steps."*
  • *"Which test cases cover PROJ-123, and when did each of them last pass?"* — traceability from the issue to its cases and their latest executions.
  • *"Take this ZIP of Cucumber JSON reports and publish it as a new cycle in PROJ."* — automation import; scenarios are matched to BDD cases by their @TestCaseKey=PROJ-T1 tag.
  • *"Add two steps to PROJ-T55 after step 3."* — existing steps and their ids survive.
  • *"Recreate cycle PROJ-R7 with three more cases, keep the results, and delete the original."*

Configuration

VariableRequiredDefaultPurpose
JIRA_BASE_URLyes—Jira base URL without a trailing /, e.g. https://jira.example.com
JIRA_AUTHnopatpat \basic
JIRA_PATwith pat—Jira Server/DC Personal Access Token
JIRA_USERNAME, JIRA_PASSWORDwith basic—Basic-auth credentials
JIRA_TIMEOUT_MSno30000Per-request timeout
JIRA_MAX_RETRIESno2Retries for GET and for any 429/503, honoring Retry-After, otherwise exponential backoff with jitter
JIRA_TLS_REJECT_UNAUTHORIZEDnotruefalse accepts self-signed certificates — this disables TLS verification process-wide and prints a warning to stderr
ZEPHYR_DEFAULT_PROJECT_KEYno—Used whenever a tool is called without projectKey
ZEPHYR_READONLYnofalsetrue makes every write tool refuse with an error; read tools keep working
ZEPHYR_ALLOW_INTERNAL_APInofalsetrue registers the 12 UNOFFICIAL tools backed by the internal /rest/tests/1.0 API
ZEPHYR_LOG_LEVELnoinfodebug \info \warn \error

Two guarantees the tests cover: JIRA_PAT and JIRA_PASSWORD never appear in logs, tool output or error messages — in any encoding they can take on the way out: raw, JSON-escaped, or the base64 basic-auth token (error text carries the method and path only — never the query string, which may contain data) — and stdout is reserved for the MCP protocol, every log line goes to stderr. One deliberate exception: a secret shorter than six characters is left alone, because redacting it would corrupt unrelated output while protecting nothing; the server warns about it at startup.

Configuration is validated at startup: all problems are reported at once and the process exits with a non-zero code rather than starting half-configured.

Tools

54 tools. The 42 public ones are always registered; the 12 in the last group only with ZEPHYR_ALLOW_INTERNAL_API=true.

Test cases — 13 tools

ToolWhat it does
create_test_caseCreate a case with a STEP_BY_STEP / PLAIN_TEXT / BDD script, parameters, custom fields, Call-to-Test steps
get_test_caseRead a case, optionally narrowed by fields; step ids come back here
search_test_casesTQL search with pagination; a query longer than 1500 characters is sent as POST /testcase/search (which supports only projectKey, key, name)
update_test_casePartial update; testScript.steps is synchronized by id (see limitation 7)
add_test_stepsInsert steps at a position without losing the existing ones — read, merge by id, write back
set_test_scriptReplace the whole script or change its format; destructive by design
clone_test_caseCopy a case inside its project with fresh step ids; links, attachments and history are not copied
move_test_cases_to_folderBulk-move by explicit keys or by source folder; a failing case does not abort the rest
delete_test_casePermanent delete of the case, its script and its history
create_test_cases_bulkCreate many cases in one call, with a per-case fallback on broken bulk endpoints
link_issues_to_test_casesBulk-link cases to Jira issues (additive)
get_test_cases_linked_to_issueReverse lookup: issue → cases
get_issue_test_coverageTraceability report: issue → linked cases → latest execution of each

Test cycles (test runs) — 7 tools

ToolWhat it does
create_test_runCreate a cycle with its complete item list — optionally with each item's execution result in the same call
get_test_runRead a cycle including its items
search_test_runsTQL search — for runs only projectKey and folder are searchable
delete_test_runPermanent delete of the cycle and all its results
get_test_run_resultsPage through the executions of a cycle, with the legacy flat-endpoint fallback
get_test_run_summaryLast execution per item: byStatus counts verbatim, executionProgressPct, passRatePct when a literal Pass status exists
recreate_test_run_with_itemsThe public workaround for run immutability: rebuild under a new key with cases added or removed, optionally carrying the last results over and deleting the original

Executions (test results) — 4 tools

ToolWhat it does
create_test_resultAppend a new execution to a run item, including per-step scriptResults
update_last_test_resultPartial update of the most recent execution of an item
create_test_results_bulkMany executions for one cycle in a single call
get_latest_result_for_test_caseThe execution of a case with the greatest stored execution date, across all cycles — not necessarily the one recorded last

Items that exist several times in a run (per environment or per assignee) are disambiguated with matchEnvironment / matchUserKey, sent as query parameters.

Test plans — 5 tools

ToolWhat it does
create_test_planCreate a plan; returns { key }, e.g. PROJ-P123
get_test_planRead a plan with its linked runs and issues
update_test_planPartial update
delete_test_planPermanent delete
search_test_plansTQL search; the searchable field set varies by Zephyr Scale version

Folders — 2 tools

ToolWhat it does
create_folderCreate a case / plan / cycle folder from a full path; with recursive (default true) a 400 on the full path triggers creating each parent prefix and one retry — 403, 409 and 5xx propagate untouched
rename_folderRename one folder segment by its numeric id (and optionally set its custom fields)

Attachments</b

Solo se muestra el principio; lee el resto en el repo

Pregunta a PopNx