npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@syn7xx/testops-mcp-server

v0.2.1

Published

TestOps MCP Server - Model Context Protocol server for test operations

Downloads

1,106

Readme

TestOps MCP Server

npm

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>

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_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