Skip to main content
Glama
remynln
by remynln

mcp-xray-cloud

CI License: MIT Node.js TypeScript MCP

An MCP (Model Context Protocol) server that connects AI assistants to Xray Cloud for Jira test management.

Manage tests, test plans, executions, and import CI results — all through natural language via Claude or any MCP-compatible client.

Features

Category

Tools

Tests

list_tests, get_test, create_test, update_test

Test Plans

list_test_plans, get_test_plan, create_test_plan, add_tests_to_test_plan

Test Executions

list_test_executions, get_test_execution, create_test_execution

Test Sets

list_test_sets, get_test_set

Test Runs

update_test_run_status

Import Results

Xray JSON, Cucumber, JUnit, TestNG, NUnit, Robot Framework, Behave

Import Features

Gherkin .feature files

Export

Cucumber feature files

Related MCP server: QTM4J MCP Server

Quick Start

git clone https://github.com/remynln/mcp-xray-cloud.git
cd mcp-xray-cloud
npm install
npm run build

Prerequisites

Configuration

Set these environment variables:

Variable

Required

Description

XRAY_CLIENT_ID

Yes

Xray Cloud API client ID

XRAY_CLIENT_SECRET

Yes

Xray Cloud API client secret

XRAY_BASE_URL

No

Override API base URL (default: https://xray.cloud.getxray.app)

Usage with Claude Desktop

Add to your claude_desktop_config.json:

{
  "mcpServers": {
    "xray": {
      "command": "node",
      "args": ["/absolute/path/to/mcp-xray-cloud/dist/index.js"],
      "env": {
        "XRAY_CLIENT_ID": "your-client-id",
        "XRAY_CLIENT_SECRET": "your-client-secret"
      }
    }
  }
}

Usage with Claude Code

Add to your .claude.json:

{
  "mcpServers": {
    "xray": {
      "command": "node",
      "args": ["/absolute/path/to/mcp-xray-cloud/dist/index.js"],
      "env": {
        "XRAY_CLIENT_ID": "your-client-id",
        "XRAY_CLIENT_SECRET": "your-client-secret"
      }
    }
  }
}

Tool Reference

Tests

  • list_tests — List tests with JQL filtering by project, labels, and component

  • get_test — Get full test details including steps and preconditions

  • create_test — Create Manual, Cucumber, or Generic tests

  • update_test — Update test type (Jira field updates require Jira REST API credentials)

Test Plans

  • list_test_plans — List test plans in a project

  • get_test_plan — Get test plan details with associated tests

  • create_test_plan — Create a new test plan

  • add_tests_to_test_plan — Associate tests with a test plan

Test Executions

  • list_test_executions — List test executions in a project

  • get_test_execution — Get execution details with test run statuses

  • create_test_execution — Create an execution, optionally linked to a test plan

Test Runs

  • update_test_run_status — Set a test run to PASSED, FAILED, TODO, EXECUTING, or ABORTED

Import Results

  • import_execution_results — Xray JSON format

  • import_cucumber_results — Cucumber JSON

  • import_junit_results — JUnit XML

  • import_testng_results — TestNG XML

  • import_nunit_results — NUnit XML

  • import_robot_results — Robot Framework XML

  • import_behave_results — Behave JSON

  • import_feature_file — Gherkin .feature file

Export

  • export_cucumber_features — Export Cucumber feature files from Xray tests

Project Structure

src/
├── index.ts              # Server entry point
├── client.ts             # Xray Cloud API client (auth + GraphQL + REST)
├── helpers.ts            # Shared formatting utilities
└── tools/
    ├── tests.ts          # Test CRUD tools
    ├── test-plans.ts     # Test plan tools
    ├── test-executions.ts# Test execution tools
    ├── test-sets.ts      # Test set tools
    ├── test-runs.ts      # Test run status updates
    ├── imports.ts        # Result import tools (JSON, XML, Gherkin)
    └── exports.ts        # Feature export tools

Contributing

  1. Fork the repo

  2. Create a feature branch (git checkout -b feat/my-feature)

  3. Run tests (npm test)

  4. Commit your changes

  5. Open a pull request

License

MIT

A
license - permissive license
-
quality - not tested
D
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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/remynln/mcp-xray-cloud'

If you have feedback or need assistance with the MCP directory API, please join our Discord server