# Wopee-io/wopee-mcp [Health: Active]

**Category:** 📂 Browser Automation  
**Repository:** https://github.com/Wopee-io/wopee-mcp  
**GitHub Stars:** 4  
**npm Downloads (last month):** 1331  
**Views:** 3  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/wopee-io-wopee-mcp

## Description
Autonomous testing for web apps — dispatch AI agents that open real browsers, execute test cases, and report pass/fail with screenshots. Generate user stories, test cases, and Playwright code from your app context. 8 tools for end-to-end test automation.

## Tools
Capabilities this server exposes over MCP:

- **wopee_create_blank_suite** — Create a new empty analysis suite in the current project. Use this as the first step when you want to manually build a test suite — the returned suite UUID is needed by wopee_generate_artifact, wopee_fetch_artifact, wopee_update_artifact, and wopee_dispatch_agent. If you want to auto-analyze a web app instead, use wopee_dispatch_analysis which creates and populates a suite in one step. Takes no input parameters; uses WOPEE_PROJECT_UUID from environment. Not idempotent: each call creates a new suite. Returns the suite object with UUID, name, type, and status. Fails if WOPEE_PROJECT_UUID is not configured.
- **wopee_fetch_analysis_suites** — List all analysis suites in the current project. Returns an array of suite objects with UUIDs, names, types (ANALYSIS, AGENT, etc.), and running statuses (IDLE, IN_PROGRESS, FINISHED). Use this to discover existing suites before calling other tools — you need a suite UUID for wopee_generate_artifact, wopee_fetch_artifact, wopee_update_artifact, and wopee_dispatch_agent. Read-only: does not create or modify anything. Takes no input; uses WOPEE_PROJECT_UUID from environment. Returns an empty array if no suites exist. Fails if WOPEE_PROJECT_UUID is not configured.
- **wopee_fetch_executed_test_cases** — Retrieve results of test cases executed by the autonomous agent. Returns each test case with its execution status (IN_PROGRESS, FINISHED, FAILED), agent report (natural language findings), and code report (technical details). Read-only: does not trigger any execution. Use this after wopee_dispatch_agent to check results — if status is IN_PROGRESS, wait and call again. Requires suite UUID. Optionally accepts an analysis identifier (e.g. A068, found in suite data) to filter to a specific analysis run. Returns an empty array if no test cases have been executed in this suite. Do NOT use this to fetch test artifacts like user stories or code — use wopee_fetch_artifact for that.
- **wopee_fetch_recent_executions** — Fetch the most recent test case executions for the current project (up to 20, newest first). Use this to check the status of recently dispatched tests without needing to remember specific suite UUIDs. Returns each run's verdict (PASSED, FAILED, or INCOMPLETE — the run never established a result, e.g. an infrastructure error, and says nothing about the application) or, for a run with no verdict yet, its execution status (IN_QUEUE, IN_PROGRESS, FINISHED, FAILED, STOPPED), plus agent reports. Takes no input; uses WOPEE_PROJECT_UUID from environment. Prefer this tool when the user asks 'what's the status?' or 'how did the tests go?' and you don't have the specific suite UUID handy.
- **wopee_fetch_test_inventory** — The authoritative tool for how many tests exist and their latest status. Returns, per analysis, the FULL list of authored test cases joined with their latest execution status — including never-run ones as NOT_RUN. Use this for questions like 'how many tests do I have', 'list the scenarios/test cases in A001', or 'show executed and not-run tests in one table'. Terminology: a 'scenario' is a test case; test cases are grouped under user stories (US001) and identified as US001:TC001. Reusable blocks (user story R001) are counted separately (reusableBlockCount) and are building blocks, not runnable, so they never carry an execution status. Regular tests are all non-R001 test cases. Read-only. Takes an optional analysisIdentifier (e.g. A001) to scope to one analysis; omit to cover every analysis in the project. Prefer this over wopee_fetch_recent_executions / wopee_fetch_executed_test_cases when the user asks about totals or the complete list — those return only test cases that have already run. Each test case carries executedTestCaseUuid (the latest run's uuid, the same one wopee_dispatch_agent returns) and verdictGateDisagreed (true when a verdict gate disagreed with a PASSED verdict — report it alongside the pass). Status UNKNOWN means the execution history could not be read (the reason is in the analysis's executionHistoryError); do not report such tests as not run.
- **wopee_fetch_variables** — Read the run-time variables (additionalVariables) that drive analysis/agent runs, at either level. level: PROJECT returns the project-level variables (uses WOPEE_PROJECT_UUID from the environment); level: ANALYSIS returns a specific analysis suite's variables and requires suiteUuid. Read-only. Returns a JSON string array of { key, value, sourceType } entries, or [] when none are set. Use wopee_fetch_analysis_suites to discover suite UUIDs.
- **wopee_update_variables** — Upsert the run-time variables (additionalVariables) that drive analysis/agent runs, at either level. level: PROJECT writes the project-level variables (uses WOPEE_PROJECT_UUID from the environment); level: ANALYSIS writes a specific analysis suite's variables and requires suiteUuid. Merge semantics: keys in variables[] are added or overwritten, existing keys not listed are preserved. Keys must be uppercase (e.g. BASE_URL); the server re-sanitizes and drops invalid keys. Returns a confirmation on success.
- **wopee_dispatch_analysis** — Create a new analysis suite AND dispatch an AI crawling agent in one step. The agent opens a real browser, navigates from the starting URL, discovers pages, and maps the application structure. Use this when you want to auto-analyze a web app — it combines suite creation and crawling. Use wopee_create_blank_suite instead if you want to manually populate the suite. Optionally accepts starting URL, login credentials, cookie preferences (ACCEPT_ALL, DECLINE_ALL, IGNORE), custom variables, and free-text instructions to guide the crawl. Not idempotent: each call creates a new suite and starts a new crawl. Side effects: creates a suite and execution records on the platform. Rate limit: 10 seconds between dispatches per project; concurrent calls auto-retry with exponential backoff. Returns the created suite object on success.
- **wopee_dispatch_agent** — Dispatch an autonomous AI agent to execute specific test cases. The agent opens a real browser, navigates the app, follows test steps, and reports results. Tests run ASYNCHRONOUSLY (1-3 minutes). This tool returns tracking info confirming dispatch — NOT final results. Do NOT interpret the response as pass/fail. Results arrive later via chat notifications. Prerequisite: test cases must exist in the suite (generate with wopee_generate_artifact type USER_STORIES_WITH_TEST_CASES). Use wopee_fetch_recent_executions or wopee_fetch_executed_test_cases to check status later.
- **wopee_fetch_artifact** — Retrieve a specific test artifact from a suite. Returns the artifact content as text. Use this to review what wopee_generate_artifact created, or to retrieve existing artifacts before editing with wopee_update_artifact. Does NOT modify any data — this is a read-only operation. If the requested artifact type has not been generated yet for this suite, returns an empty result. For PLAYWRIGHT_CODE, you must provide the test case identifier (e.g. 'US004:TC006'); omitting it returns an error. For all other types, the identifier parameter is ignored.
- **wopee_update_artifact** — Create or overwrite a test artifact in a suite with caller-supplied content. The full content is replaced, not patched. Use this to upload your own APP_CONTEXT (e.g. built from JIRA / Confluence), user stories, project context, or Playwright code, or to fix / refine an artifact previously authored by wopee_generate_artifact. Works on any suite, including freshly-created blank suites with no prior generation — the artifact does not need to exist beforehand. Use wopee_generate_artifact instead when you want the Wopee.io AI engine to author the content from scratch. On success, returns confirmation. On failure (e.g. invalid suite UUID, storage misconfiguration), returns an error message. Idempotent: calling with the same content multiple times produces the same result.
- **wopee_generate_artifact** — Generate AI-powered test artifacts for a suite using the Wopee.io AI engine. Each call creates one artifact type — call multiple times for different types. Generation order matters: APP_CONTEXT must be generated before user stories, and user stories before test cases. If called out of order, the AI may produce lower quality results. On success, returns confirmation that generation started. Use wopee_fetch_artifact to retrieve the generated content once ready. Do NOT use this to update existing artifacts — use wopee_update_artifact instead. Generating the same type again overwrites the previous version.
- **wopee_send_chat_message** — Send a message to the current project's chat room. Use this to post status updates (e.g., 'Test run started...', 'Analysis complete') or informational messages to the chat. The message will appear as a SYSTEM message in the chat room. Requires WOPEE_PROJECT_UUID to be configured.
- **wopee_read_chat_history** — Read recent messages from the current project's chat room. Returns the last N messages in chronological order, including sender info and timestamps. Use this to understand the conversation context or review what has been discussed. Requires WOPEE_PROJECT_UUID to be configured.
- **wopee_create_github_issue** — Create a new GitHub issue in the project's connected repository. Use this to report bugs found during testing, track test failures, or create action items from chat discussions. The issue will be created in the GitHub repository linked to the current project. Requires the project to have GitHub integration configured and WOPEE_PROJECT_UUID to be set.

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `npx` (confidence: high):

