Skip to content

Repository files navigation

Qase MCP Server

Official Model Context Protocol (MCP) server for Qase Test Management Platform — connect AI assistants to your test cases, runs, defects, and more.

npm version License: MIT MCP Registry

Table of Contents

Overview

The Qase MCP Server lets AI assistants (Claude, Cursor, Codex, and any other MCP client) read and write Qase test cases, runs, results, defects, suites, milestones, and more — through a standardized protocol, with no custom integration code.

Features:

  • 36 task-oriented tools (37 total, including qase_discover_tools) — consolidated from 83 v1 tools for lower token usage and better LLM accuracy
  • Composite tools — multi-step workflows in a single call: CI reporting, defect triage, regression run setup
  • QQL support — Qase Query Language for advanced searches across cases, runs, results, defects, and plans
  • Project context bootstrap — one call returns full project structure (suites, milestones, environments, users, custom fields)
  • Test case review — propose new cases or changes for review, assign reviewers, and track status (approving and merging remain UI-only)
  • Tool discovery — secondary tools stay hidden until needed, keeping the default tool list small
  • Hosted or self-run — connect to https://mcp.qase.io/mcp with just your Qase login, or run the server locally with your own API token
  • Tenant-safe caching & HTTP resilience — two-tier cache (in-memory + optional Redis), connection pooling, retry with backoff
  • Escape hatch — direct REST API access for any endpoint via qase_api

Use Cases

Scenario Example prompt Tool
Bootstrap project context "Show me the structure of project DEMO — suites, milestones, environments" qase_project_context
Create or update a test case "Create a high-priority smoke test case in project DEMO titled 'Login with valid credentials'" qase_case_upsert
Report CI results "Report these CI results for project DEMO: case 1 passed, case 2 failed with 'timeout error'" qase_ci_report
Triage a failed test "Create a critical defect for the login timeout failure in run #42" qase_triage_defect
Search with QQL "Find all failed test results from the last 7 days in project DEMO" qql_search

See Tools and docs/tools.md for the full reference.

Quick Start

Use the hosted Qase MCP (recommended)

No install, no API token — connect to the Qase-hosted server and sign in with your Qase account.

Note: The hosted Qase MCP requires the Enterprise plan and a workspace on Qase's main cloud (qase.io). On another plan, or on a dedicated instance, run the server yourself with your own API token — that works everywhere.

  • Claude — open Settings → Connectors, find Qase Test Management, click Connect.
  • Cursor — add {"mcpServers": {"qase": {"url": "https://mcp.qase.io/mcp"}}} to .cursor/mcp.json.
  • Codex — add the URL https://mcp.qase.io/mcp in Settings → MCPs → Add server, or configure ~/.codex/config.toml for the CLI.
  • VS Code — add {"servers": {"qase": {"type": "http", "url": "https://mcp.qase.io/mcp"}}} to .vscode/mcp.json, or run MCP: Add Server.

Full per-client steps, other clients, and the active-workspace model: docs/connect.md.

Run it yourself

Install the package and provide your own API token:

npm install -g @qase/mcp-server
export QASE_API_TOKEN=your_api_token_here

Then point your MCP client's stdio config at the @qase/mcp-server binary. Full install options, client configs (Claude Desktop, Cursor, Claude Code, Codex, OpenCode), environment variables, and transports (stdio/SSE/streamable-HTTP): docs/self-run.md.

Building on top of this server

For integration authors only — if you use the server directly, nothing here applies to you.

If your product drives this server (a plugin, an agent, a wrapper CLI), it can identify itself so its usage is attributable in Qase analytics, independently of which AI host is connected:

QASE_MCP_INTEGRATION=quality-supervisor/1.4.0   # <name>/<version>, version optional

The name must be on the allowlist in src/utils/integration-marker.ts — add yours in a PR. Anything unlisted or malformed is ignored, and the API call still succeeds. HTTP transports also accept the marker per request (X-Qase-Integration header or ?integration=). Details: docs/self-run.md.

Upgrading from v1

v2 consolidated 83 v1 tools into 29 task-oriented tools (30 total, including a discovery tool), and has since grown to 36 (37 total). Tool names and response shapes have changed. See docs/migration.md for the complete tool mapping table, response format changes, and before/after examples.

Tools

37 tools across 6 groups (36 task-oriented tools plus qase_discover_tools for on-demand activation of secondary tools):

Group Count Description
Read 2 Fetch any entity by type/ID, or bootstrap full project context in one call
QQL 2 Search across cases, runs, results, defects, and plans with Qase Query Language
Write 28 Create, update, and delete cases (single or up to 100 at once), runs, results, defects, suites, milestones, plans, shared steps, environments, and attachments; link cases and runs to Jira issues; propose and manage test case reviews
Composite 3 Multi-step workflows in one call: CI reporting, defect triage, regression run setup
Escape hatch 1 Direct REST API access for any endpoint not covered by the tools above
Meta 1 qase_discover_tools — find and activate secondary tools on demand

Full tool-by-tool reference with parameters and the discovery model: docs/tools.md.

Documentation

Contributing

Contributions are welcome! See CONTRIBUTING.md for development setup, testing, and linting guidelines.

License

MIT License — see LICENSE for details.

Support

Links

About

An official Qase MCP server

Resources

Code of conduct

Contributing

Security policy

Stars

31 stars

Watchers

1 watching

Forks

Releases

Packages

Used by

Contributors

Languages