qTest MCP Server
This server allows AI assistants to interact with qTest Manager for managing test projects, test design, and test execution through natural language.
Projects
List all qTest projects or fetch a specific project by ID.
Test Design
Modules: List root-level modules, children of a module, or search by name; create new modules or sub-modules; delete modules (cascades to child modules and test cases).
Test Cases: Fetch test cases from a module with optional filters (Type, Status, Priority, etc.); list field definitions and allowed values for a project; update test case properties (Status, Type, Priority, etc.) using human-readable labels.
Test Execution
Test Cycles: List root-level cycles, children of a cycle, or filter by name/ID; create new cycles or sub-cycles; delete cycles (cascades to child cycles, suites, and runs).
Test Runs: Add existing test cases as test runs into a test execution suite.
Integrates with qTest Manager (a Tricentis product) to browse projects, manage test design modules, and build test execution cycles programmatically.
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 build2. 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.jsonto.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 all qTest projects, or fetch a single project by ID |
Test Design
Tool | Description |
| List root-level modules, children of a module, or search by name |
| Create a new module (or sub-module) in Test Design |
| Delete a module — cascades to all child modules and test cases |
| Fetch test cases from a module with optional filters (Type, Status, Priority, etc.) |
| List all field definitions for test cases in a project, including allowed values for each field |
| Update properties of a test case (Status, Type, Priority, Test Suite) using human-readable labels |
Test Execution
Tool | Description |
| List root-level test cycles, children of a cycle, or filter by name/ID |
| Create a test cycle (or sub-cycle) in Test Execution |
| Delete a test cycle — cascades to all child cycles, suites, and runs |
| 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 projectsget project with ID 100001list-modules
List root-level modules, children, or search by name.
list modules for project 100001list child modules of module 60000001 in project 100001search for modules named "Login" in project 100001create-module
Create a module at root or nested under a parent.
create a module named "Sprint 12 Tests" in project 100001create a sub-module named "Smoke Tests" under module 60000001 in project 100001delete-module
Delete a module and all its contents permanently.
delete module 60000099 in project 100001Warning: 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 100001list test cases of type "Manual" in module 60000001 of project 100001list test cases with status "Approved" in module 60000001 of project 100001Available 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 100001what 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 100001assign test case 130000001 in project 100001 to the "Regression" and "Smoke" test suitesNote: 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 100001list child cycles of test cycle 19000001 in project 100001find test cycle named "Regression" in project 100001create-test-cycle
Create a test cycle at root or nested under a parent.
create a test cycle named "Release 3.0" in project 100001create a sub-cycle named "Week 1" under test cycle 19000001 in project 100001delete-test-cycle
Delete a test cycle and all its contents permanently.
delete test cycle 19000099 in project 100001Warning: 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-casesfirst 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 testLicense
MIT
Available Tools
9 toolsadd-test-casesB
Test Execution — add test cases as test runs into a qTest Test Execution suite (inside a test cycle)
| Name | Required | Description | Default |
|---|---|---|---|
| projectId | Yes | ||
| suiteId | Yes | ID of the test execution suite to add runs into | |
| testCases | Yes | Test cases to add as test runs |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| projectId | Yes | ||
| name | Yes | Name of the new module | |
| parentId | No | Parent module ID; omit to create at root |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| projectId | Yes | ||
| name | Yes | Name of the new test cycle | |
| parentId | No | Parent test cycle ID; omit to create at root |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| projectId | Yes | Numeric project ID as string | |
| id | Yes | Numeric module ID to delete |
TDQS
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.
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.
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.
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.
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.
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.
| Name | Required | Description | Default |
|---|---|---|---|
| projectId | Yes | Numeric project ID as string | |
| id | Yes | Test cycle numeric ID to delete |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| projectId | Yes | ||
| parentId | No | List children of this module ID | |
| query | No | Search modules by name |
TDQS
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.
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.
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.
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.
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.
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
| Name | Required | Description | Default |
|---|---|---|---|
| projectId | No | Project ID; omit to list all projects |
TDQS
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.
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.
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.
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.
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.
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).
| Name | Required | Description | Default |
|---|---|---|---|
| projectId | Yes | Numeric project ID as string | |
| moduleId | Yes | Numeric ID of the module | |
| filters | No | Filter by fields (AND logic); omit to return all |
TDQS
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.
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.
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.
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.
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.
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)
| Name | Required | Description | Default |
|---|---|---|---|
| projectId | Yes | Numeric project ID as string | |
| id | No | Test cycle ID; returns a single cycle | |
| name | No | Filter cycles by name (case-insensitive exact match) | |
| parentId | No | List child cycles of this parent test cycle ID |
TDQS
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.
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.
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.
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.
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.
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.
9 tool updates
v0.1.1- First observed
add-test-cases - First observed
create-module - First observed
create-test-cycle - First observed
delete-module - First observed
delete-test-cycle - First observed
list-modules - First observed
list-projects - First observed
list-test-cases - First observed
list-test-cycle
TDQS
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.
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.
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.
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
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
An MCP server that provides access to Testiny projects, test cases and test runs
Official MCP server for Qase — manage test cases, runs, suites, defects via AI tools.
An MCP server that let you interact with Cycloid.io Internal Development Portal and Platform
The official MCP Server from Mia-Platform to interact with Mia-Platform Console
Related MCP Servers
- AlicenseCqualityFmaintenanceA TypeScript-based MCP server that provides integration with the Qase test management platform, allowing you to manage projects, test cases, runs, results, plans, suites, and shared steps.2612MIT
- AlicenseNot gradedqualityDmaintenanceMCP server for TestRail that enables AI assistants to interact with TestRail's test management platform. It can query and manage projects, test cases, runs, results, plans, milestones, and more.MIT
- AlicenseBqualityCmaintenanceMCP server to interact with the QMetry for Jira API, enabling management of test cases, test cycles, test plans, and more through well-defined tools.9328Apache 2.0
- AlicenseAqualityCmaintenanceMCP server for QTM4J (QMetry Test Management for Jira) Open API, enabling test case and cycle management via natural language.2155MIT
Appeared in Searches
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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