Zephyr Squad MCP Server
Enables AI-driven management of Zephyr test assets within Jira, including creating test cases, test plans, and test steps, linking tests to Jira issues, retrieving test coverage and execution summaries, and searching Jira issues.
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 Squad MCP ServerCreate a test case for login and link it to Jira issue PROJ-123"
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 Squad MCP Server (FastMCP)
The Zephyr Squad MCP Server is a standalone Model Context Protocol (MCP) server that enables AI-driven management of Zephyr test assets directly from an MCP client (Claude, Devin, Cascade, etc.). It lets you create and manage test cases, test steps, test cycles, and Jira associations using natural language — eliminating manual CSV imports and repetitive clicking through Jira and Zephyr UIs.
It integrates with Jira and Zephyr while maintaining enterprise-grade security through system environment variable / Azure Key Vault authentication and existing Jira authorization controls.
Business Problem
Organizations spend significant time creating and managing test assets across the software development lifecycle. Developers, QA engineers, and product teams often need to create test cases, document test steps, link tests to Jira stories, and organize them into test cycles. These activities are typically performed manually through the Jira and Zephyr UIs, making the process repetitive, time-consuming, and prone to inconsistencies — especially during sprint planning, feature delivery, and release testing.
To address this, this standalone MCP server lets an AI assistant interact directly with Jira and Zephyr through natural language. Instead of navigating multiple screens and manually entering data, you describe what you want in plain English and the assistant performs the required actions.
Typical activities covered:
Creating test cases
Defining test steps
Linking tests to Jira requirements
Organizing tests into execution cycles
Maintaining traceability between stories and tests
Related MCP server: JIRA Zephyr MCP Server
Why Not the Official Atlassian MCP Server?
Reason | Detail |
Cloud-only |
|
Private/on-premise blocked | Our Jira https://jira..com is a self-hosted, on-premise, corporate instance. The cloud MCP endpoint cannot reach it. |
No Zephyr support | Even on Cloud, the Atlassian MCP covers only native Jira/Confluence APIs. Zephyr is a third-party plugin with its own separate REST API that isn't exposed by the Atlassian MCP. |
No Zephyr API access | The Atlassian MCP has no knowledge of Zephyr's test case, test step, test cycle, or execution endpoints. |
Conclusion: The official Atlassian MCP server is structurally incompatible with this setup — both because of on-premise hosting and because Zephyr is outside its scope. Hence, this custom MCP server.
Architecture
┌─────────────────────┐
│ MCP Client │ (Claude Desktop / Cascade / Devin, etc.)
└──────────┬───────────┘
│ MCP tool calls (stdio or streamable-http)
┌──────────▼───────────┐
│ zephyr_mcp_server.py │ FastMCP server — exposes every operation
│ │ as an @mcp.tool(), does logging
└──────────┬───────────┘
│ plain function calls
┌──────────▼───────────┐
│ zephyr_client.py │ The ONLY place that makes HTTP calls.
│ │ Wraps Jira REST API v2 + Zephyr REST API.
│ │ Handles auth, retries, caching.
└──────────┬───────────┘
│ HTTPS + Bearer token
┌──────────▼───────────┐
│ Jira / Zephyr │ Self-hosted Jira instance + Zephyr plugin
└───────────────────────┘zephyr_client.py— HTTP client. Wraps the Jira Core REST API v2 (issue CRUD, search, linking) and the Zephyr test-management REST API (test cases, steps, cycles, executions). Handles session pooling, retry/backoff on 5xx errors, and result caching (permanent ID caches + TTL caches for volatile data).zephyr_mcp_server.py— Thin FastMCP wrapper. Every public function inzephyr_client.pyis exposed as an MCP tool with a docstring the AI client uses to decide when/how to call it. Also handles structured logging tozephyr_mcp.log.
Available Tools
Category | Tool | Description |
Resolution |
| Resolve a Jira project key to its numeric project ID |
| Resolve a Jira issue key to its numeric issue ID | |
| Get the Jira issue type for an issue key | |
Test Cases |
| Create a Zephyr test case (Jira issue of type |
| Create a Zephyr test plan | |
| Discover custom field IDs for Test issues in a project | |
| List Test-type issues in a project | |
| Permanently delete a test case | |
| Create multiple test cases in one call | |
| Report Story/Bug/Task coverage by linked test cases | |
| Fetch test cases linked to a specific Jira issue | |
Test Steps |
| Fetch the test script (Step-by-Step / BDD / Plain) |
| Create or replace a test script | |
Linking & Comments |
| Create a Jira "Tests" link between a Test and a Story/Bug/Epic |
| Add a comment to any Jira issue | |
Test Cycles |
| Fetch test cycles linked to a Jira issue |
| Full details of a test cycle, including execution items | |
| Flag missing attachments / unexecuted / failed / blocked steps | |
Execution |
| Per-test status, executor, and execution date for a cycle |
| Pass/fail/blocked counts and pass % for a cycle | |
Jira Issues |
| Fetch full details of any Jira issue |
| Run any JQL query | |
Reporting |
| Aggregate latest execution status across a project |
Setup
1. Install dependencies
pip install -r requirements.txt2. Configure credentials
Create a config.toml in the project root:
[jira]
base_url = "https://jira.yourcompany.net"
username = "your-jira-username"
[azure]
key_vault_url = "https://your-vault.vault.azure.net"
[defaults]
test_reviewer = "your-jira-username"
folder = "/Regression"
app_mnemonic = "MYAPP"
test_type = "Regression Test"
automation_status = "To Be Automated"Or use environment variables instead (JIRA_BASE_URL, JIRA_USERNAME, JIRA_TOKEN, AZURE_KEY_VAULT_URL).
Authentication: the Jira Personal Access Token is read from Azure Key Vault (secret name JIRA-TOKEN) if key_vault_url is configured, falling back to the JIRA_TOKEN environment variable. Requires az login once on your machine for DefaultAzureCredential to work. base_url must be HTTPS — plain HTTP is rejected to avoid sending the bearer token unencrypted.
3. Register the MCP server
Copy claude_desktop_config.json to %APPDATA%\Claude\claude_desktop_config.json (Windows) or the equivalent config path for your MCP client, replacing <PATH_OF_YOUR_PROJECT> with the absolute path to this project folder. Restart the client and check its MCP server settings to confirm it connected.
4. Run standalone (optional)
python zephyr_mcp_server.py # stdio transport (default, for MCP clients)
python zephyr_mcp_server.py --http # streamable-http transport on port 8000Security Notes
No hardcoded credentials — token resolution goes Key Vault → env var → explicit failure on a placeholder token.
HTTPS enforced for
base_url.Shared
requests.Sessionwith automatic retry/backoff on500/502/503/504.Destructive operations (
delete_test_case) require an explicit, non-empty issue key and are logged.
Known Issues / TODO
get_execution_results/get_cycle_execution_summarysignature currently doesn't match between the client and server layers — needs alignment on whether cycles are scoped bycycle_keyalone or by(cycle_id, project_key, version_id).No automated test suite yet — coverage and audit logic in
zephyr_client.pywould benefit most from unit tests.Confirm
requirements.txtversion floors stay pinned to what's actually available in your environment's package index.
License
Internal tool — no license specified.
This server cannot be deployed
Maintenance
Related MCP Connectors
Direct access to Cypress tests results and accessibility reports in your AI workflow.
Manage test suites, run tests, view results, and automate QA workflows via AI with testRigor.
Katalon True Platform MCP: design tests, run with AI, upload reports, assess release readiness.
Connect to Atlassian Jira, Confluence, Loom, and more to search, create, and manage your work.
Related MCP Servers
- AlicenseBqualityAmaintenanceIntegrates with Zebrunner Test Case Management to help QA teams manage test cases, test suites, and test execution data through AI assistants. Features intelligent validation, automated test code generation, and comprehensive reporting capabilities.4940 npm5AGPL 3.0
- AlicenseAqualityDmaintenanceEnables comprehensive test management with JIRA's Zephyr system, allowing users to create and manage test plans, execute test cycles, track progress, and generate reports through natural language.1325 npm11MIT
- FlicenseNot gradedqualityDmaintenanceEnables comprehensive test management through SmartBear Zephyr Scale's REST API, supporting automated workflows for test cases, cycles, executions, folders, and linking tests to Jira issues through natural language.3-
- FlicenseNot gradedqualityNot gradedmaintenanceIntegrates with the Zephyr Scale test management tool for Jira to fetch and update test case information, including steps, labels, and priorities. It enables users to manage test cases through natural language interactions within Claude Desktop and other MCP clients.0-