qTest On-Premise MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| QTEST_TOKEN | No | Static bearer/API token. Generate in qTest under Profile → API & SDK. | |
| QTEST_BASE_URL | Yes | Base URL of your on-prem qTest, e.g. https://qtest.mycompany.internal. A trailing /api/v3 is tolerated and stripped. | |
| QTEST_PASSWORD | No | Password for password-grant login. | |
| QTEST_USERNAME | No | Username for password-grant login (used only when QTEST_TOKEN is empty). | |
| QTEST_LOG_LEVEL | No | error | warn | info | debug. All logs go to stderr. | info |
| QTEST_TIMEOUT_MS | No | Per-request timeout in milliseconds. | 30000 |
| QTEST_INSECURE_TLS | No | When true, disables TLS certificate verification (for internal self-signed certs only). | false |
| QTEST_LOGIN_CLIENT | No | Basic-auth seed used on the /oauth/token request. Override if your admin configured a specific client id. | qtest |
| QTEST_ENABLE_DESTRUCTIVE | No | When true, registers the delete-* tools. | false |
| QTEST_ENABLE_RAW_REQUEST | No | When true, registers the generic qtest_request tool. | false |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| qtest_list_projectsA | List all qTest projects the authenticated user can access. Returns id, name and status for each. Use this first to discover the projectId required by most other tools. |
| qtest_get_projectA | Fetch a single qTest project by its numeric ID. |
| qtest_list_modulesA | List Test Design modules (folders). With no parentId, returns root modules. Provide parentId to list child modules. Provide search to filter by name (case-insensitive substring). |
| qtest_create_moduleA | Create a Test Design module (folder). Omit parentId to create at the root, or supply parentId to nest it under an existing module. |
| qtest_update_moduleA | Update a module's name, description, or custom fields. Provide fields as a map of fieldId -> value. |
| qtest_list_test_casesA | List test cases in a project, optionally scoped to a module via parentId. Supports client-side filtering by name substring. |
| qtest_get_test_caseA | Fetch a single test case by ID, including its test steps and properties. |
| qtest_create_test_caseA | Create a test case inside a module. You can include ordered test steps and custom field values (fieldId -> value map). |
| qtest_update_test_caseA | Update a test case's name, description, precondition, or custom fields. Creates a new version in qTest. |
| qtest_add_test_stepA | Append a single test step (action + expected result) to an existing test case. |
| qtest_list_requirementsA | List requirements in a project, optionally scoped to a parent module. Supports client-side filtering by name substring. |
| qtest_get_requirementA | Fetch a single requirement by ID. |
| qtest_create_requirementA | Create a requirement under a module. Supply parentId for the containing module and optional custom fields (fieldId -> value). |
| qtest_update_requirementA | Update a requirement's name, description, or custom fields. Optionally move it to a different parent module. |
| qtest_link_test_cases_to_requirementA | Create coverage links between a requirement and one or more test cases. This is the primary traceability action: it marks the listed test cases as covering the requirement. IDs are numeric test case IDs (use qtest_list_test_cases to find them). |
| qtest_unlink_test_cases_from_requirementB | Remove coverage links between a requirement and one or more test cases. |
| qtest_get_requirement_coverageA | List the test cases currently linked to (covering) a requirement. |
| qtest_link_artifactsA | Generic object-linking between any two qTest artifact types. Link the source object (objectType/objectId) to the given target IDs of linkType. Example: link a 'test-cases' object to 'defects'. Supported types: test-cases, requirements, defects, test-runs. |
| qtest_get_traceability_matrixA | Retrieve the requirement traceability matrix report: requirements with their covering test cases. Useful for coverage audits. |
| qtest_list_test_cyclesA | List test cycles. With no parentId, returns root-level cycles. Provide parentId (and the matching parentType) to list children. Supports name filtering. |
| qtest_create_test_cycleA | Create a test cycle. Omit parentId for a root cycle, or nest under a release or another cycle by supplying parentId and parentType. |
| qtest_list_test_suitesA | List test suites under a test cycle (or release). Provide parentId and parentType. |
| qtest_create_test_suiteA | Create a test suite under a test cycle (or release). Test runs are added to suites. |
| qtest_add_test_runsA | Create test runs inside a test suite from a list of test case IDs. Each run represents one executable instance of a test case. Use qtest_list_test_cases to find test case IDs. |
| qtest_list_test_runsA | List test runs under a parent (test suite or test cycle). Provide parentId and parentType. |
| qtest_get_test_runA | Fetch a single test run by ID, including its latest status. |
| qtest_submit_test_logA | Record an execution result (test log) against a test run. Provide a status such as 'Passed', 'Failed', 'Blocked', or 'Incomplete'. Optionally include a note and execution start/end timestamps (ISO 8601). |
| qtest_searchA | Search a project's artifacts using qTest Query Language (QQL). Example queries: "Name ~ 'login'", "Status = 'Approved'", "'Automation' = 'Yes' and Priority = 'High'". Specify the artifact type to search. |
| qtest_list_fieldsA | List the system and custom fields (with their numeric IDs and allowed values) for an artifact type in a project. Use this to discover field IDs needed by the 'fields' parameter on create/update tools. |
| qtest_get_current_userA | Return the profile of the authenticated qTest user. Useful for verifying connectivity and permissions. |
| qtest_add_attachmentA | Attach a file (provided as base64 content) to a qTest artifact such as a test case, requirement, defect, or test log. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
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/VaniTTC/soco-qtest-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server