Skip to main content
Glama

mcp-xray

Servidor MCP para interactuar con Xray Cloud y Xray Data Center usando TypeScript 5.

Instalación

# Instalar dependencias
npm install

# Compilar el proyecto
npm run build

Related MCP server: Xray MCP Server

Uso

Una vez compilado, ejecuta el servidor MCP:

node dist/index.js

El servidor se comunica mediante stdio (stdin/stdout) siguiendo el protocolo MCP, por lo que requiere ser invocado por un cliente MCP compatible.

Funcionalidades iniciales

  • Soporte para despliegues cloud y datacenter

  • Autenticacion Xray Cloud mediante client_id y client_secret

  • Autenticacion Jira para operaciones sobre Test Executions y Test Plans

  • Tool MCP para validar conectividad con Xray/Jira

  • Tool MCP para ejecutar consultas GraphQL en Xray Cloud

  • Tool MCP para importar resultados de ejecucion a Xray

  • Tools MCP para buscar, consultar y crear Test Executions

  • Tools MCP para buscar, consultar y crear Test Plans

  • Arquitectura modular orientada a testabilidad

  • Suite de tests con cobertura automatizada

Variables de entorno

Cloud

XRAY_DEPLOYMENT=cloud
XRAY_CLIENT_ID=your-client-id
XRAY_CLIENT_SECRET=your-client-secret
XRAY_BASE_URL=https://xray.cloud.getxray.app
XRAY_TOKEN_TTL_SECONDS=3000
JIRA_BASE_URL=https://your-domain.atlassian.net
JIRA_EMAIL=you@example.com
JIRA_API_TOKEN=your-jira-api-token

Data Center

XRAY_DEPLOYMENT=datacenter
JIRA_BASE_URL=https://jira.example.com
JIRA_PAT=your-personal-access-token
# Alternativa:
# JIRA_USERNAME=your-user
# JIRA_PASSWORD=your-password
XRAY_BASE_URL=https://jira.example.com
XRAY_TOKEN_TTL_SECONDS=3000

Integración con VSCode

Para usar este servidor MCP en VSCode con GitHub Copilot, agrega la siguiente configuración a tu archivo de settings MCP:

Windows/Linux: %APPDATA%\Code\User\globalStorage\github.copilot-chat\mcp.json
macOS: ~/Library/Application Support/Code/User/globalStorage/github.copilot-chat/mcp.json

{
  "mcpServers": {
    "xray": {
      "command": "node",
      "args": [
        "/ruta/absoluta/a/mcp-xray/dist/index.js"
      ],
      "env": {
        "XRAY_DEPLOYMENT": "cloud",
        "XRAY_CLIENT_ID": "tu-client-id",
        "XRAY_CLIENT_SECRET": "tu-client-secret",
        "XRAY_BASE_URL": "https://xray.cloud.getxray.app",
        "XRAY_TOKEN_TTL_SECONDS": "3000",
        "JIRA_BASE_URL": "https://tu-dominio.atlassian.net",
        "JIRA_EMAIL": "tu@email.com",
        "JIRA_API_TOKEN": "tu-jira-api-token"
      }
    }
  }
}

Ajusta las variables de entorno según tu tipo de despliegue (cloud o datacenter). Una vez configurado, reinicia VSCode y el servidor MCP estará disponible para GitHub Copilot.

Scripts

npm run dev
npm run build
npm test

Notas

  • xray_graphql esta pensado para Cloud.

  • Las operaciones sobre Test Executions y Test Plans se apoyan en Jira REST porque estas entidades viven como issues en Jira/Xray.

  • Para Data Center, la importacion usa la ruta clasica de Xray Server/Data Center bajo /rest/raven/1.0.

Available Tools

9 tools
xray_check_connectionA

Validates authentication against the configured Xray deployment (cloud or datacenter) and Jira instance. Call this first to verify credentials are working before using other tools.

Inputs: no named parameters.

xray_create_test_executionA

Creates a new Test Execution issue in Jira/Xray. Requires a project key and summary. Optionally provide a description and additional Jira fields (e.g. labels, components).

Inputs: summary (required), projectKey (required), fields, description.

xray_create_test_planA

Creates a new Test Plan issue in Jira/Xray. Requires a project key and summary. Optionally provide a description and additional Jira fields (e.g. labels, components).

Inputs: summary (required), projectKey (required), fields, description.

xray_get_test_executionA

Fetches a single Test Execution issue from Jira by its issue key (e.g. 'OQA10-42', 'GAP-100'). Returns the full Jira issue details. Use the 'fields' parameter to limit which fields are returned.

Inputs: issueKey (required), fields.

xray_get_test_planA

Fetches a single Test Plan issue from Jira by its issue key (e.g. 'GAP-12471'). Returns the full Jira issue details. Use the 'fields' parameter to limit which fields are returned.

Inputs: issueKey (required), fields.

xray_graphqlA

Executes a GraphQL query against Xray Cloud. Only available for cloud deployments. Use this for advanced Xray-specific queries like fetching test runs, test steps, preconditions, or test sets.

Inputs: query (required), variables.

xray_import_execution_resultsA

Imports automated test execution results into Xray. Supports formats: junit, nunit, xunit, robot, testng, cucumber, behave, json. Provide the full report content as a string. Optionally target a specific project or existing Test Execution issue.

Inputs: format (required), reportContent (required), projectKey, testExecKey.

xray_search_test_executionsA

Searches for Test Execution issues in Jira using filters. The issuetype filter is applied automatically. Use 'projectKey' to filter by project (e.g. 'OQA10'), 'jql' for additional JQL conditions (e.g. 'status = "Done"'), and 'orderBy' for sorting (e.g. 'created DESC'). Example: to find recent test executions in project OQA10, use projectKey='OQA10' and orderBy='created DESC'.

Inputs: jql, fields, orderBy, maxResults, +1 more.

xray_search_test_plansA

Searches for Test Plan issues in Jira using filters. The issuetype filter is applied automatically. Use 'projectKey' to filter by project (e.g. 'GAP'), 'jql' for additional JQL conditions, and 'orderBy' for sorting (e.g. 'created DESC'). Example: to find test plans in project GAP, use projectKey='GAP'.

Inputs: jql, fields, orderBy, maxResults, +1 more.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A4/5.0

    Scored across 9 tools

    Disambiguation5/5

    Each tool targets a distinct resource and action: connection check, GraphQL query, import results, and CRUD operations for test executions and test plans. There is no overlap or ambiguity between tools.

    Naming Consistency4/5

    Most tools follow the consistent xray_verb_noun pattern (e.g., get_test_plan, search_test_executions, create_test_execution). The exception is xray_graphql, which breaks the verb_noun convention but is still identifiable.

    Tool Count5/5

    With 9 tools covering connection, querying, importing results, and managing test executions/plans, the server is well-scoped. Each tool serves a clear purpose without over-fragmentation.

    Completeness3/5

    The server covers create, get, and search for both test executions and test plans, plus import and GraphQL queries. However, it lacks update and delete operations for these entities, which are common lifecycle operations and would require workarounds.

    Maintenance

    ActivityInactive
    ResponsivenessOutdated data

    Related MCP Connectors

    Related MCP Servers