apt-mcp-agent-setup 3.0.9 → 3.2.6

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.
Files changed (78) hide show
  1. package/README.md +109 -109
  2. package/bin/cli.js +1 -1
  3. package/bundle/NOTICES.md +0 -0
  4. package/bundle/core.enc +0 -0
  5. package/bundle/mcp-rules.enc +0 -0
  6. package/bundle/skills-aso.enc +0 -0
  7. package/bundle/skills-ba.enc +0 -0
  8. package/bundle/skills-base.enc +0 -0
  9. package/bundle/skills-be.enc +0 -0
  10. package/bundle/skills-design.enc +0 -0
  11. package/bundle/skills-fe.enc +0 -0
  12. package/bundle/skills-mobile.enc +0 -0
  13. package/bundle/skills-pm.enc +0 -0
  14. package/integrity-manifest.json +78 -73
  15. package/package.json +1 -1
  16. package/release-check.js +305 -80
  17. package/src/backends/browser-tools-0.0.82.json +375 -375
  18. package/src/backends/browser-tools.js +1 -1
  19. package/src/backends/codegraph-1.6.0.json +180 -180
  20. package/src/backends/index-command.js +1 -1
  21. package/src/backends/index-store.js +1 -1
  22. package/src/backends/profiles.js +1 -1
  23. package/src/backends/review_graph.py +30 -30
  24. package/src/core/aso-import.js +1 -1
  25. package/src/core/catalog.js +1 -1
  26. package/src/core/codex-host-metadata.js +1 -0
  27. package/src/core/context-metrics.js +1 -1
  28. package/src/core/doctor.js +1 -1
  29. package/src/core/execution.js +1 -1
  30. package/src/core/hook-bridge.js +1 -1
  31. package/src/core/host-adapters.js +1 -1
  32. package/src/core/memory-store.js +1 -1
  33. package/src/core/model-inventory.js +1 -0
  34. package/src/core/model-routing.js +1 -1
  35. package/src/core/npm-cli.js +1 -0
  36. package/src/core/owned-lock.js +1 -1
  37. package/src/core/presentations.js +1 -1
  38. package/src/core/quality.js +1 -0
  39. package/src/core/runtime-info.js +1 -0
  40. package/src/core/session.js +1 -1
  41. package/src/core/skill-names.js +1 -1
  42. package/src/core/workspace-path.js +1 -1
  43. package/src/core/xlsx-reader.py +62 -62
  44. package/src/installer/bounded-command.js +1 -1
  45. package/src/installer/context-legacy-hashes.json +42 -42
  46. package/src/installer/global-setup.js +1 -1
  47. package/src/installer/host-hooks.js +1 -1
  48. package/src/installer/managed-config.js +1 -1
  49. package/src/installer/platform-config.js +1 -1
  50. package/src/installer/prerequisites.js +1 -1
  51. package/src/installer/presentations-requirements.txt +14 -14
  52. package/src/installer/presentations.js +1 -1
  53. package/src/installer/project-setup.js +1 -1
  54. package/src/installer/runtime-lock.js +1 -1
  55. package/src/installer/runtime-store.js +1 -1
  56. package/src/installer/setup-wizard.js +1 -1
  57. package/src/license/crypto.js +1 -1
  58. package/src/license/fingerprint.js +1 -1
  59. package/src/license/terms.js +1 -1
  60. package/src/license/verify.js +1 -1
  61. package/src/presets/index.js +1 -1
  62. package/src/proxy/backends.js +1 -1
  63. package/src/proxy/browser-sessions.js +1 -1
  64. package/src/proxy/core-tools.js +1 -1
  65. package/src/proxy/pipeline.js +1 -1
  66. package/src/proxy/router.config.js +1 -1
  67. package/src/proxy/router.js +1 -1
  68. package/src/proxy/server.js +1 -1
  69. package/src/templates/AGENTS.md +13 -13
  70. package/src/templates/CLAUDE.md +13 -13
  71. package/src/templates/GEMINI.md +13 -13
  72. package/src/templates/apt-runtime.md +16 -16
  73. package/src/templates/copilot-instructions.md +13 -13
  74. package/src/templates/cursorrules.mdc +18 -18
  75. package/src/templates/design-config.md +52 -52
  76. package/src/templates/gdrive-config.md +57 -57
  77. package/src/templates/mcp-tools.md +17 -27
  78. package/src/templates/windsurfrules.md +13 -13
