← MCP Security Catalog

wopee-mcp 1.30.0

npm · wopee-mcp · latest release

Verified with no proven findings
Security result
15
Observed tools
Version rating
Change risk

Independent inventory

Observed 2026-08-21T17:36:55.797Z using mcpSecurity-inventory. Protocol 2025-06-18.

ToolCategoryRisk
wopee_create_blank_suiteCreate 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.
Input schema
{
  "type": "object",
  "properties": {}
}
wopee_create_github_issueCreate 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.
Input schema
{
  "type": "object",
  "properties": {
    "title": {
      "type": "string",
      "description": "The title of the GitHub issue"
    },
    "body": {
      "type": "string",
      "description": "The body/description of the GitHub issue (supports Markdown)"
    },
    "labels": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Optional labels to apply to the issue (e.g., ['bug', 'testing'])"
    }
  },
  "required": [
    "title",
    "body"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
wopee_dispatch_agentDispatch 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.
Input schema
{
  "type": "object",
  "properties": {
    "suiteUuid": {
      "type": "string",
      "minLength": 1,
      "description": "UUID of the suite to dispatch the agent for"
    },
    "analysisIdentifier": {
      "type": "string",
      "minLength": 1,
      "description": "Analysis identifier of the suite to dispatch the agent for"
    },
    "testCases": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "testCaseId": {
            "type": "string",
            "minLength": 1,
            "description": "ID of the test case belonging to the user story to dispatch the agent for (ex. TC001)"
          },
          "userStoryId": {
            "type": "string",
            "minLength": 1,
            "description": "ID of the user story that the test case belongs to (ex. US001)"
          }
        },
        "required": [
          "testCaseId",
          "userStoryId"
        ],
        "additionalProperties": false
      },
      "description": "Chosen test cases to dispatch the agent for"
    }
  },
  "required": [
    "suiteUuid",
    "analysisIdentifier",
    "testCases"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
wopee_dispatch_analysisCreate 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.
Input schema
{
  "type": "object",
  "properties": {
    "additionalInstructions": {
      "type": [
        "string",
        "null"
      ],
      "description": "Additional instructions for the agent"
    },
    "additionalVariables": {
      "anyOf": [
        {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "key": {
                "type": "string",
                "pattern": "^[A-Z_][A-Z0-9_]*$",
                "description": "Variable name. Must be uppercase with underscores only (e.g. MY_VAR, BASE_URL)."
              },
              "value": {
                "type": "string",
                "minLength": 1,
                "description": "Variable value. Must be a non-empty string."
              }
            },
            "required": [
              "key",
              "value"
            ],
            "additionalProperties": false
          },
          "description": "Additional environment variables for the analysis. Each variable needs a key (uppercase, e.g. BASE_URL) and a non-empty value."
        },
        {
          "type": "null"
        }
      ],
      "description": "Additional environment variables for the analysis. Each variable needs a key (uppercase, e.g. BASE_URL) and a non-empty value."
    },
    "rerun": {
      "anyOf": [
        {
          "type": "object",
          "properties": {
            "suiteUuid": {
              "type": "string",
              "minLength": 1,
              "description": "UUID of the existing suite to rerun."
            },
            "analysisIdentifier": {
              "type": "string",
              "minLength": 1,
              "description": "Analysis identifier of the existing suite to rerun."
            },
            "mode": {
              "type": "string",
              "enum": [
                "FULL",
                "CRAWLING"
              ],
              "description": "Rerun mode: FULL reruns the entire analysis (crawling + analysis), CRAWLING reruns only the crawling phase."
            }
          },
          "required": [
            "suiteUuid",
            "analysisIdentifier",
            "mode"
          ],
          "additionalProperties": false
        },
        {
          "type": "null"
        }
      ],
      "description": "If provided, reruns an existing analysis suite instead of creating a new one. Requires suiteUuid, analysisIdentifier, and mode."
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
wopee_fetch_analysis_suitesList 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.
Input schema
{
  "type": "object",
  "properties": {}
}
wopee_fetch_artifactRetrieve 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.
Input schema
{
  "type": "object",
  "properties": {
    "type": {
      "type": "string",
      "enum": [
        "APP_CONTEXT",
        "GENERAL_USER_STORIES",
        "USER_STORIES",
        "PLAYWRIGHT_CODE",
        "PROJECT_CONTEXT"
      ],
      "description": "Type of test artifact to retrieve. One of: APP_CONTEXT (application description), GENERAL_USER_STORIES (stories without test cases), USER_STORIES (stories with test cases), PLAYWRIGHT_CODE (generated test code — requires identifier), PROJECT_CONTEXT (project-level context)."
    },
    "suiteUuid": {
      "type": "string",
      "minLength": 1,
      "description": "UUID of the analysis suite to fetch artifacts from. Get this from wopee_fetch_analysis_suites."
    },
    "identifier": {
      "type": "string",
      "description": "Test case identifier in format 'US004:TC006'. Required only when type is PLAYWRIGHT_CODE. Ignored for all other artifact types."
    }
  },
  "required": [
    "type",
    "suiteUuid"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
wopee_fetch_executed_test_casesRetrieve 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.
Input schema
{
  "type": "object",
  "properties": {
    "suiteUuid": {
      "type": "string",
      "minLength": 1,
      "description": "UUID of the analysis suite to fetch executed test cases for"
    },
    "analysisIdentifier": {
      "type": "string",
      "description": "Analysis identifier of the suite (ex. A068). Can be found in the analysis suite data."
    }
  },
  "required": [
    "suiteUuid"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
wopee_fetch_recent_executionsFetch 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 execution status (IN_PROGRESS, IN_QUEUE, FINISHED, FAILED), agent reports, and pass/fail results. 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.
Input schema
{
  "type": "object",
  "properties": {}
}
wopee_fetch_test_inventoryThe 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.
Input schema
{
  "type": "object",
  "properties": {
    "analysisIdentifier": {
      "type": "string",
      "description": "Optional analysis identifier (e.g. A001) to scope the inventory to a single analysis. Omit to include every analysis in the project."
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
wopee_fetch_variablesRead 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.
Input schema
{
  "type": "object",
  "properties": {
    "level": {
      "type": "string",
      "enum": [
        "PROJECT",
        "ANALYSIS"
      ],
      "description": "Which variable set to read. PROJECT reads the project-level variables (uses WOPEE_PROJECT_UUID from the environment). ANALYSIS reads a specific analysis suite's variables and requires suiteUuid."
    },
    "suiteUuid": {
      "type": [
        "string",
        "null"
      ],
      "description": "UUID of the analysis suite to read variables from. Required when level is ANALYSIS; ignored when level is PROJECT."
    }
  },
  "required": [
    "level"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
wopee_generate_artifactGenerate 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.
Input schema
{
  "type": "object",
  "properties": {
    "type": {
      "type": "string",
      "enum": [
        "APP_CONTEXT",
        "GENERAL_USER_STORIES",
        "USER_STORIES_WITH_TEST_CASES",
        "TEST_CASES",
        "TEST_CASE_STEPS",
        "REUSABLE_TEST_CASES",
        "REUSABLE_TEST_CASE_STEPS"
      ],
      "description": "Type of test artifact to generate. One of: APP_CONTEXT, GENERAL_USER_STORIES, USER_STORIES_WITH_TEST_CASES, TEST_CASES, TEST_CASE_STEPS, REUSABLE_TEST_CASES, REUSABLE_TEST_CASE_STEPS. Start with APP_CONTEXT, then generate stories and test cases from it."
    },
    "suiteUuid": {
      "type": "string",
      "minLength": 1,
      "description": "UUID of the analysis suite to generate artifacts for. Get this from wopee_create_blank_suite or wopee_fetch_analysis_suites."
    }
  },
  "required": [
    "type",
    "suiteUuid"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
wopee_read_chat_historyRead 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.
Input schema
{
  "type": "object",
  "properties": {
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 100,
      "default": 20,
      "description": "Number of recent messages to fetch (default: 20, max: 100)"
    }
  },
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
wopee_send_chat_messageSend 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.
Input schema
{
  "type": "object",
  "properties": {
    "content": {
      "type": "string",
      "description": "The message content to send to the chat room"
    },
    "contentType": {
      "type": "string",
      "enum": [
        "STATUS_UPDATE",
        "TEXT"
      ],
      "default": "TEXT",
      "description": "The type of message: TEXT for regular messages, STATUS_UPDATE for status notifications"
    }
  },
  "required": [
    "content"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
wopee_update_artifactCreate 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.
Input schema
{
  "type": "object",
  "properties": {
    "type": {
      "type": "string",
      "enum": [
        "APP_CONTEXT",
        "GENERAL_USER_STORIES",
        "USER_STORIES",
        "PLAYWRIGHT_CODE",
        "PROJECT_CONTEXT"
      ],
      "description": "Type of test artifact to update. One of: APP_CONTEXT, GENERAL_USER_STORIES, USER_STORIES, PLAYWRIGHT_CODE (requires identifier), PROJECT_CONTEXT. Must match the type used when the artifact was generated."
    },
    "content": {
      "type": "string",
      "description": "The complete new content to replace the existing artifact. This is a destructive overwrite — the entire previous content is replaced. Pass the full updated content, not a partial diff."
    },
    "suiteUuid": {
      "type": "string",
      "minLength": 1,
      "description": "UUID of the analysis suite containing the artifact to update. Get this from wopee_fetch_analysis_suites."
    },
    "identifier": {
      "type": "string",
      "description": "Test case identifier in format 'US004:TC006'. Required only when type is PLAYWRIGHT_CODE. Ignored for all other artifact types."
    }
  },
  "required": [
    "type",
    "content",
    "suiteUuid"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
wopee_update_variablesUpsert 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.
Input schema
{
  "type": "object",
  "properties": {
    "level": {
      "type": "string",
      "enum": [
        "PROJECT",
        "ANALYSIS"
      ],
      "description": "Which variable set to write. PROJECT writes the project-level variables (uses WOPEE_PROJECT_UUID from the environment). ANALYSIS writes a specific analysis suite's variables and requires suiteUuid."
    },
    "suiteUuid": {
      "type": [
        "string",
        "null"
      ],
      "description": "UUID of the analysis suite to write variables to. Required when level is ANALYSIS; ignored when level is PROJECT."
    },
    "variables": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "key": {
            "type": "string",
            "pattern": "^[A-Z_][A-Z0-9_]*$",
            "description": "Variable name. Must be uppercase with underscores only (e.g. MY_VAR, BASE_URL)."
          },
          "value": {
            "type": "string",
            "minLength": 1,
            "description": "Variable value. Must be a non-empty string."
          }
        },
        "required": [
          "key",
          "value"
        ],
        "additionalProperties": false
      },
      "description": "Variables to upsert. Each needs an uppercase key (e.g. BASE_URL) and a non-empty value. Merge semantics: keys listed here are added or overwritten; existing keys not listed here are preserved."
    }
  },
  "required": [
    "level",
    "variables"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}

Resources 0

Resource templates 0

Prompts 3

Changes from previous version

No completed comparison is available.

RiskChangeSubject
No material changes recorded.

Confirmed vulnerabilities

SeverityFindingAdvisory
No confirmed vulnerability is published for this version.

Provenance

Artifact SHA-256: ef419d220daa44699dd1e6ad8909a5f0781815fc41ebd08541f338af1151a10d

Scanner: mcp-proof-engine 0.1.0.

Let’s talk about MCP security.

Share your details and our security team will contact you.