npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

qase-mcp-server

v1.1.0

Published

Model Context Protocol server for Qase TMS - Enables AI assistants to manage test cases, runs, and defects in Qase

Readme

QASE MCP Server

MCP server implementation for Qase API

This is a TypeScript-based MCP server that provides integration with the Qase test management platform. It implements core MCP concepts by providing tools for interacting with various Qase entities.

Installation

You can use this package directly with npx:

npx -y qase-mcp-server --token YOUR_QASE_API_TOKEN

Configuration Options

You can configure the server in several ways:

  1. Command line arguments:

    npx -y qase-mcp-server --token YOUR_QASE_API_TOKEN --debug
  2. Environment variables:

    export QASE_API_TOKEN=YOUR_QASE_API_TOKEN
    npx -y qase-mcp-server
  3. Configuration file (default: ~/.qase-mcp-server.json):

    {
      "apiToken": "YOUR_QASE_API_TOKEN",
      "debug": true
    }

    You can specify a custom config file path:

    npx -y qase-mcp-server --config ./my-config.json

Command Line Options

  • --token, -t <token>: Qase API token
  • --config, -c <path>: Path to config file
  • --debug, -d: Enable debug mode
  • --help, -h: Show help message

Features

Tools

The server provides tools for interacting with the Qase API, allowing you to manage the following entities:

Projects

  • list_projects - Get all projects
  • get_project - Get project by code
  • create_project - Create new project
  • delete_project - Delete project by code

Test Cases

  • get_cases - Get all test cases in a project
  • get_case - Get a specific test case
  • create_case - Create a new test case
  • update_case - Update an existing test case

Test Runs

  • get_runs - Get all test runs in a project
  • get_run - Get a specific test run

Test Results

  • get_results - Get all test run results for a project
  • get_result - Get test run result by code and hash
  • create_result - Create test run result
  • create_result_bulk - Create multiple test run results in bulk
  • update_result - Update an existing test run result

Test Plans

  • get_plans - Get all test plans in a project
  • get_plan - Get a specific test plan
  • create_plan - Create a new test plan
  • update_plan - Update an existing test plan
  • delete_plan - Delete a test plan

Test Suites

  • get_suites - Get all test suites in a project
  • get_suite - Get a specific test suite
  • create_suite - Create a new test suite
  • update_suite - Update an existing test suite
  • delete_suite - Delete a test suite

Shared Steps

  • get_shared_steps - Get all shared steps in a project
  • get_shared_step - Get a specific shared step
  • create_shared_step - Create a new shared step
  • update_shared_step - Update an existing shared step
  • delete_shared_step - Delete a shared step

Jira Integration

  • link_test_case_to_jira - Link a test case to a Jira issue
  • get_test_cases_linked_to_jira - Get test cases linked to a specific Jira issue

Defects

  • get_defects - Get all defects in a project
  • get_defect - Get a specific defect by ID
  • create_defect - Create a new defect
  • update_defect - Update an existing defect
  • delete_defect - Delete a defect
  • resolve_defect - Resolve a specific defect
  • update_defect_status - Update the status of a defect

QQL Search

  • qql_search - Search entities using Qase Query Language (QQL)

The QQL search tool allows you to perform advanced searches across various Qase entities using QQL expressions. This provides powerful filtering capabilities across test cases, defects, test runs, results, plans, and requirements.

Parameters:

  • query (required): QQL expression string (1-1000 characters)
  • limit (optional): Number of results to return (1-100, default: 10)
  • offset (optional): Number of results to skip for pagination (0-100000, default: 0)

Example QQL Queries:

Test Cases:

entity = "case" and project = "DEMO" and title ~ "auth" order by id desc
entity = "case" and isFlaky = false and automation = "To be automated"
entity = "case" and status = "Actual" and created >= now("-14d")
entity = "case" and author = currentUser() and updated >= startOfWeek()

Defects:

entity = "defect" and status = "open"
entity = "defect" and severity = "blocker" and project = "DEMO"
entity = "defect" and created >= startOfWeek() and status != "resolved"
entity = "defect" and isResolved = false and milestone ~ "Sprint"

Test Results:

entity = "result" and status = "failed" and timeSpent > 5000 and milestone ~ "Sprint 12"
entity = "result" and status = "passed" and created >= now("-7d")
entity = "result" and status in ["failed", "blocked"] and created >= startOfDay()

Test Runs:

entity = "run" and status = "in progress" and project = "DEMO"
entity = "run" and author = currentUser() and created >= now("-30d")
entity = "run" and title ~ "regression" and status = "passed"

QQL Features:

  • Entities: case, defect, result, run, plan, requirement
  • Operators: =, !=, ~, >, <, >=, <=, in, not in, is empty, is not empty
  • Logic: and, or, not, parentheses for grouping
  • Functions: currentUser(), activeUsers(), now(), startOfDay(), startOfWeek(), startOfMonth(), etc.
  • Sorting: ORDER BY field ASC/DESC

For complete QQL reference, see the Qase QQL documentation.

Development

Install dependencies:

npm install

Build the server:

npm run build

For development with auto-rebuild:

npm run watch

Integration with AI Assistants

Claude Desktop

To use with Claude Desktop, add the server config:

  • On MacOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • On Windows: %APPDATA%/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "qase": {
      "command": "npx",
      "args": ["-y", "qase-mcp-server"],
      "env": {
        "QASE_API_TOKEN": "<YOUR_TOKEN>"
      }
    }
  }
}

Zencoder

To use with Zencoder, add the following to your Zencoder MCP configuration:

{
  "command": "npx",
  "args": ["-y", "qase-mcp-server"],
  "env": {
    "QASE_API_TOKEN": "<YOUR_TOKEN>"
  }
}

Other MCP-Compatible AI Assistants

For other AI assistants that support MCP, follow their documentation for adding custom MCP servers. The general configuration format is:

{
  "command": "npx",
  "args": ["-y", "qase-mcp-server"],
  "env": {
    "QASE_API_TOKEN": "<YOUR_TOKEN>"
  }
}

Debugging

Since MCP servers communicate over stdio, debugging can be challenging. We recommend using the MCP Inspector:

# Using the npx package
npx -y @modelcontextprotocol/inspector -e QASE_API_TOKEN=<YOUR_TOKEN> -- npx -y qase-mcp-server

# Or with debug mode enabled
npx -y @modelcontextprotocol/inspector -e QASE_API_TOKEN=<YOUR_TOKEN> -- npx -y qase-mcp-server --debug

You can also enable debug mode directly when running the server:

QASE_API_TOKEN=<YOUR_TOKEN> npx -y qase-mcp-server --debug

Security Considerations

  • Your Qase API token is sensitive information. Do not share it publicly.
  • When using configuration files, ensure they have appropriate file permissions.
  • The token is stored in memory during execution and can be passed via environment variables or command-line arguments.
  • If you're concerned about command-line visibility, prefer using environment variables or configuration files.

Troubleshooting

Common Issues

  1. API Token Issues

    • Error: "API token is required"
    • Solution: Ensure you've provided a valid Qase API token via --token, environment variable, or config file.
  2. Permission Issues

    • Error: "Permission denied"
    • Solution: Ensure the executable has proper permissions. The build process should set these automatically.
  3. Node.js Version

    • Error: "Unexpected token" or syntax errors
    • Solution: Ensure you're using Node.js version 18 or higher.
  4. Connection Issues

    • Error: "Failed to connect to Qase API"
    • Solution: Check your internet connection and verify that your API token is valid.

For more help, run with the --debug flag to see additional diagnostic information.