The Xray MCP Server integrates with Xray Cloud's GraphQL API to provide comprehensive test management capabilities through MCP clients like Claude Code.
Test Case Management: Create, retrieve, update, and delete test cases with customizable properties (summary, description, type, priority, labels); search using JQL or list all cases by project.
Test Execution Management: Create test executions with specific environments and test selections; retrieve execution details; update test run statuses (TODO, EXECUTING, PASS, FAIL, ABORTED, PASSED, FAILED); search executions using JQL or list by project.
Test Plan Management: Create and retrieve test plans; add or remove tests from plans; search plans using JQL or list by project.
Test Set Management: Create and retrieve test sets for grouping related tests; add or remove tests from sets; search sets using JQL or list by project.
Key Features: JQL-based advanced searching across all test artifacts, configurable result limits, project-based organization, and CI/CD integration for automated test execution tracking and reporting.
Integrates with Xray Cloud (an Atlassian Jira add-on) to provide comprehensive test management capabilities including creating and managing test cases, test executions, test plans, and test sets through GraphQL and REST APIs
Xray MCP Server
Model Context Protocol (MCP) server to integrate Xray Cloud APIs with Claude Code and other MCP clients.
Features
This MCP server exposes tools to manage test cases and test executions in Xray Cloud using the official GraphQL API:
Test Cases (Test Management)
create_test_case: Create a new test case (uses GraphQL mutation
createTest)get_test_case: Retrieve details of a specific test case (uses GraphQL query
getTests)delete_test_case: Delete a test case (uses GraphQL mutation
deleteTest)search_test_cases: Search test cases using JQL (Jira Query Language)
get_project_test_cases: Retrieve all test cases for a project
update_test_case: ⚠️ Not directly supported - use Jira REST API to update standard fields
Test Executions (Test Automation & CI/CD)
create_test_execution: Create a new test execution to run tests
get_test_execution: Retrieve details of a test execution with all test runs
search_test_executions: Search test executions using JQL
get_project_test_executions: Retrieve all test executions for a project
update_test_run_status: Update the status of a test run (PASS, FAIL, etc.)
Test Plans (Test Organization)
create_test_plan: Create a new test plan to organize tests
get_test_plan: Retrieve details of a specific test plan with all tests
search_test_plans: Search test plans using JQL
get_project_test_plans: Retrieve all test plans for a project
add_tests_to_test_plan: Add tests to an existing test plan
remove_tests_from_test_plan: Remove tests from a test plan
Test Sets (Test Grouping)
create_test_set: Create a new test set to group tests
get_test_set: Retrieve details of a specific test set with all tests
search_test_sets: Search test sets using JQL
get_project_test_sets: Retrieve all test sets for a project
add_tests_to_test_set: Add tests to an existing test set
remove_tests_from_test_set: Remove tests from a test set
Prerequisites
Node.js 18 or higher
Xray Cloud API credentials (Client ID and Client Secret)
Testing
This project includes comprehensive test coverage:
Unit Tests: Fast tests with mocked API responses (no credentials needed)
Integration Tests: End-to-end tests with real Xray Cloud API
For detailed testing documentation, see TESTING.md
Installation
Clone or download this repository
Install dependencies:
Build the project:
How to Obtain API Credentials
Go to https://xray.cloud.getxray.app/
Navigate to Settings → API Keys
Click on Create API Key
Copy the generated Client ID and Client Secret
Usage
Configuration in Claude Code
To use this MCP server with Claude Code, add the following configuration to your MCP configuration file (typically ~/Library/Application Support/Claude/claude_desktop_config.json on macOS):
Important: Replace:
/path/to/xray-mcpwith the absolute path to the project (e.g.,/Users/manuel/repositories/xray-mcp)your_client_idandyour_client_secretwith your Xray Cloud credentials
Local Testing
To test the server in development mode:
Usage Examples
Test Cases
Create a Test Case
Search Test Cases
Retrieve Project Test Cases
Test Executions
Create a Test Execution
Retrieve a Test Execution
Update Test Run Status
Search Recent Test Executions
Project Structure
Xray Cloud APIs
This server uses the following Xray Cloud APIs:
Authentication:
POST /api/v1/authenticate(token valid for 24 hours)GraphQL Endpoint:
POST /api/v2/graphqlTest Queries:
getTests- Retrieve tests using JQLTest Mutations:
createTest,deleteTest- Create/delete testsTest Execution Queries:
getTestExecutions- Retrieve executions using JQLTest Execution Mutations:
createTestExecution,updateTestRunStatus- Manage executions and resultsTest Plan Queries:
getTestPlans- Retrieve test plans using JQLTest Plan Mutations:
createTestPlan,addTestsToTestPlan,removeTestsFromTestPlan- Manage test plansTest Set Queries:
getTestSets- Retrieve test sets using JQLTest Set Mutations:
createTestSet,addTestsToTestSet,removeTestsFromTestSet- Manage test sets
For complete API documentation, visit:
GraphQL API: https://docs.getxray.app/display/XRAYCLOUD/GraphQL+API
GraphQL Schema: https://us.xray.cloud.getxray.app/doc/graphql/
REST API: https://docs.getxray.app/display/XRAYCLOUD/REST+API
Use Cases
CI/CD Integration
Use this MCP server to:
Automatically create test executions in CI/CD pipelines
Update test run statuses based on automated test results
Track test execution across different environments
Generate test execution reports for sprint reviews
Test Management
Use this MCP server to:
Create and organize test cases
Search tests using complex JQL queries
Manage manual test executions
Track test status over time
License
ISC
Support
For issues or questions about Xray Cloud APIs, consult the official documentation:
https://docs.getxray.app/
https://support.getxray.app/