Skip to main content
Glama

qtest-mcp-server

Disclaimer: This is an unofficial, community-built MCP server for qTest Manager. Not affiliated with or endorsed by Tricentis.

An MCP (Model Context Protocol) server that lets codebase or AI assistants (Claude, etc.) interact with qTest Manager — browse projects, manage test design modules, and build test execution cycles — all through natural language.

Available on npm : qtest-mcp-server

Available on glama : glama.ai


Prerequisites

  • Node.js 18+

  • A qTest Manager account with API access

  • Your qTest base URL and API token


Related MCP server: TestRail MCP Server

Installation & Setup

1. Clone and build

git clone https://github.com/your-username/qtest-mcp-server.git
cd qtest-mcp-server
npm install
npm run build

2. Configure your MCP client

Add the server to your .mcp.json. A ready-to-copy example is provided in .mcp.example.json at the root of this repo.

{
  "mcpServers": {
    "qtest": {
      "command": "node",
      "args": ["dist/index.js"],
      "env": {
        "QTEST_BASE_URL": "https://your-org.qtestnet.com",
        "QTEST_TOKEN": "your-personal-access-token"
      }
    }
  }
}

Copy .mcp.example.json to .mcp.json, fill in your values, and place it in your project root (for project-scoped access).Your API token can be generated from qTest Manager under Profile > API & SDK.


Available Tools

Projects

Tool

Description

list-projects

List all qTest projects, or fetch a single project by ID


Test Design

Tool

Description

list-modules

List root-level modules, children of a module, or search by name

create-module

Create a new module (or sub-module) in Test Design

delete-module

Delete a module — cascades to all child modules and test cases

list-test-cases

Fetch test cases from a module with optional filters (Type, Status, Priority, etc.)

list-test-case-fields

List all field definitions for test cases in a project, including allowed values for each field

update-test-case-properties

Update properties of a test case (Status, Type, Priority, Test Suite) using human-readable labels


Test Execution

Tool

Description

list-test-cycle

List root-level test cycles, children of a cycle, or filter by name/ID

create-test-cycle

Create a test cycle (or sub-cycle) in Test Execution

delete-test-cycle

Delete a test cycle — cascades to all child cycles, suites, and runs

add-test-cases

Add test cases as test runs into a test execution suite


Tool Usage Examples

list-projects

List all projects or get a specific one.

list all projects
get project with ID 100001

list-modules

List root-level modules, children, or search by name.

list modules for project 100001
list child modules of module 60000001 in project 100001
search for modules named "Login" in project 100001

create-module

Create a module at root or nested under a parent.

create a module named "Sprint 12 Tests" in project 100001
create a sub-module named "Smoke Tests" under module 60000001 in project 100001

delete-module

Delete a module and all its contents permanently.

delete module 60000099 in project 100001

Warning: this cascades — all child modules and test cases are deleted.


list-test-cases

Fetch test cases from a module, optionally filtered.

list all test cases in module 60000001 of project 100001
list test cases of type "Manual" in module 60000001 of project 100001
list test cases with status "Approved" in module 60000001 of project 100001

Available filter fields: Type, Status, Priority, version, etc.


list-test-case-fields

List all field definitions for test cases in a project, including each field's allowed values. Call this first to discover what values you can pass to update-test-case-properties.

list test case fields for project 100001
what values are allowed for the Status field in project 100001?

update-test-case-properties

Update one or more properties of a test case using human-readable labels. Use list-test-case-fields first to see valid values.

update test case 130000001 in project 100001 to set Status to "In Progress"
set the Type to "Automated" and Priority to "High" for test case 130000001 in project 100001
assign test case 130000001 in project 100001 to the "Regression" and "Smoke" test suites

Note: Values are validated dynamically against the project's field definitions — pass the exact label as shown by list-test-case-fields (case-insensitive).


list-test-cycle

List test cycles at root, under a parent, or by name/ID.

list all test cycles in project 100001
list child cycles of test cycle 19000001 in project 100001
find test cycle named "Regression" in project 100001

create-test-cycle

Create a test cycle at root or nested under a parent.

create a test cycle named "Release 3.0" in project 100001
create a sub-cycle named "Week 1" under test cycle 19000001 in project 100001

