Qase MCP Server
OfficialClick on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Qase MCP Serverlist test cases in project 'Mobile App'"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Qase MCP Server
Official Model Context Protocol (MCP) server for Qase Test Management Platform.
Overview
The Qase MCP Server provides seamless integration between AI assistants (Claude, Cursor, etc.) and the Qase Test Management Platform. It enables AI assistants to interact with your test cases, test runs, defects, and other Qase entities through a standardized protocol.
Features
✅ Complete Qase API Coverage - Access all Qase entities and operations
✅ QQL Support - Powerful Qase Query Language for advanced searches
✅ Type-Safe - Full TypeScript implementation with comprehensive validation
✅ Custom Domains - Support for enterprise custom domains
Supported Entities
The server provides tools for managing:
Projects - Create and manage test projects
Test Cases - Create, update, and organize test cases
Test Suites - Organize tests into hierarchical suites
Test Runs - Execute test runs and track progress
Test Results - Record and analyze test execution results
Test Plans - Define and manage test plans
Defects - Track and manage bugs
Milestones - Organize work by sprints/releases
Environments - Manage test environments
Shared Steps - Create reusable test steps
Shared Parameters - Define reusable test data
Attachments - Upload and manage files
Custom Fields - Define custom metadata
Configurations - Manage test configurations
Users - User management operations
QQL Search - Advanced cross-project queries
Installation
Prerequisites
Node.js 18+
Qase account with API token (Get your token)
Option 1: Install from NPM (Recommended)
npm install -g @qase/mcp-serverOption 2: Install from Source (Development)
# Clone the repository
git clone https://github.com/qase-tms/qase-mcp-server.git
cd qase-mcp-server
# Install dependencies
npm install
# Build the server
npm run buildConfiguration
Environment Variables
Create a .env file or set environment variables:
# Required: Your Qase API token
QASE_API_TOKEN=your_api_token_here
# Optional: Custom API domain for enterprise customers
QASE_API_DOMAIN=api.qase.ioGet your API token from: https://app.qase.io/user/api/token
Custom Domains (Enterprise)
If you're using Qase Enterprise with a custom domain:
QASE_API_DOMAIN=api.yourcompany.qase.ioIntegration
Claude Desktop
Add to your Claude Desktop configuration file:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"qase": {
"command": "npx",
"args": ["-y", "@qase/mcp-server"],
"env": {
"QASE_API_TOKEN": "your_api_token_here"
}
}
}
}Or, if installed from source:
{
"mcpServers": {
"qase": {
"command": "node",
"args": ["/absolute/path/to/qase-mcp-server/build/index.js"],
"env": {
"QASE_API_TOKEN": "your_api_token_here"
}
}
}
}Cursor
Open Cursor Settings
Navigate to MCP settings
Add the Qase MCP server:
{
"mcpServers": {
"qase": {
"command": "npx",
"args": ["-y", "@qase/mcp-server"],
"env": {
"QASE_API_TOKEN": "your_api_token_here"
}
}
}
}Claude Code
You can add the Qase MCP server to Claude Code using the CLI command:
claude mcp add qase -- npx -y @qase/mcp-serverSet the required environment variable:
export QASE_API_TOKEN=your_api_token_hereAlternatively, add a .mcp.json file to your project root for automatic project-scoped configuration:
{
"mcpServers": {
"qase": {
"command": "npx",
"args": ["-y", "@qase/mcp-server"],
"env": {
"QASE_API_TOKEN": "your_api_token_here"
}
}
}
}You can also use the --scope flag to choose where the configuration is stored:
# Project-scoped (saved in .mcp.json)
claude mcp add --scope project qase -- npx -y @qase/mcp-server
# User-scoped (available in all projects)
claude mcp add --scope user qase -- npx -y @qase/mcp-serverOpenAI Codex CLI
Codex CLI uses TOML configuration. Add the Qase MCP server to ~/.codex/config.toml (global) or .codex/config.toml in your project root:
[mcp_servers.qase]
command = "npx"
args = ["-y", "@qase/mcp-server"]
[mcp_servers.qase.env]
QASE_API_TOKEN = "your_api_token_here"Note: The section name
mcp_serversmust use an underscore —mcp-serversormcpserverswill be silently ignored.
OpenCode
Add an opencode.json file to your project root (or ~/.config/opencode/opencode.json for global configuration):
{
"mcp": {
"qase": {
"type": "local",
"command": ["npx", "-y", "@qase/mcp-server"],
"environment": {
"QASE_API_TOKEN": "your_api_token_here"
}
}
}
}Note: OpenCode uses a different format from other MCP clients — the command and args are combined into a single
commandarray, env vars go underenvironment, and servers are nested undermcp(notmcpServers).
Usage Examples
Basic Operations
List All Projects
Can you list all my Qase projects?Create a Test Case
Create a test case in project DEMO titled "Login with valid credentials" with steps for entering username, password, and clicking loginSearch with QQL
Find all failed test results from the last 7 days in project DEMOAdvanced QQL Queries
Find Flaky Tests
Search for all flaky test cases in project DEMO that are not automatedThe server will execute:
entity = "case" and project = "DEMO" and isFlaky = true and automation = "Not automated"Find Open Blocker Defects
Show me all open blocker defects in project DEMOFind Tests by Author
Find all test cases created by john@example.com in the last monthWorking with Test Runs
Create and Execute a Test Run
Create a test run in project DEMO called "Sprint 24 Regression" including all test cases from the "Authentication" suite, then add a passed result for case ID 123Available Tools
Projects (6 tools)
list_projects- Get all projectsget_project- Get project detailscreate_project- Create new projectdelete_project- Delete projectgrant_project_access- Grant user/group accessrevoke_project_access- Revoke access
Test Cases (8 tools)
list_cases- List all test casesget_case- Get test case detailscreate_case- Create new test caseupdate_case- Update test casedelete_case- Delete test casebulk_create_cases- Create multiple casesattach_external_issue- Link external issue (Jira, etc.)detach_external_issue- Unlink external issue
Case enum values
create_case, bulk_create_cases, and update_case automatically normalize friendly labels to whatever numeric IDs your workspace currently configures for the built-in system fields (priority, severity, type, behavior, status, layer). The server fetches /v1/system_field and caches the available options so you can keep using the titles or slugs you see in Qase while still satisfying the API’s numeric requirements.
The normalization does not touch automation/is_flaky, so pass those values as the API expects (strings or booleans).
The server keeps any existing label in place when it does not match a known enum so invalid values still bubble up as errors from Qase.
Test Runs (7 tools)
list_runs- List test runsget_run- Get run detailscreate_run- Create new rundelete_run- Delete runcomplete_run- Mark run as completeget_run_public_link- Get public linkdelete_run_public_link- Remove public link
Test Results (6 tools)
list_results- List test resultsget_result- Get result detailscreate_result- Create test resultcreate_results_bulk- Create multiple resultsupdate_result- Update resultdelete_result- Delete result
Test Plans (5 tools)
list_plans- List test plansget_plan- Get plan detailscreate_plan- Create test planupdate_plan- Update test plandelete_plan- Delete test plan
Suites (5 tools)
list_suites- List suitesget_suite- Get suite detailscreate_suite- Create suiteupdate_suite- Update suitedelete_suite- Delete suite
Defects (7 tools)
list_defects- List defectsget_defect- Get defect detailscreate_defect- Create defectupdate_defect- Update defectdelete_defect- Delete defectresolve_defect- Mark as resolvedupdate_defect_status- Update status
Milestones (5 tools)
list_milestones- List milestonesget_milestone- Get milestone detailscreate_milestone- Create milestoneupdate_milestone- Update milestonedelete_milestone- Delete milestone
Environments (5 tools)
list_environments- List environmentsget_environment- Get environment detailscreate_environment- Create environmentupdate_environment- Update environmentdelete_environment- Delete environment
Shared Steps (5 tools)
list_shared_steps- List shared stepsget_shared_step- Get shared step detailscreate_shared_step- Create shared stepupdate_shared_step- Update shared stepdelete_shared_step- Delete shared step
Shared Parameters (5 tools)
list_shared_parameters- List parametersget_shared_parameter- Get parameter detailscreate_shared_parameter- Create parameterupdate_shared_parameter- Update parameterdelete_shared_parameter- Delete parameter
Supporting Entities
Attachments (4 tools) - File management
Authors (2 tools) - Author information
Custom Fields (5 tools) - Custom field management
System Fields (1 tool) - System field info
Configurations (3 tools) - Configuration management
Users (2 tools) - User management
QQL Search (2 tools)
qql_search- Execute QQL queryqql_help- Get QQL syntax help
Total: 83 tools available
Development
Building from Source
npm run buildRunning Tests
# Run all tests
npm test
# Run with coverage
npm run test:coverage
# Watch mode
npm run test:watchLinting
# Check for issues
npm run lint
# Auto-fix issues
npm run lint -- --fixDebugging
Use the MCP Inspector for interactive debugging:
npm run inspectorSet your API token when prompted, then interact with tools in the inspector UI.
Transport Options
The server supports multiple transport types for different use cases:
Stdio Transport (Default)
Used by MCP clients like Claude Desktop and Cursor:
npm start
# or
npm run start:stdioSSE Transport
Server-Sent Events for web-based clients:
npm run start:sse
# Server runs on http://localhost:3000/sse
# Health check: http://localhost:3000/healthStreamable HTTP Transport
Full HTTP-based transport with session management:
npm run start:http
# Server runs on http://localhost:3000/mcp
# Health check: http://localhost:3000/healthCustom Configuration
# Custom port and host
node build/index.js --transport streamable-http --port 8080 --host 0.0.0.0
# Available options:
# --transport: stdio | sse | streamable-http (default: stdio)
# --port: Port number (default: 3000)
# --host: Host address (default: 0.0.0.0)Troubleshooting
Authentication Errors
Error: Authentication failed: Please check your QASE_API_TOKEN
Solution:
Verify your API token is correct: https://app.qase.io/user/api/token
Ensure the token is set in your environment or config file
Check for extra spaces or quotes in the token value
Connection Errors
Error: Network error or ECONNREFUSED
Solution:
Check your internet connection
Verify the API domain is correct (especially for enterprise customers)
Check if Qase is accessible: https://api.qase.io/v1/
SSL Certificate Errors
Error: unable to get local issuer certificate
This error typically occurs in corporate environments with:
SSL-intercepting proxy servers
Self-signed certificates
Internal Certificate Authorities (CA)
Solution: Add the NODE_EXTRA_CA_CERTS environment variable pointing to your CA certificate file:
{
"mcpServers": {
"qase": {
"command": "npx",
"args": ["-y", "@qase/mcp-server"],
"env": {
"QASE_API_TOKEN": "your_api_token_here",
"NODE_EXTRA_CA_CERTS": "/path/to/your/certificate.pem"
}
}
}
}To find your certificate:
Corporate environments: Contact your IT department for the CA certificate
macOS: Export from Keychain Access (System Roots → your CA → Export as .pem)
Windows: Export from Certificate Manager (certmgr.msc)
Linux: Usually in
/etc/ssl/certs/or/etc/pki/tls/certs/
Custom Domain Issues
Error: Invalid domain or connection errors with custom domain
Solution:
Ensure
QASE_API_DOMAINis set to just the domain (e.g.,api.company.qase.io)Don't include
https://or/v1in the domainVerify with your Qase administrator
No Tools Showing in MCP Client
Error: MCP client shows "no tools, prompts or resources" or 0 tools available
Solution:
Verify your MCP configuration has the correct command and arguments
Check that
QASE_API_TOKENis set in theenvsectionRestart your MCP client completely (close and reopen)
Check the MCP client logs for connection errors
Verify the server is built:
npm run build
Tool Not Found
Error: Unknown tool: tool_name
Solution:
Ensure you're using the latest version:
npm update -g @qase/mcp-serverCheck the tool name spelling matches the documentation
Restart your MCP client after updating
Contributing
Contributions are welcome! Please see CONTRIBUTING.md for details.
Development Guidelines
Follow TypeScript best practices
Add unit tests for new features
Update documentation for new tools
Ensure all tests pass:
npm testEnsure linting passes:
npm run lintMaintain code coverage above 70%
License
MIT License - see LICENSE file for details
Links
Qase Platform: https://qase.io
Qase Documentation: https://help.qase.io
API Documentation: https://developers.qase.io
MCP Protocol: https://modelcontextprotocol.io
Issue Tracker: https://github.com/qase-tms/qase-mcp-server/issues
Support
Documentation: https://help.qase.io
Email: support@qase.io
GitHub Issues: https://github.com/qase-tms/qase-mcp-server/issues
Made with ❤️ by Qase
Maintenance
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/qase-tms/qase-mcp-server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server