```json
"mcpServers": {
  "wopee-mcp": {
    "command": "npx",
    "args": ["-y","wopee-mcp"],
    "env": {
      "WOPEE_PROJECT_UUID": "",
      "WOPEE_API_KEY": ""
    }
  }
}
```

**Requires environment variables:** `WOPEE_PROJECT_UUID`, `WOPEE_API_KEY` — the values above are empty placeholders; fill in real credentials before running (see the repository for what each one is for).

## Documentation

## What Wopee-io/wopee-mcp does

Wopee-io/wopee-mcp exposes Wopee.io testing workflows through MCP. An agent can discover existing analysis suites, create a blank suite for manual setup, or start a new crawl from an application URL. The crawl uses a real browser to inspect pages and map the application structure.

Once a suite exists, the agent can generate application context, general user stories, user stories with test cases, test case steps, reusable test cases, and reusable test case steps. Playwright code can be retrieved for individual test cases. Caller-supplied artifacts can also be uploaded or replaced, which supports bringing context from systems such as JIRA or Confluence into a suite.

The server also exposes project-level operations. Agents can read or update runtime variables, post and read project chat messages, and create GitHub issues in the repository connected to the Wopee.io project.

## How it works

Most suite operations use a `suiteUuid`. Fetch existing suites first, or create one with `wopee_create_blank_suite` or `wopee_dispatch_analysis`. The analysis dispatch creates a suite and launches an asynchronous browser crawl; it can receive a starting URL, login credentials, cookie preferences, variables, and additional instructions.