delete-test-cycle

Delete a test cycle and all its contents permanently.

delete test cycle 19000099 in project 100001

Warning: this cascades — all child cycles, test suites, and test runs are deleted.


add-test-cases

Add test cases as test runs into a test execution suite.

Note: The target is a test suite (inside a test cycle), not the cycle itself. You must supply test case IDs and names explicitly — use list-test-cases first to retrieve them.

add the following test cases to suite 88000001 in project 100001:
- ID 130000001: "Verify login with valid credentials"
- ID 130000002: "Verify error on invalid password"

Development

# Run in dev mode (no build needed)
npm run dev

# Build for production
npm run build

# Run tests
npm test

License

MIT

Available Tools

9 tools
add-test-casesB

Test Execution — add test cases as test runs into a qTest Test Execution suite (inside a test cycle)

ParametersJSON Schema
NameRequiredDescriptionDefault
projectIdYes
suiteIdYesID of the test execution suite to add runs into
testCasesYesTest cases to add as test runs

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description has full responsibility to disclose behavior. It only states the basic operation without mentioning side effects, idempotency, error handling, or required permissions. This is insufficient for a mutation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, concise sentence that effectively communicates the core purpose without unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The tool has three required parameters and performs a mutation. The description does not explain the result of the operation, error scenarios, or integration with sibling tools. Given the lack of annotations and output schema, the description should provide more contextual completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description does not add any specific information about parameters beyond what the schema already provides. The schema describes suiteId and testCases, but projectId is left undocumented in both. The description fails to clarify the role of projectId or the structure of testCases beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (add), the objects (test cases as test runs), and the target (a qTest Test Execution suite inside a test cycle). It distinguishes this tool from siblings like create-test-cycle or list-test-cases.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives like create-test-cycle or list-test-cases. It does not specify prerequisites or context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create-moduleC

Test Design — create a new module in qTest Test Design to organise test cases

ParametersJSON Schema
NameRequiredDescriptionDefault
projectIdYes
nameYesName of the new module
parentIdNoParent module ID; omit to create at root

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations exist, so description must fully disclose behavior. It only says 'create' without mentioning idempotency, permissions, duplicates handling, or side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence is concise, but the prefix 'Test Design —' is slightly unclear. Front-loads purpose efficiently.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema, no annotations, and minimal description. Lacks information on success/failure, error conditions, constraints, or return values, leaving gaps for a mutable tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 67% but the description adds no parameter details. Missing description for projectId is not compensated. Schema already documents name and parentId, so description adds no value.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action (create) and the resource (new module) with context (in qTest Test Design to organise test cases), distinguishing it from sibling tools that do other operations.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to use this tool vs alternatives like add-test-cases or create-test-cycle. No exclusion criteria or prerequisites provided.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create-test-cycleC

Test Execution — create a test cycle (execution folder) in qTest Test Execution to group test runs for a sprint, release, or regression campaign

ParametersJSON Schema
NameRequiredDescriptionDefault
projectIdYes
nameYesName of the new test cycle
parentIdNoParent test cycle ID; omit to create at root

TDQS

C2.7/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must cover behavioral traits, but it only provides basic creation purpose. No mention of permissions, side effects, rate limits, or return values. Minimal transparency beyond the action itself.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence with clear purpose upfront. No redundant information, and structure is efficient given the tool's simplicity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Lacks details on return values (no output schema), error handling, prerequisites (e.g., project existence), and relationships to sibling tools. Incomplete for an agent to fully understand usage context.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters2/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 67% (name and parentId have descriptions, projectId does not). The description adds no additional meaning to any parameter, leaving projectId undocumented and not compensating for missing schema details.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it creates a test cycle (execution folder) for grouping test runs, with specific use cases like sprints or releases. It differentiates from siblings like delete-test-cycle or list-test-cycle by focusing on creation and adds context about qTest Test Execution, but does not explicitly contrast with add-test-cases.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool versus alternatives like add-test-cases or create-module. The description implies it is for grouping test runs but lacks when-not or exclusion criteria.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

delete-moduleA

Test Design — delete a qTest test module by numeric id. Cascades to all child modules and test cases automatically.

