プロトタイプ · プレビュー版:公式レジストリのすべてのサーバーを掲載し、30分ごとに同期しています。レビューとアカウント機能は今後のステップで始まります。
PopNx MCPAIを使う人のためのMCPサーバー · やさしい言葉で解説

Zephyr Scale MCP

作者:vilaaboバージョン 1.0.0i★ –iパソコンで動く
レジストリ名io.github.vilaabo/zephyr-scale-mcp

インストール

概要

作者による説明(英語の原文)

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

PopNx MCPの3つの柱

この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。

できること

このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。

  • 接続方法: パソコンで動く
  • トランスポート: stdio
  • カテゴリ: 開発者ツール
  • 入力が必要なもの:JIRA_BASE_URL, JIRA_PAT, JIRA_PASSWORD

インストール

使っているAIアプリを選んで、設定をコピーしてください。

インストールの前に

  • 基本チェック:1項目中1項目に合格
  • あなたのパソコンで、あなたのユーザーと同じ権限(ファイル、ネットワーク、アプリ)で動きます。
  • 自分で入力するもの: 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

「秘密」と表示された値は、あなたのアカウントの鍵です。絶対に人に教えたり、チャットに貼り付けたりしないでください。

必要なもの

  • npmNode.jsのインストール(npxコマンドに必要)

どのアプリを使っていますか?

上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。

Claude Desktop → Settings → Developer → Edit Config を開き、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"
      }
    }
  }
}

ターミナルでこれを実行します

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

動かす前に、空欄の値を入力してください。

Cursorで開く

または、設定を自分でコピーする

プロジェクトの .cursor/mcp.json、または ~/.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"
      }
    }
  }
}

ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。

VS Codeで開く

または、設定を自分でコピーする

プロジェクトの .vscode/mcp.json に貼り付けます

{
  "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"
      }
    }
  }
}

ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。

これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。

選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。

自分で入力する値

  • JIRA_BASE_URL 必須 env
    Jira base URL without a trailing slash, e.g. https://jira.example.com
  • JIRA_PAT 秘密 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 秘密 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)

この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。

できること

パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。

基本チェックi

誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月8日にチェック

  • ✓ 合格

    作者とリポジトリが一致

    レジストリ名は、リポジトリを所有するGitHubアカウント vilaabo で確認済みです

  • … 未チェック

    今もメンテナンスされている

    このリポジトリはまだGitHubから読み取っていません

  • … 未チェック

    ライセンスがある

    このリポジトリはまだGitHubから読み取っていません

  • – 対象外

    エンドポイントが応答する

    これはパソコンで動くため、インターネット上のエンドポイントはありません

  • – 対象外

    OAuthでサインイン

    パソコンで動き、代わりにローカルの設定を使います

  • … 未チェック

    ツールの説明に隠れた指示がない

    パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです

開発者ツールのほかのサーバーとの比較i

  • このカテゴリのほかの4917件のうち0%よりスターが多い
  • このカテゴリのほかの4917件のうち30%より最近レジストリに公開
  • 基本チェックの結果が、このカテゴリのほかの4917件のうち100%と同じかそれ以上

レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。

よくある質問

Zephyr Scale MCPは安全ですか?

当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。

どんなキーやコードが必要ですか?

入力が必要なもの:JIRA_BASE_URL, JIRA_PAT, JIRA_PASSWORD

パソコンで動きますか、それともクラウドですか?

あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。

今もメンテナンスされていますか?

GitHubリポジトリの最終更新は–、最新バージョン(1.0.0)がレジストリに届いたのは3 か月前です。

どのアプリで使えますか?

Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにNode.jsも必要です。

代わりに使えるものは?

同じカテゴリには:GitHub, Desktop Commander, Cloudflare MCP

代わりの候補

同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。

カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i

GitHub

作者:github

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

パソコンでもクラウドでも★ 34,245MIT4 日前更新
インストール

Desktop Commander

作者:wonderwhy-er

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

パソコンで動く★ 10,225MIT17 日前更新
インストール

作者のREADME

READMEを開く

作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。

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

冒頭だけを表示しています。続きはリポジトリで読めます

PopNxに聞く