Artifact generation follows an order: application context should come before user stories, and user stories should come before test cases. Generated content is retrieved separately with `wopee_fetch_artifact`. Existing content can be read and fully replaced with `wopee_update_artifact`.

Test execution is also asynchronous. `wopee_dispatch_agent` returns dispatch and tracking information rather than a final verdict. Use recent execution results or suite-specific executed test cases later to inspect progress and reports. For complete inventories, including authored tests that have never run, use `wopee_fetch_test_inventory`.

## Setup and configuration

Run the server with Node.js using:

```bash
npx wopee-mcp
```

Configure it as a stdio MCP server in an MCP-compatible client. The required environment variables are `WOPEE_PROJECT_UUID`, identifying the Wopee.io project, and `WOPEE_API_KEY`, providing API authentication. `WOPEE_API_URL` can point to an alternate endpoint for testing or development.

HTTPS proxy variables are supported for restricted networks, including `HTTPS_PROXY` and `HTTP_PROXY`. If an internal certificate or TLS-inspecting proxy is used, Node.js may need a trusted CA configured through `NODE_EXTRA_CA_CERTS`. Disabling TLS verification with `NODE_TLS_REJECT_UNAUTHORIZED=0` is described only as a local debugging workaround.

## Tools and capabilities

- Discover, create, and rerun analysis suites.
- Crawl applications with an autonomous browser agent.
- Generate, fetch, and replace testing artifacts.
- Dispatch asynchronous test execution and inspect reports.
- View full test inventories with latest statuses and not-run cases.
- Manage project and analysis runtime variables.
- Exchange project chat messages and create connected GitHub issues.

## Limitations and notes

Analysis dispatch creates a new suite and has a ten-second per-project dispatch interval; concurrent calls retry with exponential backoff. Agent execution generally takes one to three minutes, so dispatch confirmation is not a pass or fail result.

Artifact generation order affects output quality, and generating an existing artifact type overwrites its previous version. Updating an artifact replaces the full content rather than applying a patch. Playwright artifact retrieval requires a test case identifier such as `US004:TC006`.

A project must have its GitHub integration configured before issue creation works. Runtime variable keys must use uppercase characters and underscores; invalid keys are removed during server-side sanitization.

_Full upstream README: https://allmcps.com/mcp/wopee-io-wopee-mcp/readme_