ParametersJSON Schema
NameRequiredDescriptionDefault
projectIdYesNumeric project ID as string
idYesNumeric module ID to delete

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Discloses cascading behavior to child modules and test cases, a critical side effect. With no annotations, this is valuable. However, does not mention irreversibility or permission requirements.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, no wasted words. Action and key behavior are front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Adequate for a simple delete operation with clear cascading behavior. Could mention error cases or permanence for full completeness, but not essential.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema descriptions cover both parameters fully. Description adds no extra meaning beyond what is already in the input schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description clearly states action ('delete'), resource ('qTest test module'), and input ('numeric id'). Distinguishes from sibling delete-test-cycle by specifying module type.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Implies usage for deleting test modules but does not explicitly state when to use or not use this tool, nor provides comparison to sibling delete-test-cycle.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

delete-test-cycleA

Test Execution — delete a qTest test cycle by numeric id. Cascades to all child test cycles, test suites, and test runs automatically.

ParametersJSON Schema
NameRequiredDescriptionDefault
projectIdYesNumeric project ID as string
idYesTest cycle numeric ID to delete

TDQS

A3.6/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Discloses cascading deletion (child cycles, suites, runs), which is a critical behavioral trait not in the schema. However, lacks details on irreversibility, permission requirements, or performance implications. With no annotations, additional context is needed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single, well-structured sentence that front-loads the primary action and resource, then adds cascading detail. No redundant or filler words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Adequately covers the tool's functionality for two simple parameters and no output schema. Cascading behavior is mentioned, but slight gaps in behavioral transparency and usage guidelines reduce completeness slightly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, and the description does not add extra meaning beyond the schema's parameter descriptions. No additional constraints or formatting details are provided.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Clearly states the verb 'delete' and the resource 'qTest test cycle by numeric id'. Distinguishes from siblings by highlighting cascading deletion behavior.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit when/when-not or alternative tools. Does not provide prerequisites or scenarios where this tool is preferred over others like list-test-cycle or create-test-cycle.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list-modulesA

Test Design — list qTest Test Design modules. Pass query to search by name, parentId to list children, or neither for root-level listing

ParametersJSON Schema
NameRequiredDescriptionDefault
projectIdYes
parentIdNoList children of this module ID
queryNoSearch modules by name

TDQS

A3.8/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden. It implies a read-only operation but does not disclose permissions, rate limits, or output format. Adequate but not thorough.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence, no wasted words. Front-loaded with 'Test Design — list qTest Test Design modules' for immediate clarity.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema exists, but description covers main use cases. Missing details on pagination or return format, but sufficient for a straightforward list tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 67%; description adds context for query and parentId (e.g., 'search by name') but projectId remains undescribed in both. Adds some value beyond schema but not all.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool lists qTest Test Design modules, with specific options for searching by name, listing children, or root-level. This distinguishes it from siblings like create-module or list-test-cases.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides three distinct usage scenarios (query, parentId, neither) but does not explicitly state when not to use this tool or compare it to siblings. While helpful, it lacks exclusion guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list-projectsA

Projects — list all qTest projects, or fetch a single project by ID

ParametersJSON Schema
NameRequiredDescriptionDefault
projectIdNoProject ID; omit to list all projects

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must bear full burden. It discloses the two modes but omits details like pagination, sorting, or error handling, which are typical for a list operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

One sentence efficiently communicates the tool's purpose and dual functionality, with no unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

No output schema is provided, and the description does not explain the return format or structure. For a listing tool, this leaves agents uncertain about what data they will receive.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, with parameter 'projectId' already well-described. The tool description adds no extra meaning beyond restating the schema behavior.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

Description uses specific verb 'list' and resource 'qTest projects', clearly distinguishing between listing all and fetching by ID. This differentiates it from siblings like list-modules, list-test-cases, etc.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Describes two clear use cases (list all, fetch by ID) but does not explicitly state when not to use or provide alternatives among sibling tools.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list-test-casesA

Test Design — fetch test cases from a qTest module with optional property filters (Type, Status, Priority, version, etc.). Requires moduleId (numeric).

