TestOps MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| TESTOPS_URL | Yes | TestOps instance URL (e.g. https://testops.example.com) | |
| TESTOPS_TOKEN | Yes | API token for authentication | |
| TESTOPS_LOG_LEVEL | No | Runtime stderr log level: error, info, or debug (default: error) | |
| TESTOPS_PAGE_SIZE | No | Pagination page size (server default if not set) | |
| TESTOPS_READ_ONLY | No | Set to 'true' to disable all write operations | |
| TESTOPS_RETRY_MAX | No | Retry count for transient read-request failures (default: 2) | |
| TESTOPS_LOG_FORMAT | No | Runtime stderr log format: json or pretty (default: json) | |
| TESTOPS_PROJECT_ID | No | Default project ID (so you don't have to specify it in every request) | |
| TESTOPS_TIMEOUT_MS | No | Request timeout in milliseconds for auth and API calls (default: 30000) | |
| TESTOPS_RETRY_BASE_MS | No | Base backoff delay in milliseconds for transient read-request retries (default: 250) |
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 |
|---|---|
| list-projectsB | List all projects in TestOps. Returns project IDs needed for other operations. |
| get-projectC | Get project details by ID. |
| list-test-casesB | List test cases in a project. Use list-projects first to get projectId. Supports text search. |
| search-test-casesA | Search test cases using AQL (Allure Query Language). Examples:
|
| get-test-caseA | Get basic information about a test case. For full details including members, issues, custom fields, relations, requirements, and test keys — use get-test-case-overview instead. |
| get-test-case-overviewA | Get FULL test case information including members, issue links, custom fields, requirements, and test keys. Use this when you need complete test case details. |
| get-test-case-historyA | Get past runs of this test case across launches (status, launch, duration, failure message). This is a run history, not an edit log — TestOps does not expose who changed the test case. |
| create-test-caseA | Create a new test case. Supports setting name, description, tags, links, and members. For custom fields, issues, relations, requirements, and test keys — create the test case first, then use dedicated set-* tools. |
| update-test-caseA | Update an existing test case. Supports updating name, description, tags, links, and members. For custom fields, issues, relations, requirements, and test keys — use dedicated set-* tools. |
| delete-test-caseA | Delete a test case by ID. This action is irreversible. |
| get-test-case-scenarioA | Get the scenario (steps) of a test case. Reads both Gherkin scenarios (Given/When/Then) and manual steps added through the UI. |
| update-test-case-scenarioA | Update the scenario (steps) of a test case. Replaces all existing steps. |
| get-test-case-issuesA | Get issue links for a test case (e.g. Jira issues). |
| set-test-case-issuesA | Set issue links for a test case (replaces all existing). Use to link Jira/YouTrack/etc issues. |
| get-test-case-membersB | Get members (owner, reviewers, etc.) for a test case. |
| set-test-case-membersA | Set members for a test case (replaces all existing). Each member needs a user ID and role ID. |
| get-test-case-custom-fieldsB | Get custom field values for a test case (e.g. Component, Priority, Team, Section). |
| set-test-case-custom-fieldsA | Update custom field values for a test case. First use get-test-case-custom-fields to see available fields and their IDs. Automatically merges with existing values — only the specified fields are replaced, others are preserved. |
| get-test-case-relationsA | Get relations for a test case (related to, clones, duplicates, etc.). |
| set-test-case-relationsA | Set relations for a test case (replaces all existing). Types: "related to", "clones", "is cloned by", "duplicates", "is duplicated by", "automates", "is automated by". |
| get-test-case-requirementsB | Get requirements linked to a test case. |
| set-test-case-requirementsA | Set requirements for a test case (replaces all existing). |
| get-test-case-test-keysB | Get test keys for a test case. |
| set-test-case-test-keysA | Set test keys for a test case (replaces all existing). |
| list-test-plansB | List test plans in a project. Use list-projects first to get projectId. |
| get-test-planC | Get test plan details by ID. |
| create-test-planB | Create a new test plan in a project. |
| update-test-planC | Update an existing test plan. |
| get-test-plan-test-casesC | Get test cases included in a test plan. |
| list-launchesC | List test launches in a project. |
| get-launchC | Get launch details by ID. |
| get-launch-progressA | Get execution progress of a launch: whether it has finished, plus its test status counts. Use it to tell a still-running launch from a completed one. |
| get-launch-test-resultsC | Get test results for a specific launch. |
| list-test-resultsC | List test results in a project. Optionally filter by launch. |
| get-test-resultA | Get detailed test result by ID. |
| get-test-result-historyA | Get previous runs of the same test (status, launch and failure message per run). Use it to tell a stable failure from a flaky one. |
| update-test-resultB | Update a test result (e.g., change status or add comment). |
| list-defectsC | List defects in a project. |
| get-defectB | Get defect details by ID. |
| create-defectB | Create a new defect in a project. |
| update-defectC | Update an existing defect. |
| get-automation-trendC | Get automation trend chart data for a project. |
| get-status-distributionC | Get test case status distribution for a project. |
| get-success-rateC | Get test success rate trend for a project. |
| list-test-layersA | List available test layers (e.g. UI, API, Unit). Use the returned IDs when setting testLayerId in create-test-case or update-test-case. |
| list-workflowsB | List available workflows with their statuses (e.g. Active, Draft, Deprecated). Use status IDs when setting statusId in create-test-case or update-test-case. |
| list-project-custom-fieldsA | List custom fields configured for a project (e.g. Component, Priority, Team, Story). Use the returned IDs with list-custom-field-values and the names in AQL cf["Name"] filters. |
| list-custom-field-valuesA | List the values a custom field can take in a project. Use it to build AQL filters with real values instead of guessed ones. |
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/kirchik95/testops-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server