MCP Zephyr Scale Cloud Server
Enables interaction with Zephyr Scale Cloud test management capabilities within Jira, including test case, cycle, and plan management, and linking to Jira issues.
Click on "Install 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., "@MCP Zephyr Scale Cloud Serverlist all test cases in project PROJ with status 'Ready'"
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.
MCP Zephyr Scale Cloud Server
A Model Context Protocol (MCP) server for Zephyr Scale Cloud, enabling AI assistants to interact with test management capabilities.
Table of Contents
Related MCP server: Xray MCP Server
Features
Currently Implemented:
๐ฉบ API Health Monitoring - Check connectivity and authentication status
โญ Priority Management - Create, read, update priorities across projects
๐ Status Management - Manage test execution statuses with type filtering
๐ Folder Management - Organize test artifacts with hierarchical folder structure
๐งช Test Case Management - Full CRUD operations for test cases with metadata
๐ Test Cycle Management - Full CRUD operations for test cycles with metadata and link management
๐ Test Plan Management - Create and retrieve test plans with unique test cycle linking capability
๐ Test Steps & Scripts - Manage test step definitions and scripts (plain/BDD)
๐ Test Case, Cycle & Plan Links - Link test artifacts to Jira issues, web resources, and other test entities
๐ Advanced Retrieval - Pagination and filtering for test cases, cycles, and plans
๐ Version Management - Test case version history and retrieval
๐ง Production Ready - Server lifespan management and structured logging
๐งช Comprehensive Testing - Unit tests, integration tests, and CI/CD pipeline
๐ Type Safety - Pydantic schema validation for all API operations
Planned Features:
Based on the Zephyr Scale Cloud API documentation, the following major categories are planned for implementation:
๐ Test Execution Management - Create, read, update test executions and results
๐ Environment Management - Test environment configuration and management
๐ฅ Project Management - Project information and configuration
๐ Advanced Link Management - Delete links and enhanced link operations
๐ค Automation Integration - Custom, Cucumber, and JUnit test execution automation
๐ Issue Link Coverage - Comprehensive Jira issue link coverage tracking
Installation
Install using pipx (Recommended)
The safest and cleanest way to install MCP servers is using pipx, which isolates packages in their own virtual environments.
Install pipx first:
macOS (Homebrew):
brew install pipxWindows:
# Using pip
python -m pip install --user pipx
# Or using scoop
scoop install pipxLinux (Ubuntu/Debian):
# Using apt
sudo apt update && sudo apt install pipx
# Or using pip
python3 -m pip install --user pipxInstall the MCP server:
pipx install mcp-zephyr-scale-cloudAlternative: Install using Poetry
If you're using Poetry for dependency management in your project:
# Add to your project
poetry add mcp-zephyr-scale-cloud
# Or install globally in a new environment
poetry new mcp-zephyr-project
cd mcp-zephyr-project
poetry add mcp-zephyr-scale-cloud
poetry shellVerify Installation
After installation, verify it works:
python -c "import mcp_zephyr_scale_cloud; print('โ
Successfully installed!')"Integration with Cursor
After installing the package, add the following to your Cursor configuration:
{
"mcpServers": {
"zephyr-scale-cloud": {
"command": "mcp-zephyr-scale-cloud",
"env": {
"ZEPHYR_SCALE_API_TOKEN": "your-zephyr-api-token",
"ZEPHYR_SCALE_BASE_URL": "https://api.zephyrscale.smartbear.com/v2",
"ZEPHYR_SCALE_DEFAULT_PROJECT_KEY": "YOURPROJ"
}
}
}
}Configuration Options:
ZEPHYR_SCALE_API_TOKEN: Your Zephyr Scale API token (required)
ZEPHYR_SCALE_BASE_URL: API base URL (optional, defaults to
https://api.zephyrscale.smartbear.com/v2)ZEPHYR_SCALE_DEFAULT_PROJECT_KEY: Default project key for tools that support it (optional)
Environment Variable Fallback
Many tools now support automatic project key resolution. If you have access to multiple projects, you can set ZEPHYR_SCALE_DEFAULT_PROJECT_KEY to avoid specifying the project key in every tool call. Tools like get_test_cases, get_folders, and others will automatically use this default when no explicit project key is provided.
Getting Zephyr API Token:
In JIRA, go to Apps โ Zephyr Scale โ API Access Tokens
Click Create access token
Copy the generated token and use it as your
ZEPHYR_SCALE_API_TOKEN
For detailed instructions, see: API Access Tokens Management
About Zephyr Scale Cloud API
This package interfaces with the Zephyr Scale Cloud REST API, which provides comprehensive test management capabilities within Jira. The API allows you to:
Import and manage test data from any framework or tool
Store test execution results from automated testing
Integrate with CI/CD pipelines for seamless test reporting
Access test cases, cycles, plans, and execution data
Key API Information:
Base URL:
https://api.zephyrscale.smartbear.com/v2/Authentication: JWT Bearer token
Protocol: HTTP-based REST API
Supported operations: GET, POST, PUT requests for data retrieval and submission
The MCP Zephyr Scale Cloud package provides 38 tools that wrap these API endpoints, making them easily accessible through AI assistants and automation workflows.
API Resources:
Development
Clone the repository:
git clone https://github.com/basterboy/mcp-zephyr-scale-cloud.git
cd mcp-zephyr-scale-cloudInstall dependencies:
poetry install --with devRun tests:
# Run all tests
make test
# Or specific test types
make test-unit # Unit tests only
make test-integration # Integration tests only
make test-fast # Fast tests (no coverage)
make test-coverage # Tests with detailed coverage
# Or use Poetry directly
poetry run pytestRun code quality checks:
# Run all quality checks
make lint
# Or individual tools
poetry run black . # Code formatting
poetry run isort . # Import sorting
poetry run ruff check . # Linting
poetry run mypy src/ # Type checkingAuto-fix code issues:
make format # Fix formatting and importsRecent Improvements
Major Updates:
Test Case Management: Full CRUD operations for test cases with advanced metadata support
Performance Optimization: Added comprehensive pagination guidance with max_results=1000 recommendations
Link Management: Test case linking to Jira issues and web resources
Version Control: Test case version history and retrieval capabilities
Environment Integration: Automatic project key resolution from environment variables
Enhanced Error Handling: Improved validation and user-friendly error messages
Technical Improvements:
Schema Simplification: Streamlined update operations using Pydantic model_dump()
Validation Enhancement: Comprehensive input validation with helpful error guidance
Code Quality: Extensive refactoring for maintainability and performance
Test Coverage: Expanded test suite covering all new functionality
Architecture
This project implements an MCP Server that connects AI assistants to Zephyr Scale Cloud:

AI Assistant (Claude)
โ (MCP Protocol)
MCP Server (server.py)
โ (HTTP Requests)
Zephyr Scale Cloud APIProject Structure
src/mcp_zephyr_scale_cloud/
โโโ server.py # MCP Server - exposes tools to AI assistants
โโโ config.py # Configuration management
โโโ schemas/ # Pydantic schemas for data validation
โ โโโ __init__.py
โ โโโ base.py # Base schemas and common types
โ โโโ common.py # Shared entity schemas
โ โโโ priority.py # Priority-specific schemas
โ โโโ status.py # Status-specific schemas
โ โโโ folder.py # Folder-specific schemas
โ โโโ test_case.py # Test case schemas with pagination support
โ โโโ test_script.py # Test script schemas
โ โโโ test_step.py # Test step schemas
โ โโโ version.py # Version-specific schemas
โโโ utils/ # Utility functions
โ โโโ __init__.py
โ โโโ validation.py # Input validation utilities
โโโ clients/
โโโ __init__.py
โโโ zephyr_client.py # Schema-based HTTP ClientKey Concepts
MCP Server (
server.py): Handles the Model Context Protocol, exposes tools/resources to AI assistants with advanced lifespan managementHTTP Client (
clients/zephyr_client.py): Schema-based client making type-safe REST API calls to Zephyr Scale CloudPydantic Schemas (
schemas/): Data validation and serialization using Pydantic modelsValidation Utils (
utils/validation.py): Input validation with comprehensive error handlingConfiguration (
config.py): Manages API tokens and settingsServer Lifespan: Startup validation, API connectivity testing, and graceful shutdown management
Advanced Features
Server Lifespan Management
This MCP server implements advanced server lifespan management for robust production deployment:
Startup Validation: Validates configuration and tests API connectivity before accepting requests
Fast Failure: Reports configuration errors immediately on startup
Health Monitoring: Automatically tests Zephyr Scale API accessibility during initialization
Graceful Shutdown: Properly cleans up resources when the server stops
Structured Logging: Uses Python's logging module with proper log levels for production environments
Benefits:
๐ง Better Developer Experience: Clear error messages if API token is missing
๐จ Production Ready: Fails fast instead of silently accepting broken configurations
๐ Monitoring: Easy to detect configuration and connectivity issues
๐งน Resource Management: Proper cleanup prevents resource leaks
Testing
This project includes comprehensive testing to ensure reliability:
Test Structure
tests/
โโโ test_basic.py # Basic functionality tests
โโโ unit/ # Unit tests for individual components
โ โโโ test_config.py # Configuration tests
โ โโโ test_schemas.py # Pydantic schema tests
โ โโโ test_validation.py # Validation utility tests
โ โโโ test_zephyr_client.py # HTTP client tests
โโโ integration/ # Integration tests
โ โโโ test_mcp_server.py # MCP server integration tests
โโโ conftest.py # Shared test fixturesRunning Tests
# Quick test run
make test-fast
# Full test suite with coverage
make test
# Continuous testing during development
poetry run pytest tests/ --tb=short -x
# Test specific functionality
poetry run pytest tests/test_basic.py -vTest Coverage
Unit Tests: Test individual components in isolation
Integration Tests: Test MCP server functionality end-to-end
Schema Tests: Validate Pydantic models and API contracts
Validation Tests: Ensure input validation works correctly
CI/CD
Tests run automatically on:
GitHub Actions: On push/PR to main branch
Multiple Python versions: 3.10, 3.11, 3.12
Code quality checks: Formatting, linting, type checking
MCP Tools
This server provides 32 MCP tools for Zephyr Scale Cloud integration:
Category | Tools | Description |
Health | 1 tool | API connectivity and authentication |
Priorities | 4 tools | Full CRUD operations for priority management |
Statuses | 4 tools | Full CRUD operations for status management |
Folders | 3 tools | Folder management and organization |
Test Steps | 2 tools | Test step retrieval and creation |
Test Scripts | 2 tools | Test script retrieval and creation |
Test Cases | 7 tools | Complete test case management suite |
Test Case Links | 2 tools | Link management for test cases |
Test Cycles | 5 tools | Full CRUD operations for test cycle management |
Test Cycle Links | 2 tools | Link management for test cycles |
Test Plans | 3 tools | Test plan creation and retrieval |
Test Plan Links | 3 tools | Link management including unique test cycle links |
Total | 38 tools | Production-ready MCP server |
Currently Available:
Health & Connectivity
healthcheck- Check Zephyr Scale Cloud API connectivity and authentication status
Priority Management
get_priorities- Get all priorities with optional project filteringget_priority- Get details of a specific priority by IDcreate_priority- Create a new priority in a projectupdate_priority- Update an existing priority
Status Management
get_statuses- Get all statuses with optional project and type filteringget_status- Get details of a specific status by IDcreate_status- Create a new status in a projectupdate_status- Update an existing status
Folder Management
get_folders- Get all folders with optional project and type filteringget_folder- Get details of a specific folder by IDcreate_folder- Create a new folder in a project
Test Step Management
get_test_steps- Retrieve test steps for a specific test case with pagination supportcreate_test_steps- Create test steps for a test case with APPEND/OVERWRITE modes
Test Script Management
get_test_script- Retrieve test script for a specific test casecreate_test_script- Create or update test script with plain text or BDD format
Test Case Management
get_test_case- Get detailed test case information including metadata, status, priority, and contentget_test_cases- Retrieve test cases with advanced offset-based pagination and filteringcreate_test_case- Create new test cases with comprehensive metadata supportupdate_test_case- Update existing test cases with validation and error handlingget_test_case_versions- Retrieve version history for test casesget_test_case_version- Get specific version of a test caseget_links- Get all links (issues + web links) associated with a test case
Test Case Links
create_issue_link- Link test cases to Jira issues for traceabilitycreate_web_link- Add web links to test cases for documentation
Test Cycle Management
get_test_cycles- Retrieve test cycles with advanced offset-based pagination and filteringget_test_cycle- Get detailed test cycle information including metadata, dates, and linkscreate_test_cycle- Create new test cycles with comprehensive metadata supportupdate_test_cycle- Update existing test cycles with validation and error handlingget_test_cycle_links- Get all links (issues + web links) associated with a test cycle
Test Cycle Links
create_test_cycle_issue_link- Link test cycles to Jira issues for traceabilitycreate_test_cycle_web_link- Add web links to test cycles for documentation
Test Plan Management
get_test_plans- Retrieve test plans with offset-based paginationget_test_plan- Get detailed test plan information including all associated linkscreate_test_plan- Create new test plans with metadata and organizational support
Test Plan Links
create_test_plan_issue_link- Link test plans to Jira issues for traceabilitycreate_test_plan_web_link- Add web links to test plans (description required)create_test_plan_test_cycle_link- Link test plans to test cycles (unique bidirectional feature)
Usage Guides
Status Operations Guide
Status operations allow you to manage test execution statuses in Zephyr Scale Cloud. Each status can be associated with different entity types:
Status Types:
TEST_CASE- For test case statusesTEST_PLAN- For test plan statusesTEST_CYCLE- For test cycle statusesTEST_EXECUTION- For test execution statuses
Example Usage:
# Get all statuses for a specific project and type
statuses = await get_statuses(
project_key="MYPROJ",
status_type="TEST_EXECUTION",
max_results=100
)
# Create a new test execution status
new_status = await create_status(
project_key="MYPROJ",
name="In Review",
status_type="TEST_EXECUTION",
description="Test is under review",
color="#FFA500"
)
# Update an existing status
updated = await update_status(
status_id=123,
project_id=456,
name="Reviewed",
index=5,
description="Test has been reviewed and approved"
)Status Properties:
Name: Human-readable status name (max 255 chars)
Type: One of the four status types listed above
Description: Optional detailed description (max 255 chars)
Color: Optional hex color code (e.g., '#FF0000')
Index: Position/order in status lists
Default: Whether this is the default status for the type
Archived: Whether the status is archived
Folder Operations Guide
Folder operations allow you to organize and manage test artifacts in Zephyr Scale Cloud. Folders provide hierarchical structure for test cases, test plans, and test cycles.
Folder Types:
TEST_CASE- For organizing test casesTEST_PLAN- For organizing test plansTEST_CYCLE- For organizing test cycles
Example Usage:
# Get all folders for a specific project and type
folders = await get_folders(
project_key="MYPROJ",
folder_type="TEST_CASE",
max_results=100
)
# Create a new root folder
root_folder = await create_folder(
name="Smoke Tests",
project_key="MYPROJ",
folder_type="TEST_CASE"
# parent_id is None for root folders
)
# Create a child folder
child_folder = await create_folder(
name="Login Tests",
project_key="MYPROJ",
folder_type="TEST_CASE",
parent_id=123 # ID of the parent folder
)
# Get details of a specific folder
folder_details = await get_folder(folder_id=456)Folder Properties:
Name: Human-readable folder name (1-255 chars)
Type: One of the three folder types listed above
Project Key: Jira project key where the folder belongs
Parent ID: ID of parent folder (null for root folders)
Index: Position/order within the parent folder
ID: Unique identifier assigned by Zephyr Scale
Folder Hierarchy:
Folders can be nested to create hierarchical organization
Root folders have
parent_id = nullChild folders reference their parent via
parent_idEach folder type maintains its own hierarchy within a project
Test Case Management Guide
The test case management tools provide comprehensive CRUD operations for managing test cases in Zephyr Scale Cloud.
Key Features:
Full CRUD Operations: Create, read, update, and retrieve test cases
Advanced Pagination: Efficient offset-based pagination with performance optimizations
Version Management: Access to test case version history
Link Management: Connect test cases to Jira issues and web resources
Rich Metadata: Support for priorities, statuses, folders, components, and custom fields
Environment Integration: Automatic project key resolution from environment variables
Pagination Performance Tips:
Use
max_results=1000for fastest bulk data retrievalFollow offset-based pagination:
start_at = current_start_at + max_resultsEnsure
start_atis a multiple ofmax_results(API requirement)Check
len(values) < max_resultsto detect the last page
Example Usage:
# Get test cases with maximum performance
test_cases = await get_test_cases(
project_key="MYPROJ",
max_results=1000, # Maximum for best performance
start_at=0
)
# Create a comprehensive test case
new_test_case = await create_test_case(
name="Login functionality test",
project_key="MYPROJ",
objective="Verify user can log in successfully",
priority_name="High",
status_name="Draft",
folder_id=123,
labels=["smoke", "authentication"]
)
# Update test case with validation
updated = await update_test_case(
test_case_key="MYPROJ-T123",
name="Updated login test",
priority_id=456,
status_id=789
)
# Link to Jira issue for traceability
link_result = await create_issue_link(
test_case_key="MYPROJ-T123",
issue_id=456789
)Troubleshooting
Installation Issues
pipx not found
Install pipx first using the platform-specific instructions in the Installation section above.
"externally-managed-environment" Error
This error occurs when trying to use pip directly. Solution:
Use pipx instead:
pipx install mcp-zephyr-scale-cloud(recommended)Or use Poetry: Follow the Poetry installation instructions above
"No matching distribution found" Error
Ensure you have Python 3.10 or higher:
python3 --versionUpdate pipx:
pipx upgrade-allTry with explicit Python version:
python3.10 -m pipx install mcp-zephyr-scale-cloud
"command not found: mcp-zephyr-scale-cloud"
With pipx: Check installation with
pipx listPATH issue: Run
pipx ensurepathto add pipx bin directory to PATHWith Poetry: Ensure you're in the Poetry shell with
poetry shell
pipx PATH warnings
If you see warnings about PATH not being set:
# Add pipx to PATH
pipx ensurepath
# Restart your shell or run:
source ~/.bashrc # Linux
source ~/.zshrc # macOS with zshConfiguration Issues
"Configuration Error: Missing API token"
Set environment variable:
export ZEPHYR_SCALE_API_TOKEN="your-token"Or configure in Cursor settings (see Integration section above)
Verify token in JIRA: Apps โ Zephyr Scale โ API Access Tokens
"401 Unauthorized" or "403 Forbidden"
Check your API token is valid and active
Verify project permissions in JIRA
Ensure correct base URL for your region
License
MIT License - see LICENSE file for details.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/basterboy/mcp-zephyr-scale-cloud'
If you have feedback or need assistance with the MCP directory API, please join our Discord server