@testomatio/mcp 2.0.0-beta.8 → 2.0.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
@@ -1,6 +1,6 @@
1
1
  # Testomat.io MCP Server
2
2
 
3
- Model Context Protocol (MCP) server that enables AI assistants (Claude, Cursor, etc.) to interact with Testomat.io Public API v2.
3
+ Model Context Protocol (MCP) server that enables AI assistants (Claude, Cursor, OpenCode, etc.) to interact with Testomat.io Public API v2.
4
4
 
5
5
  ## Features
6
6
 
@@ -18,7 +18,7 @@ Model Context Protocol (MCP) server that enables AI assistants (Claude, Cursor,
18
18
  ### Installation
19
19
 
20
20
  ```bash
21
- npm install -g @testomatio/mcp
21
+ npm install -g @testomatio/mcp@latest
22
22
  ```
23
23
 
24
24
  ### Configuration
@@ -48,17 +48,24 @@ export TESTOMATIO_BASE_URL=https://beta.testomat.io
48
48
 
49
49
  ### Cursor IDE
50
50
 
51
- Add to `.cursorrules` or settings.json:
51
+ Add this config to `.cursor/mcp.json` in your project, or to `~/.cursor/mcp.json` for global access:
52
52
 
53
53
  ```json
54
54
  {
55
55
  "mcpServers": {
56
56
  "testomatio": {
57
- "command": "testomatio-mcp",
58
- "args": ["--token", "<TOKEN>", "--project", "<PROJECT_ID>"],
57
+ "type": "stdio",
58
+ "command": "npx",
59
+ "args": [
60
+ "-y",
61
+ "@testomatio/mcp@latest",
62
+ "--token",
63
+ "<TOKEN>",
64
+ "--project",
65
+ "<PROJECT_ID>"
66
+ ],
59
67
  "env": {
60
- "TESTOMATIO_PROJECT_TOKEN": "<TOKEN>",
61
- "TESTOMATIO_PROJECT_ID": "<PROJECT_ID>"
68
+ "TESTOMATIO_BASE_URL": "https://app.testomat.io"
62
69
  }
63
70
  }
64
71
  }
@@ -67,12 +74,54 @@ Add to `.cursorrules` or settings.json:
67
74
 
68
75
  ### Claude Desktop
69
76
 
77
+ Add this config to:
78
+ - macOS: `~/Library/Application Support/Claude/claude_desktop_config.json`
79
+ - Windows: `%APPDATA%\Claude\claude_desktop_config.json`
80
+
70
81
  ```json
71
82
  {
72
83
  "mcpServers": {
73
84
  "testomatio": {
74
- "command": "node",
75
- "args": ["/path/to/mcp/index.js", "--token", "<TOKEN>", "--project", "<PROJECT_ID>"]
85
+ "command": "npx",
86
+ "args": [
87
+ "-y",
88
+ "@testomatio/mcp@latest",
89
+ "--token",
90
+ "<TOKEN>",
91
+ "--project",
92
+ "<PROJECT_ID>"
93
+ ],
94
+ "env": {
95
+ "TESTOMATIO_BASE_URL": "https://app.testomat.io"
96
+ }
97
+ }
98
+ }
99
+ }
100
+ ```
101
+
102
+ ### OpenCode
103
+
104
+ Add this config to `opencode.json` in your project root, or to `~/.config/opencode/opencode.json` for global access:
105
+
106
+ ```json
107
+ {
108
+ "$schema": "https://opencode.ai/config.json",
109
+ "mcp": {
110
+ "testomat": {
111
+ "type": "local",
112
+ "command": [
113
+ "npx",
114
+ "-y",
115
+ "@testomatio/mcp@latest",
116
+ "--token",
117
+ "<TOKEN>",
118
+ "--project",
119
+ "<PROJECT_ID>"
120
+ ],
121
+ "enabled": true,
122
+ "environment": {
123
+ "TESTOMATIO_BASE_URL": "https://app.testomat.io"
124
+ }
76
125
  }
77
126
  }
78
127
  }
@@ -152,6 +201,38 @@ src/
152
201
 
153
202
  *Either `TESTOMATIO_PROJECT_TOKEN` or `TESTOMATIO_API_TOKEN`
154
203
 
204
+ ## Corporate TLS Certificates
205
+
206
+ If the MCP server runs behind a corporate proxy or TLS inspection, Node.js may reject Testomat.io HTTPS requests even when the same URL works in a browser. This usually means the company root certificate is trusted by the operating system, but not by Node.js.
207
+
208
+ Use Node.js system CA support:
209
+
210
+ ```bash
211
+ NODE_OPTIONS=--use-system-ca testomatio-mcp --token <TOKEN> --project <PROJECT_ID>
212
+ ```
213
+
214
+ For MCP clients, pass `NODE_OPTIONS` in the server environment:
215
+
216
+ ```json
217
+ {
218
+ "mcpServers": {
219
+ "testomatio": {
220
+ "command": "testomatio-mcp",
221
+ "args": ["--token", "<TOKEN>", "--project", "<PROJECT_ID>"],
222
+ "env": {
223
+ "NODE_OPTIONS": "--use-system-ca"
224
+ }
225
+ }
226
+ }
227
+ }
228
+ ```
229
+
230
+ If your Node.js version does not support `--use-system-ca`, export the corporate root certificate to a PEM file and use Node.js extra CA support:
231
+
232
+ ```bash
233
+ NODE_EXTRA_CA_CERTS=/path/to/company-root-ca.pem testomatio-mcp --token <TOKEN> --project <PROJECT_ID>
234
+ ```
235
+
155
236
  ## Important Notes
156
237
 
157
238
  - **Run Status** - Use `runs_update` with `status_event` for transitions (finish, launch, rerun, etc.)
@@ -164,3 +245,16 @@ src/
164
245
  npm install
165
246
  npm run start -- --token <TOKEN> --project <PROJECT_ID>
166
247
  ```
248
+
249
+ For local MCP development, point Claude Desktop to the checked-out entrypoint:
250
+
251
+ ```json
252
+ {
253
+ "mcpServers": {
254
+ "testomatio-local": {
255
+ "command": "node",
256
+ "args": ["/path/to/mcp/index.js", "--token", "<TOKEN>", "--project", "<PROJECT_ID>"]
257
+ }
258
+ }
259
+ }
260
+ ```
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@testomatio/mcp",
3
- "version": "2.0.0-beta.8",
3
+ "version": "2.0.0",
4
4
  "description": "Model Context Protocol server for Testomatio API",
5
5
  "main": "src/index.js",
6
6
  "bin": {
@@ -63,8 +63,19 @@ export const PLANS_TOOLS = [
63
63
  "as_manual": {
64
64
  "type": "boolean"
65
65
  },
66
- "test_plan": {
67
- "type": "object"
66
+ "test_ids": {
67
+ "type": "array",
68
+ "items": {
69
+ "type": "string"
70
+ },
71
+ "description": "List of test IDs (8-char) to include in the plan. If omitted, all tests matching the plan kind are included."
72
+ },
73
+ "suite_ids": {
74
+ "type": "array",
75
+ "items": {
76
+ "type": "string"
77
+ },
78
+ "description": "List of suite IDs (8-char) to include in the plan. If omitted, all suites are considered."
68
79
  },
69
80
  "link": {
70
81
  "type": "array",
@@ -136,8 +147,19 @@ export const PLANS_TOOLS = [
136
147
  "as_manual": {
137
148
  "type": "boolean"
138
149
  },
139
- "test_plan": {
140
- "type": "object"
150
+ "test_ids": {
151
+ "type": "array",
152
+ "items": {
153
+ "type": "string"
154
+ },
155
+ "description": "List of test IDs (8-char) to include in the plan. If omitted, all tests matching the plan kind are included."
156
+ },
157
+ "suite_ids": {
158
+ "type": "array",
159
+ "items": {
160
+ "type": "string"
161
+ },
162
+ "description": "List of suite IDs (8-char) to include in the plan. If omitted, all suites are considered."
141
163
  },
142
164
  "link": {
143
165
  "type": "array",
@@ -253,7 +253,8 @@ export const payloadMethods = {
253
253
  kind,
254
254
  hidden,
255
255
  as_manual: asManual,
256
- test_plan: testPlan,
256
+ test_ids: testIds,
257
+ suite_ids: suiteIds,
257
258
  link,
258
259
  } = {}) {
259
260
  return {
@@ -262,7 +263,8 @@ export const payloadMethods = {
262
263
  kind,
263
264
  hidden,
264
265
  as_manual: asManual,
265
- test_plan: testPlan,
266
+ test_ids: testIds,
267
+ suite_ids: suiteIds,
266
268
  link,
267
269
  };
268
270
  },