# TestOptim [Verified owner] [Health: Active]

**Category:** 💻 Developer Tools  
**Repository:** https://github.com/TestOptim-AI/testoptim-mcp  
**GitHub Stars:** 0  
**Views:** 6  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/testoptim

## Description
TestOptim is an AI QA platform. Its hosted MCP server lets coding agents start a QA test run on the pages they changed (or the whole suite), check the run, read the bugs it found with steps to reproduce and screenshots, and re-explore the app after new pages are added. Tools: list_projects, start_test_run, get_test_run, stop_test_run, list_issues, get_issue, start_exploration, get_exploration.

## Tools
Capabilities this server exposes over MCP:

- **list_projects** — Lists the projects the key can access, to find the project ID the other tools need.
- **start_test_run** — Starts a test run and returns the run ID. Pass `changedAreas` to re-test only the pages or flows you just changed; leave it out for the whole suite. Runs take minutes.
- **get_test_run** — Shows a run's status (`pending`, `running`, `completed`, `failed`), progress, current step and issue counts by severity.
- **stop_test_run** — Stops a running test run, so no further test cases are executed and billed. A stopped run reports as `failed`.
- **list_issues** — Lists a project's issues as summaries: ID, title, severity, category, status. Pass `testRunId` for only what one run found.
- **get_issue** — Gets one issue in full: description, steps to reproduce, expected and actual behaviour, page URL and screenshot.
- **start_exploration** — Explores the project's app so TestOptim learns new or changed pages and flows. Spends the plan's page allowance and replaces an exploration already running. Returns an exploration ID.
- **get_exploration** — Shows an exploration's status, progress and, once it ends, how many pages, flows and entities it recorded. `waiting_otp_ready` or `waiting_otp` means the login needs a one-time code entered in the TestOptim app.

## Claude Desktop Quick Installation
No generated config for this server: it installs through its own setup steps.

The project's own setup steps (from https://github.com/TestOptim-AI/testoptim-mcp), copied verbatim. Run them in order; they are not an mcpServers config.

1. Add to Claude Code:

```sh
claude mcp add --transport http testoptim https://api.testoptim.com/api/mcp \
  --header "Authorization: Bearer ${TESTOPTIM_TOKEN}"
```

## Documentation

## What TestOptim MCP server does

TestOptim MCP server gives MCP-compatible coding agents access to TestOptim’s web application QA workflows. It can identify projects available to an API key, launch a test run for an entire project, or focus a run on selected pages and flows through `changedAreas`. Agents can then follow the run until it completes or fails and review the issues that were found.

Issue results include summary fields such as title, severity, category, and status. A detailed issue response adds the description, reproduction steps, expected and actual behavior, affected page URL, and screenshot. This makes the server suitable for an agent loop in which code changes are followed by targeted testing and issue review.

The server also exposes exploration operations. Exploration scans the project’s application so TestOptim can record new or modified pages, flows, and entities for later testing.

## How it works

TestOptim hosts the MCP endpoint at `https://api.testoptim.com/api/mcp`. Communication uses stateless Streamable HTTP with `POST` requests. Each request carries an `Authorization: Bearer ...` header containing a TestOptim API key; the service does not use session IDs.

A typical workflow is:

1. Call `list_projects` to obtain an accessible project ID.
2. Use `start_test_run` with that ID, optionally passing paths or flows in `changedAreas`.
3. Poll `get_test_run` for status, progress, the current step, and issue counts by severity.
4. Filter results with `list_issues`, then call `get_issue` for reproduction details and screenshots.
5. Stop an unnecessary run with `stop_test_run`.

For applications with new or changed coverage, `start_exploration` returns an exploration ID. `get_exploration` reports progress and, after completion, the number of pages, flows, and entities recorded.

## Setup and configuration

No local package or process is required. Create a TestOptim API key from **Settings**, **API keys**, and select project access and permissions appropriate for the client. The key is shown only once and should be kept outside committed configuration where possible.

Set the key in the environment used to launch the client:

```bash
export TESTOPTIM_TOKEN="topt_..."
```

Then add the hosted endpoint to the client’s MCP configuration with the bearer header. Claude Code, Cursor, VS Code, Windsurf, and Claude Desktop are documented connection options. VS Code can prompt for and securely store the key; the other configuration examples use the environment variable or a locally configured header. Claude Desktop and claude.ai can also connect through a custom connector.

A Claude Code plugin connects the server and installs the `testoptim-qa` skill together. The skill can also be installed separately with the `skills` CLI for agents that support `SKILL.md` files.

## Tools and capabilities

- `list_projects` finds projects available to the API key.
- `start_test_run` launches a complete or targeted test run.
- `get_test_run` reports run state, progress, current step, and severity counts.
- `stop_test_run` halts a running run before additional test cases execute.
- `list_issues` returns issue summaries, optionally filtered by run or severity.
- `get_issue` returns full issue context, including screenshots and reproduction steps.
- `start_exploration` discovers application pages, flows, and entities.
- `get_exploration` reports exploration progress and recorded coverage.

The server only exposes tools allowed by the API key’s permissions. Read-only keys therefore cannot see run-starting tools.

## Limitations and notes

TestOptim requires an account with at least one project containing generated test cases. Creating API keys requires the organization’s Owner or Admin role. Runs consume plan test executions and are attributed to the person who created the key; stopping a run prevents further execution and billing, but the stopped run is reported as `failed`.

Exploration uses the plan’s page allowance. Starting a new exploration replaces one that is already running. If an exploration reports `waiting_otp_ready` or `waiting_otp`, a one-time login code must be entered in the TestOptim application before it can continue.

The endpoint is stateless and accepts `POST` requests; `GET` and `DELETE` return `405`. Shared organization connectors should use narrowly scoped keys because all users of the connector share that credential.

_Full upstream README: https://allmcps.com/mcp/testoptim/readme_