@@ -1,375 +1,375 @@
1
- {
2
- "version": "0.0.82",
3
- "source": "@playwright/mcp tools/list",
4
- "tools": [
5
- {
6
- "name": "browser_close",
7
- "description": "Close the page",
8
- "inputSchema": {
9
- "$schema": "https://json-schema.org/draft/2020-12/schema",
10
- "type": "object",
11
- "properties": {},
12
- "additionalProperties": false
13
- },
14
- "annotations": {
15
- "title": "Close browser",
16
- "readOnlyHint": false,
17
- "destructiveHint": true,
18
- "openWorldHint": true
19
- }
20
- },
21
- {
22
- "name": "browser_console_messages",
23
- "description": "Returns all console messages",
24
- "inputSchema": {
25
- "$schema": "https://json-schema.org/draft/2020-12/schema",
26
- "type": "object",
27
- "properties": {
28
- "level": {
29
- "default": "info",
30
- "description": "Level of the console messages to return. Each level includes the messages of more severe levels. Defaults to \"info\".",
31
- "type": "string",
32
- "enum": [
33
- "error",
34
- "warning",
35
- "info",
36
- "debug"
37
- ]
38
- },
39
- "all": {
40
- "description": "Return all console messages since the beginning of the session, not just since the last navigation. Defaults to false.",
41
- "type": "boolean"
42
- },
43
- "filename": {
44
- "description": "File name to save the console messages to. Relative file names are resolved against the workspace root. If not provided, messages are returned as text.",
45
- "type": "string"
46
- }
47
- },
48
- "required": [
49
- "level"
50
- ],
51
- "additionalProperties": false
52
- },
53
- "annotations": {
54
- "title": "Get console messages",
55
- "readOnlyHint": true,
56
- "destructiveHint": false,
57
- "openWorldHint": true
58
- }
59
- },
60
- {
61
- "name": "browser_type",
62
- "description": "Type text into editable element",
63
- "inputSchema": {
64
- "$schema": "https://json-schema.org/draft/2020-12/schema",
65
- "type": "object",
66
- "properties": {
67
- "element": {
68
- "description": "Human-readable element description used to obtain permission to interact with the element",
69
- "type": "string"
70
- },
71
- "target": {
72
- "type": "string",
73
- "description": "Exact target element reference from the page snapshot, or a unique element selector"
74
- },
75
- "text": {
76
- "type": "string",
77
- "description": "Text to type into the element"
78
- },
79
- "submit": {
80
- "description": "Whether to submit entered text (press Enter after)",
81
- "type": "boolean"
82
- },
83
- "slowly": {
84
- "description": "Whether to type one character at a time. Useful for triggering key handlers in the page. By default entire text is filled in at once.",
85
- "type": "boolean"
86
- }
87
- },
88
- "required": [
89
- "target",
90
- "text"
91
- ],
92
- "additionalProperties": false
93
- },
94
- "annotations": {
95
- "title": "Type text",
96
- "readOnlyHint": false,
97
- "destructiveHint": true,
98
- "openWorldHint": true
99
- }
100
- },
101
- {
102
- "name": "browser_navigate",
103
- "description": "Navigate to a URL",
104
- "inputSchema": {
105
- "$schema": "https://json-schema.org/draft/2020-12/schema",
106
- "type": "object",
107
- "properties": {
108
- "url": {
109
- "type": "string",
110
- "description": "The URL to navigate to"
111
- }
112
- },
113
- "required": [
114
- "url"
115
- ],
116
- "additionalProperties": false
117
- },
118
- "annotations": {
119
- "title": "Navigate to a URL",
120
- "readOnlyHint": false,
121
- "destructiveHint": true,
122
- "openWorldHint": true
123
- }
124
- },
125
- {
126
- "name": "browser_network_requests",
127
- "description": "Returns a numbered list of network requests since loading the page. Use browser_network_request with the number to get full details.",
128
- "inputSchema": {
129
- "$schema": "https://json-schema.org/draft/2020-12/schema",
130
- "type": "object",
131
- "properties": {
132
- "static": {
133
- "default": false,
134
- "description": "Whether to include successful static resources like images, fonts, scripts, etc. Defaults to false.",
135
- "type": "boolean"
136
- },
137
- "filter": {
138
- "description": "Only return requests whose URL matches this regexp (e.g. \"/api/.*user\").",
139
- "type": "string"
140
- },
141
- "filename": {
142
- "description": "File name to save the network requests to. Relative file names are resolved against the workspace root. If not provided, requests are returned as text.",
143
- "type": "string"
144
- }
145
- },
146
- "required": [
147
- "static"
148
- ],
149
- "additionalProperties": false
150
- },
151
- "annotations": {
152
- "title": "List network requests",
153
- "readOnlyHint": true,
154
- "destructiveHint": false,
155
- "openWorldHint": true
156
- }
157
- },
158
- {
159
- "name": "browser_take_screenshot",
160
- "description": "Take a screenshot of the current page. You can't perform actions based on the screenshot, use browser_snapshot for actions.",
161
- "inputSchema": {
162
- "$schema": "https://json-schema.org/draft/2020-12/schema",
163
- "type": "object",
164
- "properties": {
165
- "element": {
166
- "description": "Human-readable element description used to obtain permission to interact with the element",
167
- "type": "string"
168
- },
169
- "target": {
170
- "description": "Exact target element reference from the page snapshot, or a unique element selector",
171
- "type": "string"
172
- },
173
- "type": {
174
- "description": "Image format for the screenshot. If unset, inferred from the filename extension, otherwise png.",
175
- "type": "string",
176
- "enum": [
177
- "png",
178
- "jpeg",
179
- "webp"
180
- ]
181
- },
182
- "filename": {
183
- "description": "File name to save the screenshot to. Relative file names are resolved against the workspace root. If not specified, the screenshot is saved into the output directory as `page-{timestamp}.{png|jpeg|webp}`.",
184
- "type": "string"
185
- },
186
- "fullPage": {
187
- "description": "When true, takes a screenshot of the full scrollable page, instead of the currently visible viewport. Cannot be used with element screenshots.",
188
- "type": "boolean"
189
- },
190
- "scale": {
191
- "default": "css",
192
- "description": "Image resolution scale. \"css\" produces a screenshot sized in CSS pixels (smaller, consistent across devices). \"device\" produces a high-resolution screenshot using device pixels (larger, accounts for the device pixel ratio). Default is css.",
193
- "type": "string",
194
- "enum": [
195
- "css",
196
- "device"
197
- ]
198
- }
199
- },
200
- "required": [
201
- "scale"
202
- ],
203
- "additionalProperties": false
204
- },
205
- "annotations": {
206
- "title": "Take a screenshot",
207
- "readOnlyHint": true,
208
- "destructiveHint": false,
209
- "openWorldHint": true
210
- }
211
- },
212
- {
213
- "name": "browser_snapshot",
214
- "description": "Capture accessibility snapshot of the current page, this is better than screenshot",
215
- "inputSchema": {
216
- "$schema": "https://json-schema.org/draft/2020-12/schema",
217
- "type": "object",
218
- "properties": {
219
- "target": {
220
- "description": "Exact target element reference from the page snapshot, or a unique element selector",
221
- "type": "string"
222
- },
223
- "filename": {
224
- "description": "Save snapshot to a file instead of returning it in the response. Relative file names are resolved against the workspace root.",
225
- "type": "string"
226
- },
227
- "depth": {
228
- "description": "Limit the depth of the snapshot tree",
229
- "type": "number"
230
- },
231
- "boxes": {
232
- "description": "Include each element's bounding box as [box=x,y,width,height] in the snapshot. Coordinates are viewport-relative, in CSS pixels (Element.getBoundingClientRect)",
233
- "type": "boolean"
234
- }
235
- },
236
- "additionalProperties": false
237
- },
238
- "annotations": {
239
- "title": "Page snapshot",
240
- "readOnlyHint": true,
241
- "destructiveHint": false,
242
- "openWorldHint": true
243
- }
244
- },
245
- {
246
- "name": "browser_click",
247
- "description": "Perform click on a web page",
248
- "inputSchema": {
249
- "$schema": "https://json-schema.org/draft/2020-12/schema",
250
- "type": "object",
251
- "properties": {
252
- "element": {
253
- "description": "Human-readable element description used to obtain permission to interact with the element",
254
- "type": "string"
255
- },
256
- "target": {
257
- "type": "string",
258
- "description": "Exact target element reference from the page snapshot, or a unique element selector"
259
- },
260
- "doubleClick": {
261
- "description": "Whether to perform a double click instead of a single click",
262
- "type": "boolean"
263
- },
264
- "button": {
265
- "description": "Button to click, defaults to left",
266
- "type": "string",
267
- "enum": [
268
- "left",
269
- "right",
270
- "middle"
271
- ]
272
- },
273
- "modifiers": {
274
- "description": "Modifier keys to press",
275
- "type": "array",
276
- "items": {
277
- "type": "string",
278
- "enum": [
279
- "Alt",
280
- "Control",
281
- "ControlOrMeta",
282
- "Meta",
283
- "Shift"
284
- ]
285
- }
286
- }
287
- },
288
- "required": [
289
- "target"
290
- ],
291
- "additionalProperties": false
292
- },
293
- "annotations": {
294
- "title": "Click",
295
- "readOnlyHint": false,
296
- "destructiveHint": true,
297
- "openWorldHint": true
298
- }
299
- },
300
- {
301
- "name": "browser_select_option",
302
- "description": "Select an option in a dropdown",
303
- "inputSchema": {
304
- "$schema": "https://json-schema.org/draft/2020-12/schema",
305
- "type": "object",
306
- "properties": {
307
- "element": {
308
- "description": "Human-readable element description used to obtain permission to interact with the element",
309
- "type": "string"
310
- },
311
- "target": {
312
- "type": "string",
313
- "description": "Exact target element reference from the page snapshot, or a unique element selector"
314
- },
315
- "values": {
316
- "type": "array",
317
- "items": {
318
- "type": "string"
319
- },
320
- "description": "Array of values to select in the dropdown. This can be a single value or multiple values."
321
- }
322
- },
323
- "required": [
324
- "target",
325
- "values"
326
- ],
327
- "additionalProperties": false
328
- },
329
- "annotations": {
330
- "title": "Select option",
331
- "readOnlyHint": false,
332
- "destructiveHint": true,
333
- "openWorldHint": true
334
- }
335
- },
336
- {
337
- "name": "browser_tabs",
338
- "description": "List, create, close, or select a browser tab.",
339
- "inputSchema": {
340
- "$schema": "https://json-schema.org/draft/2020-12/schema",
341
- "type": "object",
342
- "properties": {
343
- "action": {
344
- "type": "string",
345
- "enum": [
346
- "list",
347
- "new",
348
- "close",
349
- "select"
350
- ],
351
- "description": "Operation to perform"
352
- },
353
- "index": {
354
- "description": "Tab index, used for close/select. If omitted for close, current tab is closed.",
355
- "type": "number"
356
- },
357
- "url": {
358
- "description": "URL to navigate to in the new tab, used for new.",
359
- "type": "string"
360
- }
361
- },
362
- "required": [
363
- "action"
364
- ],
365
- "additionalProperties": false
366
- },
367
- "annotations": {
368
- "title": "Manage tabs",
369
- "readOnlyHint": false,
370
- "destructiveHint": true,
371
- "openWorldHint": true
372
- }
373
- }
374
- ]
375
- }
1
+ {
2
+ "version": "0.0.82",
3
+ "source": "@playwright/mcp tools/list",
4
+ "tools": [
5
+ {
6
+ "name": "browser_close",
7
+ "description": "Close the page",
8
+ "inputSchema": {
9
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
10
+ "type": "object",
11
+ "properties": {},
12
+ "additionalProperties": false
13
+ },
14
+ "annotations": {
15
+ "title": "Close browser",
16
+ "readOnlyHint": false,
17
+ "destructiveHint": true,
18
+ "openWorldHint": true
19
+ }
20
+ },
21
+ {
22
+ "name": "browser_console_messages",
23
+ "description": "Returns all console messages",
24
+ "inputSchema": {
25
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
26
+ "type": "object",
27
+ "properties": {
28
+ "level": {
29
+ "default": "info",
30
+ "description": "Level of the console messages to return. Each level includes the messages of more severe levels. Defaults to \"info\".",
31
+ "type": "string",
32
+ "enum": [
33
+ "error",
34
+ "warning",
35
+ "info",
36
+ "debug"
37
+ ]
38
+ },
39
+ "all": {
40
+ "description": "Return all console messages since the beginning of the session, not just since the last navigation. Defaults to false.",
41
+ "type": "boolean"
42
+ },
43
+ "filename": {
44
+ "description": "File name to save the console messages to. Relative file names are resolved against the workspace root. If not provided, messages are returned as text.",
45
+ "type": "string"
46
+ }
47
+ },
48
+ "required": [
49
+ "level"
50
+ ],
51
+ "additionalProperties": false
52
+ },
53
+ "annotations": {
54
+ "title": "Get console messages",
55
+ "readOnlyHint": true,
56
+ "destructiveHint": false,
57
+ "openWorldHint": true
58
+ }
59
+ },
60
+ {
61
+ "name": "browser_type",
62
+ "description": "Type text into editable element",
63
+ "inputSchema": {
64
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
65
+ "type": "object",
66
+ "properties": {
67
+ "element": {
68
+ "description": "Human-readable element description used to obtain permission to interact with the element",
69
+ "type": "string"
70
+ },
71
+ "target": {
72
+ "type": "string",
73
+ "description": "Exact target element reference from the page snapshot, or a unique element selector"
74
+ },
75
+ "text": {
76
+ "type": "string",
77
+ "description": "Text to type into the element"
78
+ },
79
+ "submit": {
80
+ "description": "Whether to submit entered text (press Enter after)",
81
+ "type": "boolean"
82
+ },
83
+ "slowly": {
84
+ "description": "Whether to type one character at a time. Useful for triggering key handlers in the page. By default entire text is filled in at once.",
85
+ "type": "boolean"
86
+ }
87
+ },
88
+ "required": [
89
+ "target",
90
+ "text"
91
+ ],
92
+ "additionalProperties": false
93
+ },
94
+ "annotations": {
95
+ "title": "Type text",
96
+ "readOnlyHint": false,
97
+ "destructiveHint": true,
98
+ "openWorldHint": true
99
+ }
100
+ },
101
+ {
102
+ "name": "browser_navigate",
103
+ "description": "Navigate to a URL",
104
+ "inputSchema": {
105
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
106
+ "type": "object",
107
+ "properties": {
108
+ "url": {
109
+ "type": "string",
110
+ "description": "The URL to navigate to"
111
+ }
112
+ },
113
+ "required": [
114
+ "url"
115
+ ],
116
+ "additionalProperties": false
117
+ },
118
+ "annotations": {
119
+ "title": "Navigate to a URL",
120
+ "readOnlyHint": false,
121
+ "destructiveHint": true,
122
+ "openWorldHint": true
123
+ }
124
+ },
125
+ {
126
+ "name": "browser_network_requests",
127
+ "description": "Returns a numbered list of network requests since loading the page. Use browser_network_request with the number to get full details.",
128
+ "inputSchema": {
129
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
130
+ "type": "object",
131
+ "properties": {
132
+ "static": {
133
+ "default": false,
134
+ "description": "Whether to include successful static resources like images, fonts, scripts, etc. Defaults to false.",
135
+ "type": "boolean"
136
+ },
137
+ "filter": {
138
+ "description": "Only return requests whose URL matches this regexp (e.g. \"/api/.*user\").",
139
+ "type": "string"
140
+ },
141
+ "filename": {
142
+ "description": "File name to save the network requests to. Relative file names are resolved against the workspace root. If not provided, requests are returned as text.",
143
+ "type": "string"
144
+ }
145
+ },
146
+ "required": [
147
+ "static"
148
+ ],
149
+ "additionalProperties": false
150
+ },
151
+ "annotations": {
152
+ "title": "List network requests",
153
+ "readOnlyHint": true,
154
+ "destructiveHint": false,
155
+ "openWorldHint": true
156
+ }
157
+ },
158
+ {
159
+ "name": "browser_take_screenshot",
160
+ "description": "Take a screenshot of the current page. You can't perform actions based on the screenshot, use browser_snapshot for actions.",
161
+ "inputSchema": {
162
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
163
+ "type": "object",
164
+ "properties": {
165
+ "element": {
166
+ "description": "Human-readable element description used to obtain permission to interact with the element",
167
+ "type": "string"
168
+ },
169
+ "target": {
170
+ "description": "Exact target element reference from the page snapshot, or a unique element selector",
171
+ "type": "string"
172
+ },
173
+ "type": {
174
+ "description": "Image format for the screenshot. If unset, inferred from the filename extension, otherwise png.",
175
+ "type": "string",
176
+ "enum": [
177
+ "png",
178
+ "jpeg",
179
+ "webp"
180
+ ]
181
+ },
182
+ "filename": {
183
+ "description": "File name to save the screenshot to. Relative file names are resolved against the workspace root. If not specified, the screenshot is saved into the output directory as `page-{timestamp}.{png|jpeg|webp}`.",
184
+ "type": "string"
185
+ },
186
+ "fullPage": {
187
+ "description": "When true, takes a screenshot of the full scrollable page, instead of the currently visible viewport. Cannot be used with element screenshots.",
188
+ "type": "boolean"
189
+ },
190
+ "scale": {
191
+ "default": "css",
192
+ "description": "Image resolution scale. \"css\" produces a screenshot sized in CSS pixels (smaller, consistent across devices). \"device\" produces a high-resolution screenshot using device pixels (larger, accounts for the device pixel ratio). Default is css.",
193
+ "type": "string",
194
+ "enum": [
195
+ "css",
196
+ "device"
197
+ ]
198
+ }
199
+ },
200
+ "required": [
201
+ "scale"
202
+ ],
203
+ "additionalProperties": false
204
+ },
205
+ "annotations": {
206
+ "title": "Take a screenshot",
207
+ "readOnlyHint": true,
208
+ "destructiveHint": false,
209
+ "openWorldHint": true
210
+ }
211
+ },
212
+ {
213
+ "name": "browser_snapshot",
214
+ "description": "Capture accessibility snapshot of the current page, this is better than screenshot",
215
+ "inputSchema": {
216
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
217
+ "type": "object",
218
+ "properties": {
219
+ "target": {
220
+ "description": "Exact target element reference from the page snapshot, or a unique element selector",
221
+ "type": "string"
222
+ },
223
+ "filename": {
224
+ "description": "Save snapshot to a file instead of returning it in the response. Relative file names are resolved against the workspace root.",
225
+ "type": "string"
226
+ },
227
+ "depth": {
228
+ "description": "Limit the depth of the snapshot tree",
229
+ "type": "number"
230
+ },
231
+ "boxes": {
232
+ "description": "Include each element's bounding box as [box=x,y,width,height] in the snapshot. Coordinates are viewport-relative, in CSS pixels (Element.getBoundingClientRect)",
233
+ "type": "boolean"
234
+ }
235
+ },
236
+ "additionalProperties": false
237
+ },
238
+ "annotations": {
239
+ "title": "Page snapshot",
240
+ "readOnlyHint": true,
241
+ "destructiveHint": false,
242
+ "openWorldHint": true
243
+ }
244
+ },
245
+ {
246
+ "name": "browser_click",
247
+ "description": "Perform click on a web page",
248
+ "inputSchema": {
249
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
250
+ "type": "object",
251
+ "properties": {
252
+ "element": {
253
+ "description": "Human-readable element description used to obtain permission to interact with the element",
254
+ "type": "string"
255
+ },
256
+ "target": {
257
+ "type": "string",
258
+ "description": "Exact target element reference from the page snapshot, or a unique element selector"
259
+ },
260
+ "doubleClick": {
261
+ "description": "Whether to perform a double click instead of a single click",
262
+ "type": "boolean"
263
+ },
264
+ "button": {
265
+ "description": "Button to click, defaults to left",
266
+ "type": "string",
267
+ "enum": [
268
+ "left",
269
+ "right",
270
+ "middle"
271
+ ]
272
+ },
273
+ "modifiers": {
274
+ "description": "Modifier keys to press",
275
+ "type": "array",
276
+ "items": {
277
+ "type": "string",
278
+ "enum": [
279
+ "Alt",
280
+ "Control",
281
+ "ControlOrMeta",
282
+ "Meta",
283
+ "Shift"
284
+ ]
285
+ }
286
+ }
287
+ },
288
+ "required": [
289
+ "target"
290
+ ],
291
+ "additionalProperties": false
292
+ },
293
+ "annotations": {
294
+ "title": "Click",
295
+ "readOnlyHint": false,
296
+ "destructiveHint": true,
297
+ "openWorldHint": true
298
+ }
299
+ },
300
+ {
301
+ "name": "browser_select_option",
302
+ "description": "Select an option in a dropdown",
303
+ "inputSchema": {
304
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
305
+ "type": "object",
306
+ "properties": {
307
+ "element": {
308
+ "description": "Human-readable element description used to obtain permission to interact with the element",
309
+ "type": "string"
310
+ },
311
+ "target": {
312
+ "type": "string",
313
+ "description": "Exact target element reference from the page snapshot, or a unique element selector"
314
+ },
315
+ "values": {
316
+ "type": "array",
317
+ "items": {
318
+ "type": "string"
319
+ },
320
+ "description": "Array of values to select in the dropdown. This can be a single value or multiple values."
321
+ }
322
+ },
323
+ "required": [
324
+ "target",
325
+ "values"
326
+ ],
327
+ "additionalProperties": false
328
+ },
329
+ "annotations": {
330
+ "title": "Select option",
331
+ "readOnlyHint": false,
332
+ "destructiveHint": true,
333
+ "openWorldHint": true
334
+ }
335
+ },
336
+ {
337
+ "name": "browser_tabs",
338
+ "description": "List, create, close, or select a browser tab.",
339
+ "inputSchema": {
340
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
341
+ "type": "object",
342
+ "properties": {
343
+ "action": {
344
+ "type": "string",
345
+ "enum": [
346
+ "list",
347
+ "new",
348
+ "close",
349
+ "select"
350
+ ],
351
+ "description": "Operation to perform"
352
+ },
353
+ "index": {
354
+ "description": "Tab index, used for close/select. If omitted for close, current tab is closed.",
355
+ "type": "number"
356
+ },
357
+ "url": {
358
+ "description": "URL to navigate to in the new tab, used for new.",
359
+ "type": "string"
360
+ }
361
+ },
362
+ "required": [
363
+ "action"
364
+ ],
365
+ "additionalProperties": false
366
+ },
367
+ "annotations": {
368
+ "title": "Manage tabs",
369
+ "readOnlyHint": false,
370
+ "destructiveHint": true,
371
+ "openWorldHint": true
372
+ }
373
+ }
374
+ ]
375
+ }