MCP Zephyr
Enables comprehensive test management in Zephyr Scale Cloud, including creating and managing test cases, executing tests with step-by-step results, organizing test cycles and plans, and performing advanced JQL searches.
README
MCP Zephyr
A Model Context Protocol (MCP) server for Zephyr Scale Cloud test management. This MCP server provides tools to manage test cases, test executions, test cycles, and test plans in Zephyr Scale Cloud.
Features
- Test Case Management: Create, read, update, delete, and search test cases
- Test Execution: Execute tests and track results with detailed step-by-step outcomes
- Test Cycle Management: Organize test cases into cycles and manage execution progress
- Test Plan Management: Create and manage comprehensive test plans
- Bulk Operations: Efficiently handle multiple test executions at once
- Search and Filtering: Use JQL (Jira Query Language) for advanced test case searching
Prerequisites
- Node.js 18+
- Zephyr Scale Cloud account with API access
- Valid Zephyr API token
Installation
- Clone this repository:
git clone <repository-url>
cd mcp-zephyr
- Install dependencies:
npm install
- Build the project:
npm run build
Configuration
Create a .env file based on .env.example:
cp .env.example .env
Edit .env with your Zephyr Scale Cloud credentials:
# Required: Your Zephyr API token
ZEPHYR_API_TOKEN=your_api_token_here
# Optional: Base URL (defaults to official Zephyr Scale Cloud API)
ZEPHYR_BASE_URL=https://api.zephyrscale.smartbear.com/v2
# Optional: Default project key
ZEPHYR_PROJECT_KEY=your_project_key_here
Getting Your API Token
- Log into your Zephyr Scale Cloud instance
- Navigate to Settings > API Tokens
- Generate a new API token with appropriate permissions
- Copy the token and add it to your
.envfile
Usage
Start the MCP Server
npm start
Or for development:
npm run dev
Integration with Claude Desktop
Add this server to your Claude Desktop configuration:
{
"mcpServers": {
"zephyr": {
"command": "node",
"args": ["/path/to/mcp-zephyr/dist/index.js"],
"env": {
"ZEPHYR_API_TOKEN": "your_api_token_here",
"ZEPHYR_BASE_URL": "https://api.zephyrscale.smartbear.com/v2",
"ZEPHYR_PROJECT_KEY": "your_project_key_here"
}
}
}
}
Available Tools
Test Case Management
zephyr_list_test_cases
List test cases in a project.
- Parameters:
projectKey,maxResults,startAt
zephyr_get_test_case
Get a specific test case by key.
- Parameters:
testCaseKey
zephyr_create_test_case
Create a new test case.
- Parameters:
projectKey,name,objective,precondition,status,priority,component,estimatedTime,labels,steps
zephyr_update_test_case
Update an existing test case.
- Parameters:
testCaseKey, plus any fields to update
zephyr_delete_test_case
Delete a test case.
- Parameters:
testCaseKey
zephyr_search_test_cases
Search test cases using JQL.
- Parameters:
jql,maxResults
Test Execution Management
zephyr_list_test_executions
List executions for a test cycle.
- Parameters:
testCycleKey,maxResults
zephyr_get_test_execution
Get a specific test execution.
- Parameters:
executionKey
zephyr_create_test_execution
Create a new test execution.
- Parameters:
testCaseKey,testCycleKey,status,executedBy,actualTime,comment,defects,stepResults
zephyr_update_test_execution
Update an existing test execution.
- Parameters:
executionKey, plus any fields to update
zephyr_bulk_create_test_executions
Create multiple test executions at once.
- Parameters:
executions(array)
zephyr_get_test_case_executions
Get all executions for a test case.
- Parameters:
testCaseKey,maxResults
zephyr_get_test_results
Get test results for a test cycle.
- Parameters:
testCycleKey,maxResults
Test Cycle Management
zephyr_list_test_cycles
List test cycles in a project.
- Parameters:
projectKey,maxResults
zephyr_get_test_cycle
Get a specific test cycle.
- Parameters:
testCycleKey
zephyr_create_test_cycle
Create a new test cycle.
- Parameters:
projectKey,name,description,status,environment,startDate,endDate
zephyr_update_test_cycle
Update an existing test cycle.
- Parameters:
testCycleKey, plus any fields to update
zephyr_add_test_cases_to_cycle
Add test cases to a test cycle.
- Parameters:
testCycleKey,testCaseKeys(array)
zephyr_remove_test_cases_from_cycle
Remove test cases from a test cycle.
- Parameters:
testCycleKey,testCaseKeys(array)
Test Plan Management
zephyr_list_test_plans
List test plans in a project.
- Parameters:
projectKey,maxResults
zephyr_get_test_plan
Get a specific test plan.
- Parameters:
testPlanKey
zephyr_create_test_plan
Create a new test plan.
- Parameters:
projectKey,name,description,status,startDate,endDate
zephyr_update_test_plan
Update an existing test plan.
- Parameters:
testPlanKey, plus any fields to update
Examples
Creating a Test Case
await zephyr_create_test_case({
projectKey: "PROJ",
name: "User Login Test",
objective: "Verify users can successfully log in with valid credentials",
precondition: "User must have valid account",
status: "Draft",
priority: "High",
steps: [
{
action: "Navigate to login page",
expected: "Login page is displayed",
stepIndex: 1
},
{
action: "Enter valid username and password",
expected: "Fields accept input",
stepIndex: 2
},
{
action: "Click login button",
expected: "User is redirected to dashboard",
stepIndex: 3
}
]
});
Creating a Test Execution
await zephyr_create_test_execution({
testCaseKey: "PROJ-T1",
testCycleKey: "PROJ-C1",
status: "Pass",
executedBy: "test.user@company.com",
actualTime: 5,
comment: "All steps executed successfully",
stepResults: [
{
stepIndex: 0,
status: "Pass",
actual: "Login page loaded correctly"
},
{
stepIndex: 1,
status: "Pass",
actual: "Credentials accepted"
},
{
stepIndex: 2,
status: "Pass",
actual: "Successfully redirected to dashboard"
}
]
});
Searching Test Cases
await zephyr_search_test_cases({
jql: "project = PROJ AND status = 'Draft' AND priority = High",
maxResults: 25
});
Error Handling
The server provides detailed error messages for common issues:
- Authentication errors: Invalid API token
- Authorization errors: Insufficient permissions
- Validation errors: Invalid input data
- Network errors: Connection issues
- API limits: Rate limiting exceeded
Development
Project Structure
src/
├── index.ts # Main MCP server entry point
├── zephyr-client.ts # Zephyr API client
├── types.ts # TypeScript type definitions
└── tools/ # MCP tool implementations
├── test-case-tools.ts
├── test-execution-tools.ts
├── test-cycle-tools.ts
└── test-plan-tools.ts
Building
npm run build
Testing
npm run dev
Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests if applicable
- Submit a pull request
License
MIT License - see LICENSE file for details.
Support
For issues related to:
- This MCP server: Create an issue in this repository
- Zephyr Scale Cloud: Contact SmartBear support
- MCP protocol: See Model Context Protocol documentation
Changelog
v1.0.0
- Initial release
- Full test case management
- Test execution tracking
- Test cycle and plan management
- Bulk operations support
- JQL search functionality
Recommended Servers
playwright-mcp
A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.
Magic Component Platform (MCP)
An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.
Audiense Insights MCP Server
Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.
VeyraX MCP
Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.
graphlit-mcp-server
The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.
Kagi MCP Server
An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.
E2B
Using MCP to run code via e2b.
Neon Database
MCP server for interacting with Neon Management API and databases
Exa Search
A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.
Qdrant Server
This repository is an example of how to create a MCP server for Qdrant, a vector search engine.