Zephyr Scale MCP Server
Summary: Zephyr Scale MCP Server is a Model Context Protocol server that provides unified access to Zephyr Scale test management for both Jira Cloud and Data Center, enabling creation, management, and automation of test cases, test runs, folders, executions, and issue links through MCP tools and resources.
Jira Cloud & Data Center Support: Automatically detects API version (v2 for Cloud, v1 for Data Center) based on ZEPHYR_BASE_URL, with optional JIRA_TYPE override.
Test Case Management: Create, read, update (including BDD content conversion), and delete test cases (delete is Data Center only).
Flexible Test Script Types: Supports STEP_BY_STEP, PLAIN_TEXT, and BDD (Gherkin) formats in a single
create_test_casetool.Folder Management: Create and retrieve folder hierarchies with support for full paths and subtree listing.
Test Run & Execution Management: Create, update, delete (DC only), get, and search test runs; list executions by cycle; add test cases to runs (Cloud only).
Issue Linking: Link Jira issues to test cases and test cycles; on Cloud resolves keys to numeric IDs via Jira REST API (requires JIRA_USERNAME + JIRA_API_TOKEN).
Resource System: Access live test case templates via
zephyr://testcase/KEY, local files viafile://, and example payloads viazephyr://examples.Filtering & Search: Search test cases by folder and test runs by query, folder ID, folder path, or project key.
Custom Fields & Parameters: Supports custom fields, variables, data sets, estimated time, and owner/priority/status fields on test cases.
Configuration Options: Requires ZEPHYR_API_KEY; optional JIRA_USERNAME/JIRA_API_TOKEN for Cloud issue linking; environment-based setup for npx or global npm install.
Allows managing Zephyr Scale test cases within Jira Cloud and Data Center instances, including creating, reading, deleting test cases, managing test runs and executions, and searching test folders.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Zephyr Scale MCP Server Create a BDD test case for login page"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Zephyr Scale MCP Server
Model Context Protocol server for Zephyr Scale test management, supporting both Jira Cloud and Data Center. Create, read, and manage test cases through the Atlassian REST API with official API-compliant schemas. Access live test case data, example payloads, and file resources through a unified resource system.
Features
✅ Jira Cloud & Data Center Support: Seamlessly connects to both Jira Cloud (using API v2) and self-hosted Data Center instances (using API v1) with automatic configuration detection.
✅ Official API-Compliant Schemas: Tools and data structures match the official Zephyr Scale REST API, ensuring compatibility and reliability.
✅ Unified Test Case Creation: A single
create_test_casetool handles all script types (BDD, Step-by-Step, Plain Text) for a simplified workflow.✅ Full Test Lifecycle Management: Comprehensive tools to create, read, delete test cases, and manage test runs, executions, and folders.
✅ Execution Reporting & Jira Integration (Cloud): Report execution results (Pass/Fail/Blocked), attach bugs as Jira issue links, and discover the Zephyr test cycle linked to any Jira story or epic — bridging a Jira ticket straight to its executions.
✅ Live Templating System: Use real test cases from your Zephyr instance as templates (
zephyr://testcase/KEY) to ensure consistency and correct project-specific fields.✅ Unified Resource System: Access live Zephyr data, local files (
file://), and built-in examples through a consistent URI-based system.
Related MCP server: Zephyr Scale MCP Server
Installation and Configuration
You can run the server using npx without installation, or install it globally from npm.
Using npx (Recommended)
Configure your MCP client with the following structure.
Jira Cloud:
{
"mcpServers": {
"zephyr-server": {
"command": "npx",
"args": ["zephyr-scale-mcp-server@latest"],
"env": {
"ZEPHYR_BASE_URL": "https://your-company.atlassian.net",
"ZEPHYR_API_KEY": "your-zephyr-api-key",
"JIRA_USERNAME": "your-email@company.com",
"JIRA_API_TOKEN": "your-jira-api-token"
}
}
}
}Note:
JIRA_USERNAMEandJIRA_API_TOKENare optional but required if you want to use theissue_linksfield when creating test cases. Without them, issue linking will fail with a 401 warning (the test case is still created). Generate a Jira API token at id.atlassian.com/manage-profile/security/api-tokens.
Jira Cloud (EU region):
{
"mcpServers": {
"zephyr-server": {
"command": "npx",
"args": ["zephyr-scale-mcp-server@latest"],
"env": {
"ZEPHYR_BASE_URL": "https://your-company.atlassian.net",
"ZEPHYR_API_KEY": "your-zephyr-api-key",
"JIRA_USERNAME": "your-email@company.com",
"JIRA_API_TOKEN": "your-jira-api-token",
"ZEPHYR_API_BASE_URL": "https://eu.api.zephyrscale.smartbear.com/v2"
}
}
}
}Jira Data Center:
{
"mcpServers": {
"zephyr-server": {
"command": "npx",
"args": ["zephyr-scale-mcp-server@latest"],
"env": {
"ZEPHYR_BASE_URL": "https://your-jira-server.com",
"ZEPHYR_API_KEY": "your-api-token"
}
}
}
}Using global npm installation
First install the package globally:
npm install -g zephyr-scale-mcp-serverThen, update the command in your MCP configuration to "command": "zephyr-scale-mcp".
Core Concepts
Unified API
The latest version features a unified create_test_case tool that supports all test script types (STEP_BY_STEP, PLAIN_TEXT, and BDD) through a single, consistent interface. This matches the official Zephyr Scale REST API v1 structure exactly, simplifying the test creation process.
Jira Cloud vs. Data Center
The server automatically detects your Jira environment and uses the appropriate API version:
Jira Cloud: Uses Zephyr Scale API v2.
Jira Data Center: Uses Zephyr Scale API v1.
Some tools are platform-specific. For example, add_test_cases_to_run is only available on Cloud, as the Data Center API (v1) does not support modifying test runs after creation.
Resource System
The server provides access to various resources through URI schemes:
zephyr://testcase/YOUR-TEST-CASE-KEY: Fetch real test case data from your Zephyr instance to use as templates.file:///absolute/path/to/your/file.json: Read user-provided files.zephyr://examples/...: Access built-in example payloads.
Tools Reference
Test Case Management
get_test_case: Get detailed information about a specific test case.create_test_case: Create test cases with STEP_BY_STEP, PLAIN_TEXT, or BDD content.delete_test_case: Delete a specific test case.update_test_case_bdd: Update an existing test case with BDD content (optionally update the test case name).
Test Run Management
create_test_run: Create a new test run.get_test_run: Get detailed information about a specific test run, including resolved status name.update_test_run: Update an existing test cycle — set owner, name, description, dates, or status. (Cloud only)get_test_run_cases: Get test case keys from a test run.add_test_cases_to_run: Add test cases to an existing test run. (Cloud only)
Test Execution & Search
get_test_execution: Get detailed individual test execution results.list_executions_by_cycle: List all test executions for a specific test cycle with status, executor, and date. (Cloud only)update_test_execution: Update a test case execution's status within a cycle (Pass/Fail/etc.), add a comment, and attach bug(s) as Jira issue links. Identify the execution byexecution_id, or bytest_cycle_key+test_case_key. (Cloud only)search_test_cases_by_folder: Search for test cases in a specific folder. Automatically paginates through all results.search_test_runs: Search for test runs by project key and/or folder path.get_test_cycles_for_issue: Get the Zephyr test cycles linked to a Jira issue (story/epic). Resolves each cycle ID to its key (e.g.PROJ-R123) and name so you can feed it straight intolist_executions_by_cycle/update_test_execution. (Cloud only)
Organization
create_folder: Create a new folder in Zephyr Scale.get_folders: List folders, optionally filtered by project, type, and path. Whenfolder_pathis given, returns the matching folder and its full subtree at every depth.
Usage Examples
Create a BDD Test Case with Issue Links
{
"project_key": "PROJ",
"name": "User Authentication",
"test_script": {
"type": "BDD",
"text": "Given a user with valid credentials\nWhen the user attempts to log in\nThen the user should be authenticated successfully"
},
"issue_links": ["PROJ-123", "PROJ-456"]
}Note: issue_links requires JIRA_USERNAME and JIRA_API_TOKEN to be set (Cloud only). Link failures are reported as warnings — the test case is still created.
Use a Live Test Case as a Template
Fetch an existing test case:
zephyr://testcase/PROJ-T123Copy its structure (especially
customFieldsandfolder).Create a new test case using the same project-specific configuration.
Create a Test Run
{
"project_key": "PROJ",
"name": "Sprint 1 Test Run",
"test_case_keys": ["PROJ-T123", "PROJ-T124", "PROJ-T125"]
}Update an Existing BDD Test Case
{
"test_case_key": "PROJ-T123",
"name": "Ensure the axial-flow pump is enabled",
"bdd_content": "Feature: Pump Enablement\n\nScenario: Enable the pump\n Given the system is powered on\n When the operator enables the axial-flow pump\n Then the pump should report as enabled"
}Note: The server will convert markdown-style BDD into Gherkin when possible and will preserve all other existing test case fields.
Mark an Execution as Failed and Attach a Bug
{
"test_cycle_key": "PROJ-R123",
"test_case_key": "PROJ-T456",
"status": "Fail",
"comment": "Login button unresponsive on submit.",
"bug_keys": ["PROJ-789"]
}Or target an execution directly by key:
{
"execution_id": "PROJ-E123",
"status": "Pass"
}Note: update_test_execution is Cloud only. bug_keys requires JIRA_USERNAME and JIRA_API_TOKEN; link failures are reported as warnings while the status update still succeeds.
Find the Test Cycle Linked to a Jira Ticket
{
"issue_key": "PROJ-6752"
}Returns the linked cycles with resolved keys, e.g. [{ "id": "110702963", "key": "PROJ-R467", "name": "..." }]. This is the bridge from a Jira ticket to its Zephyr cycle — the association is stored on the Zephyr side, not in Jira's issue fields. Chain it: get_test_cycles_for_issue → list_executions_by_cycle → update_test_execution. Pass "resolve_keys": false to skip the per-cycle key/name lookup and return raw IDs only. Cloud only.
Authentication
Jira Cloud Configuration
Variable | Required | Description |
| ✅ | Your Jira Cloud URL, e.g. |
| ✅ | Zephyr Scale API key (JWT). Generate in Jira: profile picture (bottom left) → Zephyr API keys |
| ⚠️ Optional* | Your Jira account email address |
| ⚠️ Optional* | Jira API token. Generate at id.atlassian.com/manage-profile/security/api-tokens |
| Optional | Override the Zephyr API base URL (e.g. for EU: |
| Optional | Force |
*
JIRA_USERNAME+JIRA_API_TOKEN: Required only for theissue_linksfeature on Cloud. The Zephyr API key cannot authenticate against the Jira REST API, so a separate Jira credential is needed to resolve issue keys to numeric IDs. Without these,issue_linkswill fail with a 401 warning — the test case is still created successfully.
Jira Data Center Configuration
Variable | Required | Description |
| ✅ | Your Jira server URL, e.g. |
| ✅ | Zephyr Scale API token from your Jira profile settings |
| Optional | Set to |
Automatic Detection
The server automatically detects your Jira type based on ZEPHYR_BASE_URL — URLs containing .atlassian.net are treated as Cloud, everything else as Data Center. Override with JIRA_TYPE="cloud" or JIRA_TYPE="datacenter".
License
MIT
Available Tools
16 toolsadd_test_cases_to_runA
Add test cases to an existing test run (Cloud only — not supported on Data Center)
Inputs: test_run_key (required), test_case_keys (required).
create_folderA
Create a new folder in Zephyr Scale. On Cloud: provide a path like "/Parent/Child" — the server resolves parent segments and creates the leaf folder. On Data Center: the full path is sent directly.
Inputs: name (required), project_key (required), folder_type.
create_test_caseB
Create a new test case with STEP_BY_STEP, PLAIN_TEXT, or BDD content. To match your project's structure, use the zephyr://testcase/EXISTING-KEY resource to fetch a real test case and use its structure as a template, especially for custom_fields.
Inputs: name (required), project_key (required), folder, labels, +11 more.
create_test_runC
Create a new test run
Inputs: name (required), project_key (required), owner, folder, +10 more.
delete_test_caseA
Delete a specific test case (Data Center only — not supported on Cloud v2)
Inputs: test_case_key (required).
delete_test_runA
Delete a specific test run (Data Center only — not supported on Cloud v2)
Inputs: test_run_key (required).
get_foldersA
Get folders from Zephyr Scale. All parameters are optional. If folder_path is provided, returns the full subtree (the folder and all its descendants at every depth) under that path. Otherwise returns all folders matching the filters.
Inputs: folder_path, folder_type, max_results, project_key.
get_test_caseB
Get detailed information about a specific test case
Inputs: test_case_key (required).
get_test_executionA
Get detailed information about a specific test execution by ID or key. On Cloud, provide the execution ID or key (e.g., PROJ-E123) directly. On Data Center, also provide test_run_keys to search within.
Inputs: execution_id (required), test_run_keys.
get_test_runA
Get detailed information about a specific test run
Inputs: test_run_key (required).
get_test_run_casesC
Get test case keys from a test run
Inputs: test_run_key (required).
list_executions_by_cycleB
List all test executions for a specific test cycle. Returns execution status, executedBy, actualEndDate for each test case in the cycle. Cloud only.
Inputs: project_key (required), test_cycle_key (required), max_results.
search_test_cases_by_folderB
Search for test cases in a specific folder
Inputs: folder_path (required), project_key (required), max_results.
search_test_runsA
Search for test runs using a query. Supports filtering by projectKey and/or folder path. On Cloud, only returns cycles in the exact folder (not sub-folders). Use folder_id for direct numeric ID lookup (skips path resolution).
Inputs: fields, folder, folder_id, max_results, +1 more.
update_test_case_bddA
Update an existing test case with BDD content. Optionally update the test case name. Unspecified fields are preserved.
Inputs: bdd_content (required), test_case_key (required), name.
update_test_runA
Update an existing test cycle — set owner, name, description, dates, or status. Unspecified fields are preserved. Cloud only.
Inputs: test_run_key (required), name, owner, status_id, +3 more.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 16 tools
Each tool targets a distinct resource and action (folders, test cases, test runs, executions). There is no overlap or ambiguity; even similar tools like create_test_case and update_test_case_bdd are clearly differentiated by operation and scope.
All tools follow a consistent verb_noun pattern (e.g., create_test_case, get_test_run, update_test_run). Names are descriptive and predictable, making it easy for an agent to infer functionality.
16 tools is slightly above the typical well-scoped range but still reasonable for a test management server covering folders, test cases, runs, and executions. Each tool appears justified, with no redundant ones.
The surface covers most CRUD operations for test cases and runs, but has notable gaps: update_test_case only supports BDD content (no general update), and some operations are restricted to Cloud or Data Center. Missing delete for test executions is minor.
Maintenance
Related MCP Connectors
MCP server for AI access to SmartBear tools, including BugSnag, Reflect, Swagger, PactFlow, QTM4J.
Free test management over MCP: projects, test cases, plans, runs, environments and tasks.
Official MCP server for Qase — manage test cases, runs, suites, defects via AI tools.
MCP server for AI access to Swagger by SmartBear.
Related MCP Servers
- AlicenseNot gradedqualityFmaintenanceMCP server for Zephyr Scale test management tool, enabling test case, test plan, test cycle, and test execution management.46 npm2MIT
- AlicenseNot gradedqualityDmaintenanceMCP server for Zephyr Scale test management enabling test case, test run, folder, and assignment operations via natural language.2MIT
- AlicenseNot gradedqualityBmaintenanceMCP server for Jira Cloud tailored for ALM projects with Zephyr Scale integration, enabling issue management, sprint tracking, and test step operations.708 npm1MIT
- AlicenseAqualityDmaintenanceAn MCP server that enables AI agents to drive Zephyr for Jira (Server/Data Center) test management via ZAPI. It exposes operations for test cycles, folders, executions, test steps, step results, and ZQL search over stdio for use with any MCP client.401MIT