About Testops MCP Server
Testops MCP Server is an MCP server in the Automation category: testOps MCP Server - Model Context Protocol server for test operations.
Install
claude mcp add testops-mcp-server -- npx -y @syn7xx/testops-mcp-servernpx -y @syn7xx/testops-mcp-serverThis server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.
Tools (4)
project_find_by_nameFind project by exact or partial name match
Parameters not published.
project_get_by_idGet project by ID
Parameters not published.
project_get_test_case_treesGet test case trees for a project
Parameters not published.
project_listList projects with pagination
Parameters not published.
Ask AI
Ask AI about Testops MCP Server
Powered by Claude · Grounded in docs
Security checks
- ✓README presentThe repository ships documentation.
5 checks have not been run yet.
README
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
README copy captured when this server was indexed; it may lag the repository. The original is authoritative.