Testops MCP Server
TestOps MCP Server - Model Context Protocol server for test operations
Ask AI about Testops MCP Server
Powered by Claude Β· Grounded in docs
I know everything about Testops MCP Server. Ask me about installation, configuration, usage, or troubleshooting.
0/500
Reviews
Documentation
TestOps MCP Server
Model Context Protocol server for TestOps 5.25
Installation
npm install @syn7xx/testops-mcp-server
Or use directly via npx:
npx @syn7xx/testops-mcp-server --url <testops-url> --token <api-token>
Short flags: -u / -t / -h (same as --url, --token, --help).
Environment variables: TESTOPS_URL, TESTOPS_TOKEN (used when flags are omitted).
Build
npm run build
Run
npm start -- --url <testops-url> --token <api-token>
Or with npx (if not installed globally):
npx @syn7xx/testops-mcp-server --url <testops-url> --token <api-token>
TLS verification (optional)
If TestOps is served with a self-signed certificate or HTTPS is intercepted by a corporate proxy and Node.js fails TLS validation, you can disable certificate verification for that Node process by setting:
export NODE_TLS_REJECT_UNAUTHORIZED=0
Then start the server as usual (npm start, npx, or your MCP command). In MCP configs that support server environment variables, set the same name next to TESTOPS_URL / TESTOPS_TOKEN (e.g. OpenCode environment, or your clientβs env field).
Security: this disables TLS peer verification for all HTTPS calls from that process. Prefer installing the correct CA in the system trust store; use NODE_TLS_REJECT_UNAUTHORIZED=0 only when necessary and in a trusted environment.
MCP setup in AI tools
Configs differ by product:
| Product | Typical config file | Root key | Notes |
|---|---|---|---|
| Cursor, Windsurf, Kilo Code, Zed | mcp.json (paths vary) | mcpServers | command + args |
| Visual Studio Code | .vscode/mcp.json or user MCP config | servers | Official docs β not mcpServers |
| Claude Desktop | claude_desktop_config.json | mcpServers | Same idea as Cursor |
| OpenCode | opencode.jsonc (project or user config) | mcp | type: "local", command as array, env under environment |
Do not commit real tokens; use env vars or local-only config.
Cursor, Windsurf, Kilo Code, Zed
These use top-level mcpServers, each entry has command (string) and args (array).
Cursor β ~/.cursor/mcp.json or project .cursor/mcp.json:
{
"mcpServers": {
"testops": {
"command": "npx",
"args": [
"-y",
"@syn7xx/testops-mcp-server",
"--url",
"https://your-testops.com",
"--token",
"your-token"
]
}
}
}
Windsurf β ~/.config/windsurf/mcp.json or project .windsurf/mcp.json (same structure).
Kilo Code β ~/.kilocode/mcp.json or project .kilocode/mcp.json (same structure).
Zed β ~/.config/zed/mcp.json (same structure).
Visual Studio Code
VS Code stores MCP config in mcp.json with top-level servers, not mcpServers (see Add and manage MCP servers in VS Code and the MCP configuration reference).
Workspace file: .vscode/mcp.json, or run MCP: Open User Configuration for a global file.
{
"servers": {
"testops": {
"command": "npx",
"args": [
"-y",
"@syn7xx/testops-mcp-server",
"--url",
"https://your-testops.com",
"--token",
"your-token"
]
}
}
}
For sensitive values, prefer input variables or env files as described in the reference.
OpenCode
OpenCode does not use mcpServers. Define servers under mcp, set type: "local", pass the process as a command array (e.g. npx, -y, @syn7xx/testops-mcp-server, β¦), and optional env in environment (not env). See OpenCode MCP servers.
Example β opencode.jsonc in the project root or in the global OpenCode config:
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"testops": {
"type": "local",
"command": [
"npx",
"-y",
"@syn7xx/testops-mcp-server",
"--url",
"https://your-testops.com",
"--token",
"your-token"
],
"enabled": true
}
}
}
Using environment variables instead of flags:
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"testops": {
"type": "local",
"command": ["npx", "-y", "@syn7xx/testops-mcp-server"],
"environment": {
"TESTOPS_URL": "https://your-testops.com",
"TESTOPS_TOKEN": "your-token"
},
"enabled": true
}
}
}
Claude Desktop
macOS β ~/Library/Application Support/Claude/claude_desktop_config.json:
{
"mcpServers": {
"testops": {
"command": "npx",
"args": [
"@syn7xx/testops-mcp-server",
"--url",
"https://your-testops.com",
"--token",
"your-token"
]
}
}
}
On Windows, the config lives under %APPDATA%\Claude\ β see Anthropicβs Claude Desktop documentation for the exact path.
Global install (optional)
If you prefer a fixed binary path instead of npx:
npm install -g @syn7xx/testops-mcp-server
Then use "command": "testops-mcp-server" and "args": ["--url", "...", "--token", "..."] under mcpServers (Cursor, Claude, β¦) or servers (VS Code), or the command array in OpenCode.
Tools
Project
| Tool | Description |
|---|---|
project_list | List projects with pagination |
project_find_by_name | Find project by exact or partial name match |
project_get_by_id | Get project by ID |
Launch (test run)
| Tool | Description |
|---|---|
launch_create | Create a launch directly |
launch_stop | Close/stop a launch (end the run) |
launch_get_statistic | Run summary: counts by status + progress ready |
launch_list_test_results | Flat paginated test results for a launch (sort can be a string or array for multiple sort params) |
Test Plan
| Tool | Description |
|---|---|
testplan_get | Get test plan by ID |
testplan_get_test_cases | Get test cases from test plan with pagination |
testplan_run | Start a launch from a test plan |
testplan_sync | Sync test plan with source |
Test Case
Routing is defined in each toolβs description in tools/list. For step actions and expected results as scenario JSON, use testcase_get_scenario or testcase_get_step (same behavior).
| Tool | Description |
|---|---|
testcase_get | Get test case by ID |
testcase_get_detail | Summary with flattened step strings and custom fields (not raw scenario JSON) |
testcase_get_scenario | Scenario JSON: steps and expected results |
testcase_get_step | Same as testcase_get_scenario (alias for LLM-friendly naming) |
testcase_update_step | Update a step in scenario |
testcase_set_scenario | Replace all steps in scenario |
testcase_get_custom_fields | Get custom field values |
testcase_update_custom_fields | Update custom field values |
testcase_search_by_aql | Search test cases using AQL |
testcase_list_in_tree | List test cases in a project tree (treeId, optional parentNodeId) |
Project Structure
src/
βββ shared/openapi/ # HTTP DTOs (`common-dto`, `project-dto`, `test-plan-dto`, `test-case-dto`, `launch-dto`, `launch-test-result-dto`)
βββ shared/ # Utilities, API client, pagination
βββ domain/ # Business logic (project, launch, test-plan, test-case)
βββ presentation/ # MCP tools (project, launch, test-plan, test-case)
βββ index.ts # Entry point
βββ server.ts # MCP server configuration
License
MIT