ParametersJSON Schema
NameRequiredDescriptionDefault
projectIdYesNumeric project ID as string
moduleIdYesNumeric ID of the module
filtersNoFilter by fields (AND logic); omit to return all

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations provided, the description bears the full burden of behavioral disclosure. It correctly indicates a read operation (fetch), but does not specify permissions, rate limits, pagination, or error behavior. The lack of a readOnly hint or similar annotation leaves room for ambiguity, though the action is inherently read-only.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence that immediately states the tool's purpose ('Test Design — fetch test cases'), followed by core constraints. Every word serves a purpose; there is no redundancy or fluff. It is optimally concise for an AI agent.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a list tool with three parameters and no output schema, the description covers the essential: what it fetches, required input (moduleId), and optional filtering with field examples. The schema covers the other required parameter (projectId). It does not mention return structure or pagination, but these are often implicit for list tools. The description is complete enough for typical usage.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has 100% coverage with descriptions for all three parameters. The description adds value by listing examples of filterable fields (Type, Status, Priority, version), which are not present in the schema's parameter descriptions. This helps the agent understand what values for 'field' are meaningful. The schema already explains the 'filters' array structure and AND logic.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the action ('fetch test cases'), the source ('from a qTest module'), and the optional filtering capability. This distinguishes it from sibling tools like 'add-test-cases' (add) and 'list-modules' (different resource). The title 'Test Design' provides additional context. No ambiguity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description mentions the required parameter 'moduleId' and optional filters, implying it should be used when retrieving test cases from a specific module. However, it does not explicitly state when not to use it (e.g., when needing to filter by user) or mention alternatives among siblings. The guidance is clear but not exhaustive.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list-test-cycleA

Test Execution — list qTest test cycles. Omit all optional args for root-level listing, provide id for a single cycle, or provide name to filter by name (case-insensitive exact match)

ParametersJSON Schema
NameRequiredDescriptionDefault
projectIdYesNumeric project ID as string
idNoTest cycle ID; returns a single cycle
nameNoFilter cycles by name (case-insensitive exact match)
parentIdNoList child cycles of this parent test cycle ID

TDQS

A4.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It describes the behavior for different parameter combinations but does not mention whether the operation is read-only, any authentication needs, or return format. For a list tool, the behavioral disclosure is adequate but could be richer.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences with no wasted words. The first sentence identifies the tool concisely, and the second covers all usage scenarios. Every sentence is essential.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema and no annotations, the description explains all parameter usage comprehensively. It covers the main scenarios but could mention the read-only nature or output format. Still, it is complete enough for an agent to use correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with basic descriptions. The description adds value by grouping parameters into use-case patterns (root-level, single, filter), which is more helpful than just listing parameter names. This goes beyond the schema's descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'list qTest test cycles' with a prefix 'Test Execution', providing a specific verb and resource. It distinguishes from sibling tools like create-test-cycle or delete-test-cycle by explicitly naming the action and resource.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives explicit guidance on when to use each argument: omit all optional args for root-level listing, use id for a single cycle, or name for case-insensitive filter. It does not explicitly mention when not to use the tool or alternative siblings, but the context is clear enough.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 9 tool updatesv0.1.1
    • First observedadd-test-cases
    • First observedcreate-module
    • First observedcreate-test-cycle
    • First observeddelete-module
    • First observeddelete-test-cycle
    • First observedlist-modules
    • First observedlist-projects
    • First observedlist-test-cases
    • First observedlist-test-cycle

TDQS

A3.7/5.0
Disambiguation5/5

Every tool has a clearly distinct purpose within the qTest domain. The tools are separated by functional area (Test Design, Test Execution, Projects) and there is no overlap in their operations.

Naming Consistency5/5

All tool names follow a consistent verb-noun pattern using kebab-case (e.g., create-module, list-test-cases). The naming is predictable and unambiguous.

Tool Count5/5

With 9 tools, the set is well-scoped for a test management server. It covers essential create, delete, and list operations for modules and test cycles, plus a few specialized actions, without being excessive or insufficient.

Completeness4/5

The tool set covers core operations for modules, test cycles, projects, and test case execution. Minor gaps exist: no update tools for modules or test cycles, and no tool to individually create a test case (only add as test run).

Maintenance

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

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/Usman-Ghani123/qtest-mcp-server'

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