wopee-mcp 1.12.0 → 1.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md CHANGED
@@ -70,6 +70,59 @@ If you're unsure about your proxy settings, check your VS Code settings (`settin
70
70
  - `http://10.x.x.x:8080`
71
71
  - `http://username:password@proxy.company.com:8080` (if authentication is required)
72
72
 
73
+ ### TLS / Certificate Issues
74
+
75
+ **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.
76
+
77
+ If the server fails with errors such as **`UNABLE_TO_VERIFY_LEAF_SIGNATURE`** or **`certificate has expired`**, it may be due to:
78
+
79
+ - **Self-signed certificates** (e.g. when `WOPEE_API_URL` points to an internal or dev server)
80
+ - **Corporate proxy / SSL inspection** (traffic re-encrypted with a corporate CA your machine doesn’t trust)
81
+ - **Missing CA certificates** in Node’s trust store
82
+
83
+ #### Preferred solutions (secure)
84
+
85
+ 1. **Use a valid TLS certificate** – e.g. Let’s Encrypt, or an internal CA – and ensure the **full certificate chain** is served.
86
+ 2. **Install the corporate or internal CA** so Node trusts it:
87
+
88
+ Example:
89
+
90
+ ```bash
91
+ export NODE_EXTRA_CA_CERTS=/etc/ssl/certs/internal-ca.pem
92
+ ```
93
+
94
+ In MCP config `env`:
95
+
96
+ ```json
97
+ "env": {
98
+ "WOPEE_PROJECT_UUID": "your-project-uuid-here",
99
+ "WOPEE_API_KEY": "your-api-key-here",
100
+ "NODE_EXTRA_CA_CERTS": "/path/to/ca.pem"
101
+ }
102
+ ```
103
+
104
+ #### Insecure workaround (not recommended)
105
+
106
+ 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.
107
+
108
+ ```bash
109
+ export NODE_TLS_REJECT_UNAUTHORIZED=0
110
+ ```
111
+
112
+ Or in MCP config `env`:
113
+
114
+ ```json
115
+ "env": {
116
+ "WOPEE_PROJECT_UUID": "your-project-uuid-here",
117
+ "WOPEE_API_KEY": "your-api-key-here",
118
+ "NODE_TLS_REJECT_UNAUTHORIZED": "0"
119
+ }
120
+ ```
121
+
122
+ Treat this as a **debug-only escape hatch**, not a normal setup step.
123
+
124
+ **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.
125
+
73
126
  ## Getting Started
74
127
 
75
128
  Most tools in this MCP server require a `suiteUuid` to operate. You have two options to get started:
@@ -122,6 +175,8 @@ Fetch all existing analysis suites for my project
122
175
 
123
176
  Creates and dispatches a new analysis/crawling suite for your project. Use this to start a fresh analysis session.
124
177
 
178
+ - **Parameters:**
179
+ - `additionalInstructions` *(optional)* - Additional instructions to guide the agent during the analysis/crawling phase (e.g. focus areas, things to ignore, login steps, etc.)
125
180
  - **Returns:** Success message with the created suite information
126
181
 
127
182
  **Example Usage:**
@@ -130,6 +185,10 @@ Creates and dispatches a new analysis/crawling suite for your project. Use this
130
185
  Dispatch a new analysis suite
131
186
  ```
132
187
 
188
+ ```
189
+ Dispatch a new analysis suite and focus on the checkout flow
190
+ ```
191
+
133
192
  #### `wopee_create_blank_suite`
134
193
 
135
194
  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.
@@ -1,5 +1,5 @@
1
1
  import { getConfig } from "../../utils/getConfig.js";
2
- export const createDispatchAnalysisInput = () => {
2
+ export const createDispatchAnalysisInput = (input) => {
3
3
  const { WOPEE_PROJECT_UUID } = getConfig();
4
4
  if (!WOPEE_PROJECT_UUID)
5
5
  throw new Error("WOPEE_PROJECT_UUID is not set");
@@ -10,7 +10,7 @@ export const createDispatchAnalysisInput = () => {
10
10
  username: null,
11
11
  password: null,
12
12
  cookiesPreference: null,
13
- additionalInstructions: null,
13
+ additionalInstructions: input.additionalInstructions ?? null,
14
14
  additionalVariables: null,
15
15
  },
16
16
  rerun: null,
@@ -1,5 +1,5 @@
1
1
  import { _parseError } from "../shared/helpers.js";
2
- import { DispatchAnalysisInputSchema } from "./schema.js";
2
+ import { DispatchAnalysisInputSchema, WopeeDispatchAnalysisInputSchema, } from "./schema.js";
3
3
  import { createDispatchAnalysisInput } from "./factory.js";
4
4
  import { DispatchAnalysis } from "../shared/gql-queries.js";
5
5
  import { requestClient } from "../../utils/requestClient.js";
@@ -9,11 +9,12 @@ export const wopeeDispatchAnalysis = {
9
9
  config: {
10
10
  title: "Dispatch analysis",
11
11
  description: "Create and dispatch analysis/crawling suite for a project",
12
+ inputSchema: WopeeDispatchAnalysisInputSchema.shape,
12
13
  },
13
- handler: async () => {
14
+ handler: async (input) => {
14
15
  try {
15
- const input = createDispatchAnalysisInput();
16
- const parsedInput = DispatchAnalysisInputSchema.parse(input);
16
+ const rawInput = createDispatchAnalysisInput(input);
17
+ const parsedInput = DispatchAnalysisInputSchema.parse(rawInput);
17
18
  const result = await requestClient(DispatchAnalysis, {
18
19
  input: parsedInput,
19
20
  });
@@ -15,3 +15,8 @@ export const DispatchAnalysisInputSchema = z.object({
15
15
  suiteAnalysisConfig: SuiteAnalysisConfigSchema,
16
16
  rerun: RerunOptionsSchema.nullable().default(null),
17
17
  });
18
+ export const WopeeDispatchAnalysisInputSchema = z.object({
19
+ additionalInstructions: z
20
+ .string({ description: "Additional instructions for the agent" })
21
+ .nullish(),
22
+ });
package/package.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "bin": {
5
5
  "wopee-mcp": "./build/index.js"
6
6
  },
7
- "version": "1.12.0",
7
+ "version": "1.14.0",
8
8
  "description": "Wopee.io MCP server",
9
9
  "main": "./build/index.js",
10
10
  "scripts": {