AI-powered autonomous testing for your apps -- connect Claude, Cursor, or any MCP-compatible AI agent to Wopee.io and generate test cases, user stories, and run autonomous tests in seconds.
npx wopee-mcp- Node.js (v18 or higher recommended)
- An IDE that supports MCP (Model Context Protocol), such as Cursor or VSCode
Add this server to your MCP configuration.
{
"mcpServers": {
"wopee": {
"command": "npx wopee-mcp",
"env": {
"WOPEE_PROJECT_UUID": "your-project-uuid-here",
"WOPEE_API_KEY": "your-api-key-here"
}
}
}
}WOPEE_PROJECT_UUID- Your Wopee project UUID. This identifies which project you're working with.WOPEE_API_KEY- Your Wopee API key. You can create one at cmd.wopee.io, in your project's settings.
WOPEE_API_URL- The Wopee API endpoint URL. Should be specified only for testing/development purposes.
If you're behind a corporate proxy/VPN and experiencing connection timeouts, you can configure proxy settings using standard environment variables:
{
"mcpServers": {
"wopee": {
"command": "npx wopee-mcp",
"env": {
"WOPEE_PROJECT_UUID": "your-project-uuid-here",
"WOPEE_API_KEY": "your-api-key-here",
"HTTPS_PROXY": "http://your-proxy-server:8080"
}
}
}
}HTTPS_PROXYorhttps_proxy- Proxy server URL for HTTPS connections (recommended)HTTP_PROXYorhttp_proxy- Fallback proxy server URL
If you're unsure about your proxy settings, check your VS Code settings (settings.json) for http.proxy value, or consult your IT department. Common corporate proxy formats:
http://proxy.company.com:8080http://10.x.x.x:8080http://username:password@proxy.company.com:8080(if authentication is required)
This is not required for MCP to work. If you see HTTPS or certificate-related errors, that indicates a TLS or certificate trust issue in your environment.
If the server fails with errors such as UNABLE_TO_VERIFY_LEAF_SIGNATURE or certificate has expired, it may be due to:
- Self-signed certificates (e.g. when
WOPEE_API_URLpoints to an internal or dev server) - Corporate proxy / SSL inspection (traffic re-encrypted with a corporate CA your machine doesn’t trust)
- Missing CA certificates in Node’s trust store
-
Use a valid TLS certificate – e.g. Let’s Encrypt, or an internal CA – and ensure the full certificate chain is served.
-
Install the corporate or internal CA so Node trusts it:
Example:
export NODE_EXTRA_CA_CERTS=/etc/ssl/certs/internal-ca.pemIn MCP config
env:"env": { "WOPEE_PROJECT_UUID": "your-project-uuid-here", "WOPEE_API_KEY": "your-api-key-here", "NODE_EXTRA_CA_CERTS": "/path/to/ca.pem" }
For local debugging only, you may disable TLS verification in Node. This should never be used in production, as it disables HTTPS security and exposes traffic to interception.
export NODE_TLS_REJECT_UNAUTHORIZED=0Or in MCP config env:
"env": {
"WOPEE_PROJECT_UUID": "your-project-uuid-here",
"WOPEE_API_KEY": "your-api-key-here",
"NODE_TLS_REJECT_UNAUTHORIZED": "0"
}Treat this as a debug-only escape hatch, not a normal setup step.
Note: Some users have reported setting PYTHONHTTPSVERIFY=0 as well. This MCP server does not use Python; that variable has no effect on it. It would only apply if you run a Python-based MCP host or other tooling that also performs HTTPS in the same environment—outside the scope of this server.
Most tools in this MCP server require a suiteUuid to operate. You have two options to get started:
Start by fetching your existing analysis suites:
Use the wopee_fetch_analysis_suites tool to retrieve all available suites for your project.
This will return a list of all analysis suites with their UUIDs, which you can then use with other tools.
If you don't have any suites yet, you have two options:
Automatic Analysis: Create and dispatch a full analysis/crawling suite:
Use the wopee_dispatch_analysis tool to create and dispatch a new analysis/crawling suite.
Blank Suite: Create an empty suite for manual configuration:
Use the wopee_create_blank_suite tool to create a blank analysis suite.
Both options will return a suite UUID, which you can use for subsequent operations.
Fetches all analysis suites for your project. This is a good starting point to see what suites are available.
- Returns: Array of analysis suites with their UUIDs, names, statuses, and metadata
Example Usage:
Fetch all existing analysis suites for my project
Creates and dispatches a new analysis/crawling suite for your project, or reruns an existing one. Use this to start a fresh analysis session or to re-trigger a previous analysis.
- Parameters:
additionalInstructions(optional) - Additional instructions to guide the agent during the analysis/crawling phase (e.g. focus areas, things to ignore, login steps, etc.)additionalVariables(optional) - Additional environment variables to pass to the analysis. Array of objects, each with:key- Variable name, must be uppercase with underscores only (e.g.MY_VAR,BASE_URL)value- Variable value (non-empty string)
rerun(optional) - If provided, reruns an existing analysis suite instead of creating a new one. Object with:suiteUuid- UUID of the existing suite to rerunanalysisIdentifier- Analysis identifier of the existing suitemode- Rerun mode:FULL(reruns the entire analysis including crawling and generation) orCRAWLING(reruns only the crawling phase)
- Returns: Success message with the created/rerun suite information
Example Usage:
Dispatch a new analysis suite
Dispatch a new analysis suite and focus on the checkout flow
Dispatch a new analysis suite with additional variables CARD_FILAMENT=123321123 and AUTH_TOKEN=abc123
Rerun the full analysis for suite <suiteUuid> with analysis identifier <analysisIdentifier>
Rerun only the crawling phase for suite <suiteUuid> with analysis identifier <analysisIdentifier>
Creates a blank analysis suite for your project. Use this when you want to manually configure and populate a suite rather than having it automatically analyzed.
- Returns: The created suite information including its UUID
Example Usage:
Create a blank analysis suite for my project
These tools generate various artifacts for a specific suite. All require a suiteUuid and type to generate.
Generates a specific file(artifact) for the selected suite.
- Parameters:
suiteUuid- The UUID of the suitetype-"APP_CONTEXT" | "GENERAL_USER_STORIES" | "USER_STORIES_WITH_TEST_CASES" | "TEST_CASES" | "TEST_CASE_STEPS" | "REUSABLE_TEST_CASES" | "REUSABLE_TEST_CASE_STEPS"
- Returns: Generated output in case of successful generation.
Example Usage:
Generate app context for my most recent analysis suite
These tools retrieve generated artifacts for a specific suite. All require a suiteUuid and type.
Fetches the enquired file(artifact) from the selected suite.
- Parameters:
suiteUuid- The UUID of the suitetype-"APP_CONTEXT" | "GENERAL_USER_STORIES" | "USER_STORIES" | "PLAYWRIGHT_CODE" | "PROJECT_CONTEXT"identifier- Identifier of the test case to fetch Playwright code for, ex.US003:TC004
- Returns: The file contents in case of successful fetch.
Example Usage:
Fetch user stories for the latest suite
These tools are used to update or set certain files(artifacts) for a specific suite. suiteUuid, type and content is required.
Updates/replaces existing file(artifact) for a specific suite
- Parameters:
suiteUuid- The UUID of the suitetype-"APP_CONTEXT" | "GENERAL_USER_STORIES" | "USER_STORIES" | "PLAYWRIGHT_CODE" | "PROJECT_CONTEXT"content- Markdown content forapp context,general user storiesandproject context, structured JSON foruser storiesidentifier- Identifier of the test case to fetch Playwright code for, ex.US003:TC004
- Returns: Boolean based of success status of the tool call
Example Usage:
Update app context file for the most recent suite with this content: <YourMarkdown>
Dispatches an autonomous testing agent to execute test cases for a selected suite.
- Parameters:
suiteUuid- The UUID of the suite containing the test casesanalysisIdentifier- The analysis identifier for the suitetestCases- Array of test case objects to execute, each containing:testCaseId- The ID of the test caseuserStoryId- The ID of the associated user story
- Returns: Success message indicating the agent has been dispatched
Example Usage:
Dispatch agent for my latest suite's user story US001 and test case TC003
-
Start with a suite:
- Use
wopee_fetch_analysis_suitesto see existing suites, OR - Use
wopee_dispatch_analysisto create a new suite
- Use
-
Generate artifacts:
- Generate app context:
wopee_generate_artifactwithAPP_CONTEXTand specificsuiteUuid - Generate general user stories:
wopee_generate_artifactwithGENERAL_USER_STORIESand specificsuiteUuid - Generate user stories with test cases:
wopee_generate_artifactwithUSER_STORIES_WITH_TEST_CASESand specificsuiteUuid - Generate reusable test cases:
wopee_generate_artifactwithREUSABLE_TEST_CASESand specificsuiteUuid - Generate reusable test case steps:
wopee_generate_artifactwithREUSABLE_TEST_CASE_STEPSand specificsuiteUuid - Generate test case steps:
wopee_generate_artifactwithTEST_CASE_STEPSand specificsuiteUuid
- Generate app context:
-
Fetch generated content:
- Use the fetch tools to retrieve generated markdown/JSON files
-
Run tests:
- Use
wopee_dispatch_agentto execute test cases with the autonomous testing agent
- Use
- Most tools require a
suiteUuid. Always start by fetching or creating a suite. wopee_dispatch_analysistool will go through whole cycle of processing - crawling the application and generating all of the files(artifacts) one by one.- It is advisable to use cmd.wopee.io for a convenient visual representation of the generated data and results of the agent runs.