wopee-mcp

wopee-mcp

MCP server for autonomous end-to-end testing with Wopee.io. Analyzes web applications, generates and executes Playwright-based functional tests, and validates results — all driven by natural language commands.

Category
访问服务器

README

Wopee MCP Server

A Model Context Protocol (MCP) server for interacting with Wopee.io's autonomous testing platform. This server provides tools for managing analysis suites, generating test cases, user stories, and dispatching autonomous testing agents.

Setup

Prerequisites

  • Node.js (v18 or higher recommended)
  • An IDE that supports MCP (Model Context Protocol), such as Cursor or VSCode

MCP Server Configuration

Add this server to your MCP configuration.

Configuration Example

{
  "mcpServers": {
    "wopee": {
      "command": "npx wopee-mcp",
      "env": {
        "WOPEE_PROJECT_UUID": "your-project-uuid-here",
        "WOPEE_API_KEY": "your-api-key-here"
      }
    }
  }
}

Required Environment Variables

  • 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.

Optional Environment Variables

  • WOPEE_API_URL - The Wopee API endpoint URL. Should be specified only for testing/development purposes.

Corporate Proxy Configuration

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"
      }
    }
  }
}

Supported Proxy Environment Variables

  • HTTPS_PROXY or https_proxy - Proxy server URL for HTTPS connections (recommended)
  • HTTP_PROXY or http_proxy - Fallback proxy server URL

Finding Your Proxy Settings

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:8080
  • http://10.x.x.x:8080
  • http://username:password@proxy.company.com:8080 (if authentication is required)

TLS / Certificate Issues

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_URL points 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

Preferred solutions (secure)

  1. Use a valid TLS certificate – e.g. Let’s Encrypt, or an internal CA – and ensure the full certificate chain is served.

  2. Install the corporate or internal CA so Node trusts it:

    Example:

    export NODE_EXTRA_CA_CERTS=/etc/ssl/certs/internal-ca.pem
    

    In 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"
    }
    

Insecure workaround (not recommended)

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=0

Or 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.

Getting Started

Most tools in this MCP server require a suiteUuid to operate. You have two options to get started:

Option 1: Use Existing Suites

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.

Option 2: Create a New Suite

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.

Available Tools

Suite Management

wopee_fetch_analysis_suites

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

wopee_dispatch_analysis

Creates and dispatches a new analysis/crawling suite for your project. Use this to start a fresh analysis session.

  • 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)
  • Returns: Success message with the created 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

wopee_create_blank_suite

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

Generation Tools

These tools generate various artifacts for a specific suite. All require a suiteUuid and type to generate.

wopee_generate_artifact

Generates a specific file(artifact) for the selected suite.

  • Parameters:
    • suiteUuid - The UUID of the suite
    • type - "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

Fetch Tools

These tools retrieve generated artifacts for a specific suite. All require a suiteUuid and type.

wopee_fetch_artifact

Fetches the enquired file(artifact) from the selected suite.

  • Parameters:
    • suiteUuid - The UUID of the suite
    • type - "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

Update Tools

These tools are used to update or set certain files(artifacts) for a specific suite. suiteUuid, type and content is required.

wopee_update_artifact

Updates/replaces existing file(artifact) for a specific suite

  • Parameters:
    • suiteUuid - The UUID of the suite
    • type - "APP_CONTEXT" | "GENERAL_USER_STORIES" | "USER_STORIES" | "PLAYWRIGHT_CODE" | "PROJECT_CONTEXT"
    • content - Markdown content for app context, general user stories and project context, structured JSON for user stories
    • identifier - 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>

Agent Testing

wopee_dispatch_agent

Dispatches an autonomous testing agent to execute test cases for a selected suite.

  • Parameters:
    • suiteUuid - The UUID of the suite containing the test cases
    • analysisIdentifier - The analysis identifier for the suite
    • testCases - Array of test case objects to execute, each containing:
      • testCaseId - The ID of the test case
      • userStoryId - 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

Typical Workflow

  1. Start with a suite:

    • Use wopee_fetch_analysis_suites to see existing suites, OR
    • Use wopee_dispatch_analysis to create a new suite
  2. Generate artifacts:

    • Generate app context: wopee_generate_artifact with APP_CONTEXT and specific suiteUuid
    • Generate general user stories: wopee_generate_artifact with GENERAL_USER_STORIES and specific suiteUuid
    • Generate user stories with test cases: wopee_generate_artifact with USER_STORIES_WITH_TEST_CASES and specific suiteUuid
    • Generate reusable test cases: wopee_generate_artifact with REUSABLE_TEST_CASES and specific suiteUuid
    • Generate reusable test case steps: wopee_generate_artifact with REUSABLE_TEST_CASE_STEPS and specific suiteUuid
    • Generate test case steps: wopee_generate_artifact with TEST_CASE_STEPS and specific suiteUuid
  3. Fetch generated content:

    • Use the fetch tools to retrieve generated markdown/JSON files
  4. Run tests:

    • Use wopee_dispatch_agent to execute test cases with the autonomous testing agent

Notes

  • Most tools require a suiteUuid. Always start by fetching or creating a suite.
  • wopee_dispatch_analysis tool 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.

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选