machine-bridge-mcp 0.16.2 → 0.17.1
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/CHANGELOG.md +40 -0
- package/CONTRIBUTING.md +14 -0
- package/README.md +11 -1
- package/SECURITY.md +9 -1
- package/browser-extension/manifest.json +2 -2
- package/browser-extension/service-worker.js +52 -29
- package/docs/ARCHITECTURE.md +4 -2
- package/docs/CLIENTS.md +2 -0
- package/docs/ENGINEERING.md +3 -1
- package/docs/GETTING_STARTED.md +400 -0
- package/docs/MULTI_ACCOUNT.md +406 -0
- package/docs/PROJECT_STANDARDS.md +143 -0
- package/docs/RELEASING.md +12 -0
- package/docs/TESTING.md +7 -5
- package/docs/TOOL_REFERENCE.md +2836 -0
- package/package.json +13 -4
- package/scripts/commit-message-check.mjs +63 -0
- package/scripts/coverage-check.mjs +9 -1
- package/scripts/generate-policy-reference.mjs +1 -4
- package/scripts/generate-tool-reference.mjs +87 -0
- package/scripts/generate-worker-types.mjs +19 -0
- package/scripts/markdown.mjs +9 -0
- package/src/local/agent-context.mjs +8 -15
- package/src/local/cli.mjs +1 -107
- package/src/local/daemon-process.mjs +16 -4
- package/src/local/default-instructions.mjs +2 -45
- package/src/local/git-service.mjs +4 -9
- package/src/local/managed-job-plan.mjs +2 -7
- package/src/local/managed-jobs.mjs +2 -7
- package/src/local/numbers.mjs +9 -0
- package/src/local/process-execution.mjs +4 -9
- package/src/local/process-sessions.mjs +5 -10
- package/src/local/project-metadata.mjs +50 -0
- package/src/local/project-package.mjs +2 -45
- package/src/local/records.mjs +5 -0
- package/src/local/runtime.mjs +5 -12
- package/src/local/state-inventory.mjs +139 -0
- package/src/local/workspace-file-service.mjs +6 -12
- package/src/worker/index.ts +33 -17
- package/tsconfig.json +1 -1
- package/src/worker/worker-configuration.d.ts +0 -14716
|
@@ -0,0 +1,2836 @@
|
|
|
1
|
+
# MCP tool reference
|
|
2
|
+
|
|
3
|
+
> Generated from `src/shared/tool-catalog.json`. Do not edit this file manually.
|
|
4
|
+
|
|
5
|
+
This catalog is the authoritative public tool contract for names, availability classes, behavior annotations, and JSON input schemas. Runtime authorization is additionally determined by the active policy described in [POLICY_REFERENCE.md](POLICY_REFERENCE.md).
|
|
6
|
+
|
|
7
|
+
Tool count: **51**.
|
|
8
|
+
|
|
9
|
+
## Index
|
|
10
|
+
|
|
11
|
+
| Tool | Availability | Read only | Destructive | Idempotent | Open world |
|
|
12
|
+
|---|---|---:|---:|---:|---:|
|
|
13
|
+
| [`server_info`](#server_info) | `always` | yes | no | yes | no |
|
|
14
|
+
| [`project_overview`](#project_overview) | `always` | yes | no | yes | no |
|
|
15
|
+
| [`session_bootstrap`](#session_bootstrap) | `always` | yes | no | yes | no |
|
|
16
|
+
| [`resolve_task_capabilities`](#resolve_task_capabilities) | `always` | yes | no | yes | no |
|
|
17
|
+
| [`list_local_applications`](#list_local_applications) | `full` | yes | no | yes | yes |
|
|
18
|
+
| [`open_local_application`](#open_local_application) | `full` | no | no | no | yes |
|
|
19
|
+
| [`inspect_local_application`](#inspect_local_application) | `full` | yes | no | yes | yes |
|
|
20
|
+
| [`operate_local_application`](#operate_local_application) | `full` | no | yes | no | yes |
|
|
21
|
+
| [`browser_status`](#browser_status) | `full` | no | no | yes | yes |
|
|
22
|
+
| [`pair_browser_extension`](#pair_browser_extension) | `full` | no | no | no | yes |
|
|
23
|
+
| [`browser_list_tabs`](#browser_list_tabs) | `full` | yes | no | yes | yes |
|
|
24
|
+
| [`browser_manage_tabs`](#browser_manage_tabs) | `full` | no | yes | no | yes |
|
|
25
|
+
| [`browser_get_source`](#browser_get_source) | `full` | yes | no | yes | yes |
|
|
26
|
+
| [`browser_inspect_page`](#browser_inspect_page) | `full` | yes | no | yes | yes |
|
|
27
|
+
| [`browser_wait`](#browser_wait) | `full` | yes | no | yes | yes |
|
|
28
|
+
| [`browser_action`](#browser_action) | `full` | no | yes | no | yes |
|
|
29
|
+
| [`browser_fill_form`](#browser_fill_form) | `full` | no | yes | no | yes |
|
|
30
|
+
| [`browser_screenshot`](#browser_screenshot) | `full` | no | no | no | yes |
|
|
31
|
+
| [`browser_upload_files`](#browser_upload_files) | `full` | no | yes | no | yes |
|
|
32
|
+
| [`agent_context`](#agent_context) | `always` | yes | no | yes | no |
|
|
33
|
+
| [`list_local_skills`](#list_local_skills) | `always` | yes | no | yes | no |
|
|
34
|
+
| [`load_local_skill`](#load_local_skill) | `always` | yes | no | yes | no |
|
|
35
|
+
| [`list_local_commands`](#list_local_commands) | `always` | yes | no | yes | no |
|
|
36
|
+
| [`run_local_command`](#run_local_command) | `direct-exec` | no | yes | no | yes |
|
|
37
|
+
| [`list_roots`](#list_roots) | `always` | yes | no | yes | no |
|
|
38
|
+
| [`list_dir`](#list_dir) | `always` | yes | no | yes | no |
|
|
39
|
+
| [`list_files`](#list_files) | `always` | yes | no | yes | no |
|
|
40
|
+
| [`read_file`](#read_file) | `always` | yes | no | yes | no |
|
|
41
|
+
| [`view_image`](#view_image) | `always` | yes | no | yes | no |
|
|
42
|
+
| [`write_file`](#write_file) | `write` | no | yes | no | no |
|
|
43
|
+
| [`edit_file`](#edit_file) | `write` | no | yes | no | no |
|
|
44
|
+
| [`apply_patch`](#apply_patch) | `write` | no | yes | no | no |
|
|
45
|
+
| [`search_text`](#search_text) | `always` | yes | no | yes | no |
|
|
46
|
+
| [`git_status`](#git_status) | `always` | yes | no | yes | no |
|
|
47
|
+
| [`git_diff`](#git_diff) | `always` | yes | no | yes | no |
|
|
48
|
+
| [`git_log`](#git_log) | `always` | yes | no | yes | no |
|
|
49
|
+
| [`git_show`](#git_show) | `always` | yes | no | yes | no |
|
|
50
|
+
| [`run_process`](#run_process) | `direct-exec` | no | yes | no | yes |
|
|
51
|
+
| [`start_process`](#start_process) | `direct-exec` | no | yes | no | yes |
|
|
52
|
+
| [`read_process`](#read_process) | `direct-exec` | yes | no | yes | no |
|
|
53
|
+
| [`write_process`](#write_process) | `direct-exec` | no | yes | no | yes |
|
|
54
|
+
| [`kill_process`](#kill_process) | `direct-exec` | no | yes | yes | yes |
|
|
55
|
+
| [`diagnose_runtime`](#diagnose_runtime) | `always` | yes | no | yes | no |
|
|
56
|
+
| [`list_local_resources`](#list_local_resources) | `always` | yes | no | yes | no |
|
|
57
|
+
| [`generate_ssh_key_resource`](#generate_ssh_key_resource) | `full` | no | no | yes | no |
|
|
58
|
+
| [`stage_job`](#stage_job) | `write` | no | no | no | no |
|
|
59
|
+
| [`start_job`](#start_job) | `write+direct-exec` | no | yes | no | yes |
|
|
60
|
+
| [`list_jobs`](#list_jobs) | `always` | yes | no | yes | no |
|
|
61
|
+
| [`read_job`](#read_job) | `always` | yes | no | yes | no |
|
|
62
|
+
| [`cancel_job`](#cancel_job) | `write` | no | yes | yes | yes |
|
|
63
|
+
| [`exec_command`](#exec_command) | `shell-exec` | no | yes | no | yes |
|
|
64
|
+
|
|
65
|
+
## `server_info`
|
|
66
|
+
|
|
67
|
+
**Server information**
|
|
68
|
+
|
|
69
|
+
Return bridge/runtime metadata, active policy, protocol versions, and available tools.
|
|
70
|
+
|
|
71
|
+
| Contract field | Value |
|
|
72
|
+
|---|---|
|
|
73
|
+
| Availability | `always` |
|
|
74
|
+
| Read-only hint | yes |
|
|
75
|
+
| Destructive hint | no |
|
|
76
|
+
| Idempotent hint | yes |
|
|
77
|
+
| Open-world hint | no |
|
|
78
|
+
|
|
79
|
+
### Input schema
|
|
80
|
+
|
|
81
|
+
```json
|
|
82
|
+
{
|
|
83
|
+
"type": "object",
|
|
84
|
+
"additionalProperties": false
|
|
85
|
+
}
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
## `project_overview`
|
|
89
|
+
|
|
90
|
+
**Project overview**
|
|
91
|
+
|
|
92
|
+
Summarize the connected workspace, repository root, local policy, and top-level entries.
|
|
93
|
+
|
|
94
|
+
| Contract field | Value |
|
|
95
|
+
|---|---|
|
|
96
|
+
| Availability | `always` |
|
|
97
|
+
| Read-only hint | yes |
|
|
98
|
+
| Destructive hint | no |
|
|
99
|
+
| Idempotent hint | yes |
|
|
100
|
+
| Open-world hint | no |
|
|
101
|
+
|
|
102
|
+
### Input schema
|
|
103
|
+
|
|
104
|
+
```json
|
|
105
|
+
{
|
|
106
|
+
"type": "object",
|
|
107
|
+
"additionalProperties": false
|
|
108
|
+
}
|
|
109
|
+
```
|
|
110
|
+
|
|
111
|
+
## `session_bootstrap`
|
|
112
|
+
|
|
113
|
+
**Load session bootstrap**
|
|
114
|
+
|
|
115
|
+
Load built-in working agreements, bounded automatic project facts, user-global and root workspace instructions, and capability refresh metadata for MCP session initialization.
|
|
116
|
+
|
|
117
|
+
| Contract field | Value |
|
|
118
|
+
|---|---|
|
|
119
|
+
| Availability | `always` |
|
|
120
|
+
| Read-only hint | yes |
|
|
121
|
+
| Destructive hint | no |
|
|
122
|
+
| Idempotent hint | yes |
|
|
123
|
+
| Open-world hint | no |
|
|
124
|
+
|
|
125
|
+
### Input schema
|
|
126
|
+
|
|
127
|
+
```json
|
|
128
|
+
{
|
|
129
|
+
"type": "object",
|
|
130
|
+
"additionalProperties": false,
|
|
131
|
+
"properties": {
|
|
132
|
+
"path": {
|
|
133
|
+
"type": "string",
|
|
134
|
+
"default": ".",
|
|
135
|
+
"maxLength": 32768
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
```
|
|
140
|
+
|
|
141
|
+
## `resolve_task_capabilities`
|
|
142
|
+
|
|
143
|
+
**Resolve task capabilities**
|
|
144
|
+
|
|
145
|
+
Rescan built-in and automatic project context, local instruction files, skills, explicit and automatic package commands, installed applications, and browser capability metadata; rank the capabilities relevant to the current task and optionally load the best skill.
|
|
146
|
+
|
|
147
|
+
| Contract field | Value |
|
|
148
|
+
|---|---|
|
|
149
|
+
| Availability | `always` |
|
|
150
|
+
| Read-only hint | yes |
|
|
151
|
+
| Destructive hint | no |
|
|
152
|
+
| Idempotent hint | yes |
|
|
153
|
+
| Open-world hint | no |
|
|
154
|
+
|
|
155
|
+
### Input schema
|
|
156
|
+
|
|
157
|
+
```json
|
|
158
|
+
{
|
|
159
|
+
"type": "object",
|
|
160
|
+
"additionalProperties": false,
|
|
161
|
+
"properties": {
|
|
162
|
+
"task": {
|
|
163
|
+
"type": "string",
|
|
164
|
+
"minLength": 1,
|
|
165
|
+
"maxLength": 20000
|
|
166
|
+
},
|
|
167
|
+
"path": {
|
|
168
|
+
"type": "string",
|
|
169
|
+
"default": ".",
|
|
170
|
+
"maxLength": 32768
|
|
171
|
+
},
|
|
172
|
+
"max_skills": {
|
|
173
|
+
"type": "integer",
|
|
174
|
+
"minimum": 1,
|
|
175
|
+
"maximum": 50,
|
|
176
|
+
"default": 10
|
|
177
|
+
},
|
|
178
|
+
"include_selected_skill": {
|
|
179
|
+
"type": "boolean",
|
|
180
|
+
"default": true
|
|
181
|
+
}
|
|
182
|
+
},
|
|
183
|
+
"required": [
|
|
184
|
+
"task"
|
|
185
|
+
]
|
|
186
|
+
}
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
## `list_local_applications`
|
|
190
|
+
|
|
191
|
+
**List local applications**
|
|
192
|
+
|
|
193
|
+
Discover installed local applications and launchers without reading their document contents.
|
|
194
|
+
|
|
195
|
+
| Contract field | Value |
|
|
196
|
+
|---|---|
|
|
197
|
+
| Availability | `full` |
|
|
198
|
+
| Read-only hint | yes |
|
|
199
|
+
| Destructive hint | no |
|
|
200
|
+
| Idempotent hint | yes |
|
|
201
|
+
| Open-world hint | yes |
|
|
202
|
+
|
|
203
|
+
### Input schema
|
|
204
|
+
|
|
205
|
+
```json
|
|
206
|
+
{
|
|
207
|
+
"type": "object",
|
|
208
|
+
"additionalProperties": false,
|
|
209
|
+
"properties": {
|
|
210
|
+
"query": {
|
|
211
|
+
"type": "string",
|
|
212
|
+
"default": "",
|
|
213
|
+
"maxLength": 1000
|
|
214
|
+
},
|
|
215
|
+
"max_results": {
|
|
216
|
+
"type": "integer",
|
|
217
|
+
"minimum": 1,
|
|
218
|
+
"maximum": 1000,
|
|
219
|
+
"default": 200
|
|
220
|
+
}
|
|
221
|
+
}
|
|
222
|
+
}
|
|
223
|
+
```
|
|
224
|
+
|
|
225
|
+
## `open_local_application`
|
|
226
|
+
|
|
227
|
+
**Open local application**
|
|
228
|
+
|
|
229
|
+
Open a named local application, optionally with a document or URL target, using the operating system launcher.
|
|
230
|
+
|
|
231
|
+
| Contract field | Value |
|
|
232
|
+
|---|---|
|
|
233
|
+
| Availability | `full` |
|
|
234
|
+
| Read-only hint | no |
|
|
235
|
+
| Destructive hint | no |
|
|
236
|
+
| Idempotent hint | no |
|
|
237
|
+
| Open-world hint | yes |
|
|
238
|
+
|
|
239
|
+
### Input schema
|
|
240
|
+
|
|
241
|
+
```json
|
|
242
|
+
{
|
|
243
|
+
"type": "object",
|
|
244
|
+
"additionalProperties": false,
|
|
245
|
+
"properties": {
|
|
246
|
+
"application": {
|
|
247
|
+
"type": "string",
|
|
248
|
+
"minLength": 1,
|
|
249
|
+
"maxLength": 300
|
|
250
|
+
},
|
|
251
|
+
"target": {
|
|
252
|
+
"type": "string",
|
|
253
|
+
"maxLength": 32768
|
|
254
|
+
},
|
|
255
|
+
"background": {
|
|
256
|
+
"type": "boolean",
|
|
257
|
+
"default": false
|
|
258
|
+
},
|
|
259
|
+
"timeout_seconds": {
|
|
260
|
+
"type": "integer",
|
|
261
|
+
"minimum": 1,
|
|
262
|
+
"maximum": 120,
|
|
263
|
+
"default": 30
|
|
264
|
+
}
|
|
265
|
+
},
|
|
266
|
+
"required": [
|
|
267
|
+
"application"
|
|
268
|
+
]
|
|
269
|
+
}
|
|
270
|
+
```
|
|
271
|
+
|
|
272
|
+
## `inspect_local_application`
|
|
273
|
+
|
|
274
|
+
**Inspect local application UI**
|
|
275
|
+
|
|
276
|
+
Inspect a bounded macOS Accessibility tree for a running application. Requires local Accessibility permission and never executes arbitrary AppleScript supplied by the caller.
|
|
277
|
+
|
|
278
|
+
| Contract field | Value |
|
|
279
|
+
|---|---|
|
|
280
|
+
| Availability | `full` |
|
|
281
|
+
| Read-only hint | yes |
|
|
282
|
+
| Destructive hint | no |
|
|
283
|
+
| Idempotent hint | yes |
|
|
284
|
+
| Open-world hint | yes |
|
|
285
|
+
|
|
286
|
+
### Input schema
|
|
287
|
+
|
|
288
|
+
```json
|
|
289
|
+
{
|
|
290
|
+
"type": "object",
|
|
291
|
+
"additionalProperties": false,
|
|
292
|
+
"properties": {
|
|
293
|
+
"application": {
|
|
294
|
+
"type": "string",
|
|
295
|
+
"minLength": 1,
|
|
296
|
+
"maxLength": 300
|
|
297
|
+
},
|
|
298
|
+
"max_depth": {
|
|
299
|
+
"type": "integer",
|
|
300
|
+
"minimum": 1,
|
|
301
|
+
"maximum": 12,
|
|
302
|
+
"default": 6
|
|
303
|
+
},
|
|
304
|
+
"max_elements": {
|
|
305
|
+
"type": "integer",
|
|
306
|
+
"minimum": 1,
|
|
307
|
+
"maximum": 500,
|
|
308
|
+
"default": 200
|
|
309
|
+
},
|
|
310
|
+
"include_values": {
|
|
311
|
+
"type": "boolean",
|
|
312
|
+
"default": false
|
|
313
|
+
},
|
|
314
|
+
"include_menus": {
|
|
315
|
+
"type": "boolean",
|
|
316
|
+
"default": false,
|
|
317
|
+
"description": "Include and recursively inspect the application menu hierarchy. Disabled by default so main-window controls are reached quickly."
|
|
318
|
+
},
|
|
319
|
+
"timeout_seconds": {
|
|
320
|
+
"type": "integer",
|
|
321
|
+
"minimum": 1,
|
|
322
|
+
"maximum": 120,
|
|
323
|
+
"default": 30
|
|
324
|
+
}
|
|
325
|
+
},
|
|
326
|
+
"required": [
|
|
327
|
+
"application"
|
|
328
|
+
]
|
|
329
|
+
}
|
|
330
|
+
```
|
|
331
|
+
|
|
332
|
+
## `operate_local_application`
|
|
333
|
+
|
|
334
|
+
**Operate local application UI**
|
|
335
|
+
|
|
336
|
+
Perform a structured macOS Accessibility action on a matched UI element. Text can be supplied through a registered local resource so secret values do not enter MCP arguments.
|
|
337
|
+
|
|
338
|
+
| Contract field | Value |
|
|
339
|
+
|---|---|
|
|
340
|
+
| Availability | `full` |
|
|
341
|
+
| Read-only hint | no |
|
|
342
|
+
| Destructive hint | yes |
|
|
343
|
+
| Idempotent hint | no |
|
|
344
|
+
| Open-world hint | yes |
|
|
345
|
+
|
|
346
|
+
### Input schema
|
|
347
|
+
|
|
348
|
+
```json
|
|
349
|
+
{
|
|
350
|
+
"type": "object",
|
|
351
|
+
"additionalProperties": false,
|
|
352
|
+
"properties": {
|
|
353
|
+
"application": {
|
|
354
|
+
"type": "string",
|
|
355
|
+
"minLength": 1,
|
|
356
|
+
"maxLength": 300
|
|
357
|
+
},
|
|
358
|
+
"action": {
|
|
359
|
+
"type": "string",
|
|
360
|
+
"enum": [
|
|
361
|
+
"activate",
|
|
362
|
+
"click",
|
|
363
|
+
"set_value",
|
|
364
|
+
"focus",
|
|
365
|
+
"press",
|
|
366
|
+
"keystroke"
|
|
367
|
+
]
|
|
368
|
+
},
|
|
369
|
+
"selector": {
|
|
370
|
+
"type": "object",
|
|
371
|
+
"properties": {
|
|
372
|
+
"role": {
|
|
373
|
+
"type": "string",
|
|
374
|
+
"maxLength": 500
|
|
375
|
+
},
|
|
376
|
+
"subrole": {
|
|
377
|
+
"type": "string",
|
|
378
|
+
"maxLength": 500
|
|
379
|
+
},
|
|
380
|
+
"name": {
|
|
381
|
+
"type": "string",
|
|
382
|
+
"maxLength": 500
|
|
383
|
+
},
|
|
384
|
+
"title": {
|
|
385
|
+
"type": "string",
|
|
386
|
+
"maxLength": 500
|
|
387
|
+
},
|
|
388
|
+
"description": {
|
|
389
|
+
"type": "string",
|
|
390
|
+
"maxLength": 500
|
|
391
|
+
},
|
|
392
|
+
"identifier": {
|
|
393
|
+
"type": "string",
|
|
394
|
+
"maxLength": 500
|
|
395
|
+
},
|
|
396
|
+
"index": {
|
|
397
|
+
"type": "integer",
|
|
398
|
+
"minimum": 0,
|
|
399
|
+
"maximum": 499
|
|
400
|
+
}
|
|
401
|
+
},
|
|
402
|
+
"additionalProperties": false
|
|
403
|
+
},
|
|
404
|
+
"value": {
|
|
405
|
+
"type": "string",
|
|
406
|
+
"maxLength": 4000
|
|
407
|
+
},
|
|
408
|
+
"value_resource": {
|
|
409
|
+
"type": "string",
|
|
410
|
+
"pattern": "^[a-z][a-z0-9._-]{0,63}$"
|
|
411
|
+
},
|
|
412
|
+
"include_menus": {
|
|
413
|
+
"type": "boolean",
|
|
414
|
+
"default": false,
|
|
415
|
+
"description": "Include menu-bar and menu subtrees when matching the action selector."
|
|
416
|
+
},
|
|
417
|
+
"max_depth": {
|
|
418
|
+
"type": "integer",
|
|
419
|
+
"minimum": 1,
|
|
420
|
+
"maximum": 12,
|
|
421
|
+
"default": 8
|
|
422
|
+
},
|
|
423
|
+
"timeout_seconds": {
|
|
424
|
+
"type": "integer",
|
|
425
|
+
"minimum": 1,
|
|
426
|
+
"maximum": 120,
|
|
427
|
+
"default": 30
|
|
428
|
+
}
|
|
429
|
+
},
|
|
430
|
+
"required": [
|
|
431
|
+
"application",
|
|
432
|
+
"action"
|
|
433
|
+
]
|
|
434
|
+
}
|
|
435
|
+
```
|
|
436
|
+
|
|
437
|
+
## `browser_status`
|
|
438
|
+
|
|
439
|
+
**Browser bridge status**
|
|
440
|
+
|
|
441
|
+
Start or inspect the loopback bridge for the Chromium profile where the extension is installed. Machine Bridge does not launch Playwright or another browser process, but cannot infer whether that profile is the user's daily or isolated profile; status reports authenticated extension version, protocol, capabilities, and reload state.
|
|
442
|
+
|
|
443
|
+
| Contract field | Value |
|
|
444
|
+
|---|---|
|
|
445
|
+
| Availability | `full` |
|
|
446
|
+
| Read-only hint | no |
|
|
447
|
+
| Destructive hint | no |
|
|
448
|
+
| Idempotent hint | yes |
|
|
449
|
+
| Open-world hint | yes |
|
|
450
|
+
|
|
451
|
+
### Input schema
|
|
452
|
+
|
|
453
|
+
```json
|
|
454
|
+
{
|
|
455
|
+
"type": "object",
|
|
456
|
+
"additionalProperties": false
|
|
457
|
+
}
|
|
458
|
+
```
|
|
459
|
+
|
|
460
|
+
## `pair_browser_extension`
|
|
461
|
+
|
|
462
|
+
**Pair browser extension**
|
|
463
|
+
|
|
464
|
+
Open the local pairing page and return the packaged unpacked-extension path for installation in the user's intended Chromium profile. Pairing is persisted only after an acknowledged version/capability handshake.
|
|
465
|
+
|
|
466
|
+
| Contract field | Value |
|
|
467
|
+
|---|---|
|
|
468
|
+
| Availability | `full` |
|
|
469
|
+
| Read-only hint | no |
|
|
470
|
+
| Destructive hint | no |
|
|
471
|
+
| Idempotent hint | no |
|
|
472
|
+
| Open-world hint | yes |
|
|
473
|
+
|
|
474
|
+
### Input schema
|
|
475
|
+
|
|
476
|
+
```json
|
|
477
|
+
{
|
|
478
|
+
"type": "object",
|
|
479
|
+
"additionalProperties": false,
|
|
480
|
+
"properties": {
|
|
481
|
+
"open": {
|
|
482
|
+
"type": "boolean",
|
|
483
|
+
"default": true
|
|
484
|
+
}
|
|
485
|
+
}
|
|
486
|
+
}
|
|
487
|
+
```
|
|
488
|
+
|
|
489
|
+
## `browser_list_tabs`
|
|
490
|
+
|
|
491
|
+
**List browser tabs**
|
|
492
|
+
|
|
493
|
+
List tabs from the paired user's existing Chromium browser profile.
|
|
494
|
+
|
|
495
|
+
| Contract field | Value |
|
|
496
|
+
|---|---|
|
|
497
|
+
| Availability | `full` |
|
|
498
|
+
| Read-only hint | yes |
|
|
499
|
+
| Destructive hint | no |
|
|
500
|
+
| Idempotent hint | yes |
|
|
501
|
+
| Open-world hint | yes |
|
|
502
|
+
|
|
503
|
+
### Input schema
|
|
504
|
+
|
|
505
|
+
```json
|
|
506
|
+
{
|
|
507
|
+
"type": "object",
|
|
508
|
+
"additionalProperties": false,
|
|
509
|
+
"properties": {
|
|
510
|
+
"current_window": {
|
|
511
|
+
"type": "boolean",
|
|
512
|
+
"default": false
|
|
513
|
+
},
|
|
514
|
+
"include_pinned": {
|
|
515
|
+
"type": "boolean",
|
|
516
|
+
"default": true
|
|
517
|
+
},
|
|
518
|
+
"timeout_seconds": {
|
|
519
|
+
"type": "integer",
|
|
520
|
+
"minimum": 1,
|
|
521
|
+
"maximum": 120,
|
|
522
|
+
"default": 30
|
|
523
|
+
}
|
|
524
|
+
}
|
|
525
|
+
}
|
|
526
|
+
```
|
|
527
|
+
|
|
528
|
+
## `browser_manage_tabs`
|
|
529
|
+
|
|
530
|
+
**Manage browser tabs**
|
|
531
|
+
|
|
532
|
+
Create, activate, or close tabs in the paired existing browser profile.
|
|
533
|
+
|
|
534
|
+
| Contract field | Value |
|
|
535
|
+
|---|---|
|
|
536
|
+
| Availability | `full` |
|
|
537
|
+
| Read-only hint | no |
|
|
538
|
+
| Destructive hint | yes |
|
|
539
|
+
| Idempotent hint | no |
|
|
540
|
+
| Open-world hint | yes |
|
|
541
|
+
|
|
542
|
+
### Input schema
|
|
543
|
+
|
|
544
|
+
```json
|
|
545
|
+
{
|
|
546
|
+
"type": "object",
|
|
547
|
+
"additionalProperties": false,
|
|
548
|
+
"properties": {
|
|
549
|
+
"action": {
|
|
550
|
+
"type": "string",
|
|
551
|
+
"enum": [
|
|
552
|
+
"new",
|
|
553
|
+
"activate",
|
|
554
|
+
"close"
|
|
555
|
+
]
|
|
556
|
+
},
|
|
557
|
+
"tab_id": {
|
|
558
|
+
"type": "integer",
|
|
559
|
+
"minimum": 1,
|
|
560
|
+
"description": "Required for activate and close."
|
|
561
|
+
},
|
|
562
|
+
"url": {
|
|
563
|
+
"type": "string",
|
|
564
|
+
"maxLength": 32768,
|
|
565
|
+
"description": "Optional absolute http, https, or file URL for a new tab."
|
|
566
|
+
},
|
|
567
|
+
"active": {
|
|
568
|
+
"type": "boolean",
|
|
569
|
+
"default": true
|
|
570
|
+
},
|
|
571
|
+
"timeout_seconds": {
|
|
572
|
+
"type": "integer",
|
|
573
|
+
"minimum": 1,
|
|
574
|
+
"maximum": 120,
|
|
575
|
+
"default": 30
|
|
576
|
+
}
|
|
577
|
+
},
|
|
578
|
+
"required": [
|
|
579
|
+
"action"
|
|
580
|
+
]
|
|
581
|
+
}
|
|
582
|
+
```
|
|
583
|
+
|
|
584
|
+
## `browser_get_source`
|
|
585
|
+
|
|
586
|
+
**Read browser page source**
|
|
587
|
+
|
|
588
|
+
Read bounded serialized current DOM HTML from the active or selected browser tab. max_bytes is one aggregate budget across at most 64 accessible frames, with explicit frame, node, and byte truncation metadata.
|
|
589
|
+
|
|
590
|
+
| Contract field | Value |
|
|
591
|
+
|---|---|
|
|
592
|
+
| Availability | `full` |
|
|
593
|
+
| Read-only hint | yes |
|
|
594
|
+
| Destructive hint | no |
|
|
595
|
+
| Idempotent hint | yes |
|
|
596
|
+
| Open-world hint | yes |
|
|
597
|
+
|
|
598
|
+
### Input schema
|
|
599
|
+
|
|
600
|
+
```json
|
|
601
|
+
{
|
|
602
|
+
"type": "object",
|
|
603
|
+
"additionalProperties": false,
|
|
604
|
+
"properties": {
|
|
605
|
+
"tab_id": {
|
|
606
|
+
"type": "integer",
|
|
607
|
+
"minimum": 1
|
|
608
|
+
},
|
|
609
|
+
"max_bytes": {
|
|
610
|
+
"type": "integer",
|
|
611
|
+
"minimum": 1,
|
|
612
|
+
"maximum": 4194304,
|
|
613
|
+
"default": 1048576
|
|
614
|
+
},
|
|
615
|
+
"timeout_seconds": {
|
|
616
|
+
"type": "integer",
|
|
617
|
+
"minimum": 1,
|
|
618
|
+
"maximum": 120,
|
|
619
|
+
"default": 30
|
|
620
|
+
},
|
|
621
|
+
"frame_id": {
|
|
622
|
+
"type": "integer",
|
|
623
|
+
"minimum": 0
|
|
624
|
+
},
|
|
625
|
+
"all_frames": {
|
|
626
|
+
"type": "boolean",
|
|
627
|
+
"default": false
|
|
628
|
+
}
|
|
629
|
+
}
|
|
630
|
+
}
|
|
631
|
+
```
|
|
632
|
+
|
|
633
|
+
## `browser_inspect_page`
|
|
634
|
+
|
|
635
|
+
**Inspect browser page**
|
|
636
|
+
|
|
637
|
+
Inspect a bounded snapshot-version-2 semantic representation across at most 64 accessible frames, with one aggregate element budget, bounded reusable refs, actionability state, bounded page-controlled metadata, and explicit scan/frame truncation.
|
|
638
|
+
|
|
639
|
+
| Contract field | Value |
|
|
640
|
+
|---|---|
|
|
641
|
+
| Availability | `full` |
|
|
642
|
+
| Read-only hint | yes |
|
|
643
|
+
| Destructive hint | no |
|
|
644
|
+
| Idempotent hint | yes |
|
|
645
|
+
| Open-world hint | yes |
|
|
646
|
+
|
|
647
|
+
### Input schema
|
|
648
|
+
|
|
649
|
+
```json
|
|
650
|
+
{
|
|
651
|
+
"type": "object",
|
|
652
|
+
"additionalProperties": false,
|
|
653
|
+
"properties": {
|
|
654
|
+
"tab_id": {
|
|
655
|
+
"type": "integer",
|
|
656
|
+
"minimum": 1
|
|
657
|
+
},
|
|
658
|
+
"max_elements": {
|
|
659
|
+
"type": "integer",
|
|
660
|
+
"minimum": 1,
|
|
661
|
+
"maximum": 1000,
|
|
662
|
+
"default": 300
|
|
663
|
+
},
|
|
664
|
+
"include_values": {
|
|
665
|
+
"type": "boolean",
|
|
666
|
+
"default": false
|
|
667
|
+
},
|
|
668
|
+
"timeout_seconds": {
|
|
669
|
+
"type": "integer",
|
|
670
|
+
"minimum": 1,
|
|
671
|
+
"maximum": 120,
|
|
672
|
+
"default": 30
|
|
673
|
+
},
|
|
674
|
+
"frame_id": {
|
|
675
|
+
"type": "integer",
|
|
676
|
+
"minimum": 0
|
|
677
|
+
},
|
|
678
|
+
"all_frames": {
|
|
679
|
+
"type": "boolean",
|
|
680
|
+
"default": true
|
|
681
|
+
}
|
|
682
|
+
}
|
|
683
|
+
}
|
|
684
|
+
```
|
|
685
|
+
|
|
686
|
+
## `browser_wait`
|
|
687
|
+
|
|
688
|
+
**Wait for browser state**
|
|
689
|
+
|
|
690
|
+
Wait until all supplied URL, load, text, and element-state conditions are satisfied in an existing browser tab.
|
|
691
|
+
|
|
692
|
+
| Contract field | Value |
|
|
693
|
+
|---|---|
|
|
694
|
+
| Availability | `full` |
|
|
695
|
+
| Read-only hint | yes |
|
|
696
|
+
| Destructive hint | no |
|
|
697
|
+
| Idempotent hint | yes |
|
|
698
|
+
| Open-world hint | yes |
|
|
699
|
+
|
|
700
|
+
### Input schema
|
|
701
|
+
|
|
702
|
+
```json
|
|
703
|
+
{
|
|
704
|
+
"type": "object",
|
|
705
|
+
"additionalProperties": false,
|
|
706
|
+
"properties": {
|
|
707
|
+
"tab_id": {
|
|
708
|
+
"type": "integer",
|
|
709
|
+
"minimum": 1
|
|
710
|
+
},
|
|
711
|
+
"frame_id": {
|
|
712
|
+
"type": "integer",
|
|
713
|
+
"minimum": 0
|
|
714
|
+
},
|
|
715
|
+
"selector": {
|
|
716
|
+
"type": "object",
|
|
717
|
+
"properties": {
|
|
718
|
+
"ref": {
|
|
719
|
+
"type": "string",
|
|
720
|
+
"maxLength": 100,
|
|
721
|
+
"description": "Stable element reference returned by browser_inspect_page for the same document and frame."
|
|
722
|
+
},
|
|
723
|
+
"css": {
|
|
724
|
+
"type": "string",
|
|
725
|
+
"maxLength": 2000
|
|
726
|
+
},
|
|
727
|
+
"id": {
|
|
728
|
+
"type": "string",
|
|
729
|
+
"maxLength": 2000
|
|
730
|
+
},
|
|
731
|
+
"name": {
|
|
732
|
+
"type": "string",
|
|
733
|
+
"maxLength": 2000
|
|
734
|
+
},
|
|
735
|
+
"label": {
|
|
736
|
+
"type": "string",
|
|
737
|
+
"maxLength": 2000
|
|
738
|
+
},
|
|
739
|
+
"text": {
|
|
740
|
+
"type": "string",
|
|
741
|
+
"maxLength": 2000
|
|
742
|
+
},
|
|
743
|
+
"role": {
|
|
744
|
+
"type": "string",
|
|
745
|
+
"maxLength": 2000
|
|
746
|
+
},
|
|
747
|
+
"placeholder": {
|
|
748
|
+
"type": "string",
|
|
749
|
+
"maxLength": 2000
|
|
750
|
+
},
|
|
751
|
+
"index": {
|
|
752
|
+
"type": "integer",
|
|
753
|
+
"minimum": 0,
|
|
754
|
+
"maximum": 10000
|
|
755
|
+
}
|
|
756
|
+
},
|
|
757
|
+
"additionalProperties": false
|
|
758
|
+
},
|
|
759
|
+
"state": {
|
|
760
|
+
"type": "string",
|
|
761
|
+
"enum": [
|
|
762
|
+
"attached",
|
|
763
|
+
"detached",
|
|
764
|
+
"visible",
|
|
765
|
+
"hidden",
|
|
766
|
+
"enabled",
|
|
767
|
+
"editable",
|
|
768
|
+
"checked",
|
|
769
|
+
"unchecked"
|
|
770
|
+
],
|
|
771
|
+
"description": "Element state to wait for. Defaults to visible only when selector is supplied."
|
|
772
|
+
},
|
|
773
|
+
"text": {
|
|
774
|
+
"type": "string",
|
|
775
|
+
"maxLength": 4000
|
|
776
|
+
},
|
|
777
|
+
"url_contains": {
|
|
778
|
+
"type": "string",
|
|
779
|
+
"maxLength": 32768
|
|
780
|
+
},
|
|
781
|
+
"load_state": {
|
|
782
|
+
"type": "string",
|
|
783
|
+
"enum": [
|
|
784
|
+
"domcontentloaded",
|
|
785
|
+
"complete"
|
|
786
|
+
]
|
|
787
|
+
},
|
|
788
|
+
"timeout_seconds": {
|
|
789
|
+
"type": "integer",
|
|
790
|
+
"minimum": 1,
|
|
791
|
+
"maximum": 120,
|
|
792
|
+
"default": 30
|
|
793
|
+
}
|
|
794
|
+
}
|
|
795
|
+
}
|
|
796
|
+
```
|
|
797
|
+
|
|
798
|
+
## `browser_action`
|
|
799
|
+
|
|
800
|
+
**Operate browser page**
|
|
801
|
+
|
|
802
|
+
Perform one structured navigation or page action in the user's existing browser tab without arbitrary JavaScript. Automatic trusted-input fallback occurs only before any DevTools Input command starts; ambiguous post-dispatch failures require inspection before retry.
|
|
803
|
+
|
|
804
|
+
| Contract field | Value |
|
|
805
|
+
|---|---|
|
|
806
|
+
| Availability | `full` |
|
|
807
|
+
| Read-only hint | no |
|
|
808
|
+
| Destructive hint | yes |
|
|
809
|
+
| Idempotent hint | no |
|
|
810
|
+
| Open-world hint | yes |
|
|
811
|
+
|
|
812
|
+
### Input schema
|
|
813
|
+
|
|
814
|
+
```json
|
|
815
|
+
{
|
|
816
|
+
"type": "object",
|
|
817
|
+
"additionalProperties": false,
|
|
818
|
+
"properties": {
|
|
819
|
+
"tab_id": {
|
|
820
|
+
"type": "integer",
|
|
821
|
+
"minimum": 1
|
|
822
|
+
},
|
|
823
|
+
"action": {
|
|
824
|
+
"type": "string",
|
|
825
|
+
"enum": [
|
|
826
|
+
"navigate",
|
|
827
|
+
"click",
|
|
828
|
+
"fill",
|
|
829
|
+
"select",
|
|
830
|
+
"check",
|
|
831
|
+
"uncheck",
|
|
832
|
+
"focus",
|
|
833
|
+
"press",
|
|
834
|
+
"submit",
|
|
835
|
+
"reload",
|
|
836
|
+
"back",
|
|
837
|
+
"forward",
|
|
838
|
+
"double_click",
|
|
839
|
+
"hover",
|
|
840
|
+
"type_text",
|
|
841
|
+
"scroll_into_view"
|
|
842
|
+
]
|
|
843
|
+
},
|
|
844
|
+
"selector": {
|
|
845
|
+
"type": "object",
|
|
846
|
+
"properties": {
|
|
847
|
+
"ref": {
|
|
848
|
+
"type": "string",
|
|
849
|
+
"maxLength": 100,
|
|
850
|
+
"description": "Stable element reference returned by browser_inspect_page for the same document and frame."
|
|
851
|
+
},
|
|
852
|
+
"css": {
|
|
853
|
+
"type": "string",
|
|
854
|
+
"maxLength": 2000
|
|
855
|
+
},
|
|
856
|
+
"id": {
|
|
857
|
+
"type": "string",
|
|
858
|
+
"maxLength": 2000
|
|
859
|
+
},
|
|
860
|
+
"name": {
|
|
861
|
+
"type": "string",
|
|
862
|
+
"maxLength": 2000
|
|
863
|
+
},
|
|
864
|
+
"label": {
|
|
865
|
+
"type": "string",
|
|
866
|
+
"maxLength": 2000
|
|
867
|
+
},
|
|
868
|
+
"text": {
|
|
869
|
+
"type": "string",
|
|
870
|
+
"maxLength": 2000
|
|
871
|
+
},
|
|
872
|
+
"role": {
|
|
873
|
+
"type": "string",
|
|
874
|
+
"maxLength": 2000
|
|
875
|
+
},
|
|
876
|
+
"placeholder": {
|
|
877
|
+
"type": "string",
|
|
878
|
+
"maxLength": 2000
|
|
879
|
+
},
|
|
880
|
+
"index": {
|
|
881
|
+
"type": "integer",
|
|
882
|
+
"minimum": 0,
|
|
883
|
+
"maximum": 10000
|
|
884
|
+
}
|
|
885
|
+
},
|
|
886
|
+
"additionalProperties": false
|
|
887
|
+
},
|
|
888
|
+
"url": {
|
|
889
|
+
"type": "string",
|
|
890
|
+
"maxLength": 32768
|
|
891
|
+
},
|
|
892
|
+
"value": {
|
|
893
|
+
"type": "string",
|
|
894
|
+
"maxLength": 131072
|
|
895
|
+
},
|
|
896
|
+
"value_resource": {
|
|
897
|
+
"type": "string",
|
|
898
|
+
"pattern": "^[a-z][a-z0-9._-]{0,63}$"
|
|
899
|
+
},
|
|
900
|
+
"key": {
|
|
901
|
+
"type": "string",
|
|
902
|
+
"maxLength": 100
|
|
903
|
+
},
|
|
904
|
+
"wait_for": {
|
|
905
|
+
"type": "string",
|
|
906
|
+
"enum": [
|
|
907
|
+
"none",
|
|
908
|
+
"domcontentloaded",
|
|
909
|
+
"complete"
|
|
910
|
+
],
|
|
911
|
+
"default": "none"
|
|
912
|
+
},
|
|
913
|
+
"timeout_seconds": {
|
|
914
|
+
"type": "integer",
|
|
915
|
+
"minimum": 1,
|
|
916
|
+
"maximum": 120,
|
|
917
|
+
"default": 30
|
|
918
|
+
},
|
|
919
|
+
"frame_id": {
|
|
920
|
+
"type": "integer",
|
|
921
|
+
"minimum": 0
|
|
922
|
+
},
|
|
923
|
+
"input_mode": {
|
|
924
|
+
"type": "string",
|
|
925
|
+
"enum": [
|
|
926
|
+
"auto",
|
|
927
|
+
"trusted",
|
|
928
|
+
"dom"
|
|
929
|
+
],
|
|
930
|
+
"default": "auto",
|
|
931
|
+
"description": "Use fixed DevTools Input commands when possible, require them, or use DOM events only."
|
|
932
|
+
},
|
|
933
|
+
"element_timeout_seconds": {
|
|
934
|
+
"type": "integer",
|
|
935
|
+
"minimum": 1,
|
|
936
|
+
"maximum": 60,
|
|
937
|
+
"default": 10
|
|
938
|
+
}
|
|
939
|
+
},
|
|
940
|
+
"required": [
|
|
941
|
+
"action"
|
|
942
|
+
]
|
|
943
|
+
}
|
|
944
|
+
```
|
|
945
|
+
|
|
946
|
+
## `browser_fill_form`
|
|
947
|
+
|
|
948
|
+
**Fill complex browser form**
|
|
949
|
+
|
|
950
|
+
Fill multiple fields and optionally submit a complex form. Sensitive values can come from registered local resources; errors identify possible earlier mutations without returning field values.
|
|
951
|
+
|
|
952
|
+
| Contract field | Value |
|
|
953
|
+
|---|---|
|
|
954
|
+
| Availability | `full` |
|
|
955
|
+
| Read-only hint | no |
|
|
956
|
+
| Destructive hint | yes |
|
|
957
|
+
| Idempotent hint | no |
|
|
958
|
+
| Open-world hint | yes |
|
|
959
|
+
|
|
960
|
+
### Input schema
|
|
961
|
+
|
|
962
|
+
```json
|
|
963
|
+
{
|
|
964
|
+
"type": "object",
|
|
965
|
+
"additionalProperties": false,
|
|
966
|
+
"properties": {
|
|
967
|
+
"tab_id": {
|
|
968
|
+
"type": "integer",
|
|
969
|
+
"minimum": 1
|
|
970
|
+
},
|
|
971
|
+
"fields": {
|
|
972
|
+
"type": "array",
|
|
973
|
+
"minItems": 1,
|
|
974
|
+
"maxItems": 200,
|
|
975
|
+
"items": {
|
|
976
|
+
"type": "object",
|
|
977
|
+
"properties": {
|
|
978
|
+
"selector": {
|
|
979
|
+
"type": "object",
|
|
980
|
+
"properties": {
|
|
981
|
+
"ref": {
|
|
982
|
+
"type": "string",
|
|
983
|
+
"maxLength": 100,
|
|
984
|
+
"description": "Stable element reference returned by browser_inspect_page for the same document and frame."
|
|
985
|
+
},
|
|
986
|
+
"css": {
|
|
987
|
+
"type": "string",
|
|
988
|
+
"maxLength": 2000
|
|
989
|
+
},
|
|
990
|
+
"id": {
|
|
991
|
+
"type": "string",
|
|
992
|
+
"maxLength": 2000
|
|
993
|
+
},
|
|
994
|
+
"name": {
|
|
995
|
+
"type": "string",
|
|
996
|
+
"maxLength": 2000
|
|
997
|
+
},
|
|
998
|
+
"label": {
|
|
999
|
+
"type": "string",
|
|
1000
|
+
"maxLength": 2000
|
|
1001
|
+
},
|
|
1002
|
+
"text": {
|
|
1003
|
+
"type": "string",
|
|
1004
|
+
"maxLength": 2000
|
|
1005
|
+
},
|
|
1006
|
+
"role": {
|
|
1007
|
+
"type": "string",
|
|
1008
|
+
"maxLength": 2000
|
|
1009
|
+
},
|
|
1010
|
+
"placeholder": {
|
|
1011
|
+
"type": "string",
|
|
1012
|
+
"maxLength": 2000
|
|
1013
|
+
},
|
|
1014
|
+
"index": {
|
|
1015
|
+
"type": "integer",
|
|
1016
|
+
"minimum": 0,
|
|
1017
|
+
"maximum": 10000
|
|
1018
|
+
}
|
|
1019
|
+
},
|
|
1020
|
+
"additionalProperties": false
|
|
1021
|
+
},
|
|
1022
|
+
"value": {
|
|
1023
|
+
"type": "string",
|
|
1024
|
+
"maxLength": 131072
|
|
1025
|
+
},
|
|
1026
|
+
"value_resource": {
|
|
1027
|
+
"type": "string",
|
|
1028
|
+
"pattern": "^[a-z][a-z0-9._-]{0,63}$"
|
|
1029
|
+
},
|
|
1030
|
+
"action": {
|
|
1031
|
+
"type": "string",
|
|
1032
|
+
"enum": [
|
|
1033
|
+
"fill",
|
|
1034
|
+
"select",
|
|
1035
|
+
"check",
|
|
1036
|
+
"uncheck",
|
|
1037
|
+
"click"
|
|
1038
|
+
],
|
|
1039
|
+
"default": "fill"
|
|
1040
|
+
},
|
|
1041
|
+
"sensitive": {
|
|
1042
|
+
"type": "boolean",
|
|
1043
|
+
"default": false
|
|
1044
|
+
}
|
|
1045
|
+
},
|
|
1046
|
+
"required": [
|
|
1047
|
+
"selector"
|
|
1048
|
+
],
|
|
1049
|
+
"additionalProperties": false
|
|
1050
|
+
}
|
|
1051
|
+
},
|
|
1052
|
+
"submit": {
|
|
1053
|
+
"type": "boolean",
|
|
1054
|
+
"default": false
|
|
1055
|
+
},
|
|
1056
|
+
"submit_selector": {
|
|
1057
|
+
"type": "object",
|
|
1058
|
+
"properties": {
|
|
1059
|
+
"ref": {
|
|
1060
|
+
"type": "string",
|
|
1061
|
+
"maxLength": 100,
|
|
1062
|
+
"description": "Stable element reference returned by browser_inspect_page for the same document and frame."
|
|
1063
|
+
},
|
|
1064
|
+
"css": {
|
|
1065
|
+
"type": "string",
|
|
1066
|
+
"maxLength": 2000
|
|
1067
|
+
},
|
|
1068
|
+
"id": {
|
|
1069
|
+
"type": "string",
|
|
1070
|
+
"maxLength": 2000
|
|
1071
|
+
},
|
|
1072
|
+
"name": {
|
|
1073
|
+
"type": "string",
|
|
1074
|
+
"maxLength": 2000
|
|
1075
|
+
},
|
|
1076
|
+
"label": {
|
|
1077
|
+
"type": "string",
|
|
1078
|
+
"maxLength": 2000
|
|
1079
|
+
},
|
|
1080
|
+
"text": {
|
|
1081
|
+
"type": "string",
|
|
1082
|
+
"maxLength": 2000
|
|
1083
|
+
},
|
|
1084
|
+
"role": {
|
|
1085
|
+
"type": "string",
|
|
1086
|
+
"maxLength": 2000
|
|
1087
|
+
},
|
|
1088
|
+
"placeholder": {
|
|
1089
|
+
"type": "string",
|
|
1090
|
+
"maxLength": 2000
|
|
1091
|
+
},
|
|
1092
|
+
"index": {
|
|
1093
|
+
"type": "integer",
|
|
1094
|
+
"minimum": 0,
|
|
1095
|
+
"maximum": 10000
|
|
1096
|
+
}
|
|
1097
|
+
},
|
|
1098
|
+
"additionalProperties": false
|
|
1099
|
+
},
|
|
1100
|
+
"wait_for": {
|
|
1101
|
+
"type": "string",
|
|
1102
|
+
"enum": [
|
|
1103
|
+
"none",
|
|
1104
|
+
"domcontentloaded",
|
|
1105
|
+
"complete"
|
|
1106
|
+
],
|
|
1107
|
+
"default": "none"
|
|
1108
|
+
},
|
|
1109
|
+
"timeout_seconds": {
|
|
1110
|
+
"type": "integer",
|
|
1111
|
+
"minimum": 1,
|
|
1112
|
+
"maximum": 180,
|
|
1113
|
+
"default": 60
|
|
1114
|
+
},
|
|
1115
|
+
"frame_id": {
|
|
1116
|
+
"type": "integer",
|
|
1117
|
+
"minimum": 0
|
|
1118
|
+
},
|
|
1119
|
+
"element_timeout_seconds": {
|
|
1120
|
+
"type": "integer",
|
|
1121
|
+
"minimum": 1,
|
|
1122
|
+
"maximum": 60,
|
|
1123
|
+
"default": 10
|
|
1124
|
+
}
|
|
1125
|
+
},
|
|
1126
|
+
"required": [
|
|
1127
|
+
"fields"
|
|
1128
|
+
]
|
|
1129
|
+
}
|
|
1130
|
+
```
|
|
1131
|
+
|
|
1132
|
+
## `browser_screenshot`
|
|
1133
|
+
|
|
1134
|
+
**Capture browser screenshot**
|
|
1135
|
+
|
|
1136
|
+
Capture the visible area of the active or selected tab from the paired existing browser profile, restore the previous active tab when safe, avoid focusing another window, and return native MCP image content.
|
|
1137
|
+
|
|
1138
|
+
| Contract field | Value |
|
|
1139
|
+
|---|---|
|
|
1140
|
+
| Availability | `full` |
|
|
1141
|
+
| Read-only hint | no |
|
|
1142
|
+
| Destructive hint | no |
|
|
1143
|
+
| Idempotent hint | no |
|
|
1144
|
+
| Open-world hint | yes |
|
|
1145
|
+
|
|
1146
|
+
### Input schema
|
|
1147
|
+
|
|
1148
|
+
```json
|
|
1149
|
+
{
|
|
1150
|
+
"type": "object",
|
|
1151
|
+
"additionalProperties": false,
|
|
1152
|
+
"properties": {
|
|
1153
|
+
"tab_id": {
|
|
1154
|
+
"type": "integer",
|
|
1155
|
+
"minimum": 1
|
|
1156
|
+
},
|
|
1157
|
+
"format": {
|
|
1158
|
+
"type": "string",
|
|
1159
|
+
"enum": [
|
|
1160
|
+
"png",
|
|
1161
|
+
"jpeg"
|
|
1162
|
+
],
|
|
1163
|
+
"default": "png"
|
|
1164
|
+
},
|
|
1165
|
+
"quality": {
|
|
1166
|
+
"type": "integer",
|
|
1167
|
+
"minimum": 1,
|
|
1168
|
+
"maximum": 100,
|
|
1169
|
+
"default": 90
|
|
1170
|
+
},
|
|
1171
|
+
"timeout_seconds": {
|
|
1172
|
+
"type": "integer",
|
|
1173
|
+
"minimum": 1,
|
|
1174
|
+
"maximum": 120,
|
|
1175
|
+
"default": 30
|
|
1176
|
+
}
|
|
1177
|
+
}
|
|
1178
|
+
}
|
|
1179
|
+
```
|
|
1180
|
+
|
|
1181
|
+
## `browser_upload_files`
|
|
1182
|
+
|
|
1183
|
+
**Upload browser files**
|
|
1184
|
+
|
|
1185
|
+
Populate a browser file input from registered local resource files without returning file contents through MCP results.
|
|
1186
|
+
|
|
1187
|
+
| Contract field | Value |
|
|
1188
|
+
|---|---|
|
|
1189
|
+
| Availability | `full` |
|
|
1190
|
+
| Read-only hint | no |
|
|
1191
|
+
| Destructive hint | yes |
|
|
1192
|
+
| Idempotent hint | no |
|
|
1193
|
+
| Open-world hint | yes |
|
|
1194
|
+
|
|
1195
|
+
### Input schema
|
|
1196
|
+
|
|
1197
|
+
```json
|
|
1198
|
+
{
|
|
1199
|
+
"type": "object",
|
|
1200
|
+
"properties": {
|
|
1201
|
+
"tab_id": {
|
|
1202
|
+
"type": "integer",
|
|
1203
|
+
"minimum": 1
|
|
1204
|
+
},
|
|
1205
|
+
"selector": {
|
|
1206
|
+
"type": "object",
|
|
1207
|
+
"properties": {
|
|
1208
|
+
"ref": {
|
|
1209
|
+
"type": "string",
|
|
1210
|
+
"maxLength": 100,
|
|
1211
|
+
"description": "Stable element reference returned by browser_inspect_page for the same document and frame."
|
|
1212
|
+
},
|
|
1213
|
+
"css": {
|
|
1214
|
+
"type": "string",
|
|
1215
|
+
"maxLength": 2000
|
|
1216
|
+
},
|
|
1217
|
+
"id": {
|
|
1218
|
+
"type": "string",
|
|
1219
|
+
"maxLength": 2000
|
|
1220
|
+
},
|
|
1221
|
+
"name": {
|
|
1222
|
+
"type": "string",
|
|
1223
|
+
"maxLength": 2000
|
|
1224
|
+
},
|
|
1225
|
+
"label": {
|
|
1226
|
+
"type": "string",
|
|
1227
|
+
"maxLength": 2000
|
|
1228
|
+
},
|
|
1229
|
+
"text": {
|
|
1230
|
+
"type": "string",
|
|
1231
|
+
"maxLength": 2000
|
|
1232
|
+
},
|
|
1233
|
+
"role": {
|
|
1234
|
+
"type": "string",
|
|
1235
|
+
"maxLength": 2000
|
|
1236
|
+
},
|
|
1237
|
+
"placeholder": {
|
|
1238
|
+
"type": "string",
|
|
1239
|
+
"maxLength": 2000
|
|
1240
|
+
},
|
|
1241
|
+
"index": {
|
|
1242
|
+
"type": "integer",
|
|
1243
|
+
"minimum": 0,
|
|
1244
|
+
"maximum": 10000
|
|
1245
|
+
}
|
|
1246
|
+
},
|
|
1247
|
+
"additionalProperties": false
|
|
1248
|
+
},
|
|
1249
|
+
"resources": {
|
|
1250
|
+
"type": "array",
|
|
1251
|
+
"minItems": 1,
|
|
1252
|
+
"maxItems": 8,
|
|
1253
|
+
"items": {
|
|
1254
|
+
"type": "string",
|
|
1255
|
+
"pattern": "^[a-z][a-z0-9._-]{0,63}$"
|
|
1256
|
+
}
|
|
1257
|
+
},
|
|
1258
|
+
"filenames": {
|
|
1259
|
+
"type": "array",
|
|
1260
|
+
"maxItems": 8,
|
|
1261
|
+
"items": {
|
|
1262
|
+
"type": "string",
|
|
1263
|
+
"maxLength": 255
|
|
1264
|
+
}
|
|
1265
|
+
},
|
|
1266
|
+
"mime_types": {
|
|
1267
|
+
"type": "array",
|
|
1268
|
+
"maxItems": 8,
|
|
1269
|
+
"items": {
|
|
1270
|
+
"type": "string",
|
|
1271
|
+
"maxLength": 200
|
|
1272
|
+
}
|
|
1273
|
+
},
|
|
1274
|
+
"timeout_seconds": {
|
|
1275
|
+
"type": "integer",
|
|
1276
|
+
"minimum": 1,
|
|
1277
|
+
"maximum": 180,
|
|
1278
|
+
"default": 60
|
|
1279
|
+
},
|
|
1280
|
+
"frame_id": {
|
|
1281
|
+
"type": "integer",
|
|
1282
|
+
"minimum": 0
|
|
1283
|
+
},
|
|
1284
|
+
"element_timeout_seconds": {
|
|
1285
|
+
"type": "integer",
|
|
1286
|
+
"minimum": 1,
|
|
1287
|
+
"maximum": 60,
|
|
1288
|
+
"default": 10
|
|
1289
|
+
}
|
|
1290
|
+
},
|
|
1291
|
+
"required": [
|
|
1292
|
+
"selector",
|
|
1293
|
+
"resources"
|
|
1294
|
+
],
|
|
1295
|
+
"additionalProperties": false
|
|
1296
|
+
}
|
|
1297
|
+
```
|
|
1298
|
+
|
|
1299
|
+
## `agent_context`
|
|
1300
|
+
|
|
1301
|
+
**Load agent context**
|
|
1302
|
+
|
|
1303
|
+
Discover built-in defaults, bounded automatic project facts, Codex-compatible global/root-to-target instruction precedence, progressively disclosed local skills, explicit commands, and safe automatic package-script command aliases for a target path.
|
|
1304
|
+
|
|
1305
|
+
| Contract field | Value |
|
|
1306
|
+
|---|---|
|
|
1307
|
+
| Availability | `always` |
|
|
1308
|
+
| Read-only hint | yes |
|
|
1309
|
+
| Destructive hint | no |
|
|
1310
|
+
| Idempotent hint | yes |
|
|
1311
|
+
| Open-world hint | no |
|
|
1312
|
+
|
|
1313
|
+
### Input schema
|
|
1314
|
+
|
|
1315
|
+
```json
|
|
1316
|
+
{
|
|
1317
|
+
"type": "object",
|
|
1318
|
+
"properties": {
|
|
1319
|
+
"path": {
|
|
1320
|
+
"type": "string",
|
|
1321
|
+
"default": ".",
|
|
1322
|
+
"maxLength": 32768
|
|
1323
|
+
},
|
|
1324
|
+
"include_instruction_content": {
|
|
1325
|
+
"type": "boolean",
|
|
1326
|
+
"default": true
|
|
1327
|
+
},
|
|
1328
|
+
"max_skills": {
|
|
1329
|
+
"type": "integer",
|
|
1330
|
+
"minimum": 1,
|
|
1331
|
+
"maximum": 500,
|
|
1332
|
+
"default": 100
|
|
1333
|
+
}
|
|
1334
|
+
},
|
|
1335
|
+
"additionalProperties": false
|
|
1336
|
+
}
|
|
1337
|
+
```
|
|
1338
|
+
|
|
1339
|
+
## `list_local_skills`
|
|
1340
|
+
|
|
1341
|
+
**List local skills**
|
|
1342
|
+
|
|
1343
|
+
Search bounded SKILL.md or skill.md bundles from Codex-compatible and explicitly configured skill roots without executing them.
|
|
1344
|
+
|
|
1345
|
+
| Contract field | Value |
|
|
1346
|
+
|---|---|
|
|
1347
|
+
| Availability | `always` |
|
|
1348
|
+
| Read-only hint | yes |
|
|
1349
|
+
| Destructive hint | no |
|
|
1350
|
+
| Idempotent hint | yes |
|
|
1351
|
+
| Open-world hint | no |
|
|
1352
|
+
|
|
1353
|
+
### Input schema
|
|
1354
|
+
|
|
1355
|
+
```json
|
|
1356
|
+
{
|
|
1357
|
+
"type": "object",
|
|
1358
|
+
"properties": {
|
|
1359
|
+
"path": {
|
|
1360
|
+
"type": "string",
|
|
1361
|
+
"default": ".",
|
|
1362
|
+
"maxLength": 32768
|
|
1363
|
+
},
|
|
1364
|
+
"query": {
|
|
1365
|
+
"type": "string",
|
|
1366
|
+
"default": "",
|
|
1367
|
+
"maxLength": 1000
|
|
1368
|
+
},
|
|
1369
|
+
"max_results": {
|
|
1370
|
+
"type": "integer",
|
|
1371
|
+
"minimum": 1,
|
|
1372
|
+
"maximum": 500,
|
|
1373
|
+
"default": 100
|
|
1374
|
+
}
|
|
1375
|
+
},
|
|
1376
|
+
"additionalProperties": false
|
|
1377
|
+
}
|
|
1378
|
+
```
|
|
1379
|
+
|
|
1380
|
+
## `load_local_skill`
|
|
1381
|
+
|
|
1382
|
+
**Load local skill**
|
|
1383
|
+
|
|
1384
|
+
Load one discovered local skill entrypoint and a bounded relative file inventory. Loading returns instructions and never executes skill files implicitly.
|
|
1385
|
+
|
|
1386
|
+
| Contract field | Value |
|
|
1387
|
+
|---|---|
|
|
1388
|
+
| Availability | `always` |
|
|
1389
|
+
| Read-only hint | yes |
|
|
1390
|
+
| Destructive hint | no |
|
|
1391
|
+
| Idempotent hint | yes |
|
|
1392
|
+
| Open-world hint | no |
|
|
1393
|
+
|
|
1394
|
+
### Input schema
|
|
1395
|
+
|
|
1396
|
+
```json
|
|
1397
|
+
{
|
|
1398
|
+
"type": "object",
|
|
1399
|
+
"properties": {
|
|
1400
|
+
"skill": {
|
|
1401
|
+
"type": "string",
|
|
1402
|
+
"minLength": 1,
|
|
1403
|
+
"maxLength": 32768
|
|
1404
|
+
},
|
|
1405
|
+
"path": {
|
|
1406
|
+
"type": "string",
|
|
1407
|
+
"default": ".",
|
|
1408
|
+
"maxLength": 32768
|
|
1409
|
+
},
|
|
1410
|
+
"max_files": {
|
|
1411
|
+
"type": "integer",
|
|
1412
|
+
"minimum": 1,
|
|
1413
|
+
"maximum": 500,
|
|
1414
|
+
"default": 200
|
|
1415
|
+
}
|
|
1416
|
+
},
|
|
1417
|
+
"required": [
|
|
1418
|
+
"skill"
|
|
1419
|
+
],
|
|
1420
|
+
"additionalProperties": false
|
|
1421
|
+
}
|
|
1422
|
+
```
|
|
1423
|
+
|
|
1424
|
+
## `list_local_commands`
|
|
1425
|
+
|
|
1426
|
+
**List registered local commands**
|
|
1427
|
+
|
|
1428
|
+
List effective direct-argv commands from project manifests and safe automatic package-script aliases, including provenance and timeout limits.
|
|
1429
|
+
|
|
1430
|
+
| Contract field | Value |
|
|
1431
|
+
|---|---|
|
|
1432
|
+
| Availability | `always` |
|
|
1433
|
+
| Read-only hint | yes |
|
|
1434
|
+
| Destructive hint | no |
|
|
1435
|
+
| Idempotent hint | yes |
|
|
1436
|
+
| Open-world hint | no |
|
|
1437
|
+
|
|
1438
|
+
### Input schema
|
|
1439
|
+
|
|
1440
|
+
```json
|
|
1441
|
+
{
|
|
1442
|
+
"type": "object",
|
|
1443
|
+
"properties": {
|
|
1444
|
+
"path": {
|
|
1445
|
+
"type": "string",
|
|
1446
|
+
"default": ".",
|
|
1447
|
+
"maxLength": 32768
|
|
1448
|
+
}
|
|
1449
|
+
},
|
|
1450
|
+
"additionalProperties": false
|
|
1451
|
+
}
|
|
1452
|
+
```
|
|
1453
|
+
|
|
1454
|
+
## `run_local_command`
|
|
1455
|
+
|
|
1456
|
+
**Run registered local command**
|
|
1457
|
+
|
|
1458
|
+
Run an effective manifest or automatic package-script command through its fixed argv, cwd, timeout ceiling, and extra-argument policy.
|
|
1459
|
+
|
|
1460
|
+
| Contract field | Value |
|
|
1461
|
+
|---|---|
|
|
1462
|
+
| Availability | `direct-exec` |
|
|
1463
|
+
| Read-only hint | no |
|
|
1464
|
+
| Destructive hint | yes |
|
|
1465
|
+
| Idempotent hint | no |
|
|
1466
|
+
| Open-world hint | yes |
|
|
1467
|
+
|
|
1468
|
+
### Input schema
|
|
1469
|
+
|
|
1470
|
+
```json
|
|
1471
|
+
{
|
|
1472
|
+
"type": "object",
|
|
1473
|
+
"properties": {
|
|
1474
|
+
"name": {
|
|
1475
|
+
"type": "string",
|
|
1476
|
+
"minLength": 1,
|
|
1477
|
+
"maxLength": 64
|
|
1478
|
+
},
|
|
1479
|
+
"path": {
|
|
1480
|
+
"type": "string",
|
|
1481
|
+
"default": ".",
|
|
1482
|
+
"maxLength": 32768
|
|
1483
|
+
},
|
|
1484
|
+
"args": {
|
|
1485
|
+
"type": "array",
|
|
1486
|
+
"items": {
|
|
1487
|
+
"type": "string",
|
|
1488
|
+
"maxLength": 65536
|
|
1489
|
+
},
|
|
1490
|
+
"maxItems": 64,
|
|
1491
|
+
"default": []
|
|
1492
|
+
},
|
|
1493
|
+
"timeout_seconds": {
|
|
1494
|
+
"type": "integer",
|
|
1495
|
+
"minimum": 1,
|
|
1496
|
+
"maximum": 600
|
|
1497
|
+
}
|
|
1498
|
+
},
|
|
1499
|
+
"required": [
|
|
1500
|
+
"name"
|
|
1501
|
+
],
|
|
1502
|
+
"additionalProperties": false
|
|
1503
|
+
}
|
|
1504
|
+
```
|
|
1505
|
+
|
|
1506
|
+
## `list_roots`
|
|
1507
|
+
|
|
1508
|
+
**List workspace roots**
|
|
1509
|
+
|
|
1510
|
+
List filesystem roots exposed by the active local policy. The default full profile exposes local filesystem roots and returns absolute paths.
|
|
1511
|
+
|
|
1512
|
+
| Contract field | Value |
|
|
1513
|
+
|---|---|
|
|
1514
|
+
| Availability | `always` |
|
|
1515
|
+
| Read-only hint | yes |
|
|
1516
|
+
| Destructive hint | no |
|
|
1517
|
+
| Idempotent hint | yes |
|
|
1518
|
+
| Open-world hint | no |
|
|
1519
|
+
|
|
1520
|
+
### Input schema
|
|
1521
|
+
|
|
1522
|
+
```json
|
|
1523
|
+
{
|
|
1524
|
+
"type": "object",
|
|
1525
|
+
"additionalProperties": false
|
|
1526
|
+
}
|
|
1527
|
+
```
|
|
1528
|
+
|
|
1529
|
+
## `list_dir`
|
|
1530
|
+
|
|
1531
|
+
**List directory**
|
|
1532
|
+
|
|
1533
|
+
List direct children of a workspace directory.
|
|
1534
|
+
|
|
1535
|
+
| Contract field | Value |
|
|
1536
|
+
|---|---|
|
|
1537
|
+
| Availability | `always` |
|
|
1538
|
+
| Read-only hint | yes |
|
|
1539
|
+
| Destructive hint | no |
|
|
1540
|
+
| Idempotent hint | yes |
|
|
1541
|
+
| Open-world hint | no |
|
|
1542
|
+
|
|
1543
|
+
### Input schema
|
|
1544
|
+
|
|
1545
|
+
```json
|
|
1546
|
+
{
|
|
1547
|
+
"type": "object",
|
|
1548
|
+
"properties": {
|
|
1549
|
+
"path": {
|
|
1550
|
+
"type": "string",
|
|
1551
|
+
"default": "."
|
|
1552
|
+
}
|
|
1553
|
+
},
|
|
1554
|
+
"additionalProperties": false
|
|
1555
|
+
}
|
|
1556
|
+
```
|
|
1557
|
+
|
|
1558
|
+
## `list_files`
|
|
1559
|
+
|
|
1560
|
+
**List files**
|
|
1561
|
+
|
|
1562
|
+
Recursively list files under a workspace path with bounded traversal and output.
|
|
1563
|
+
|
|
1564
|
+
| Contract field | Value |
|
|
1565
|
+
|---|---|
|
|
1566
|
+
| Availability | `always` |
|
|
1567
|
+
| Read-only hint | yes |
|
|
1568
|
+
| Destructive hint | no |
|
|
1569
|
+
| Idempotent hint | yes |
|
|
1570
|
+
| Open-world hint | no |
|
|
1571
|
+
|
|
1572
|
+
### Input schema
|
|
1573
|
+
|
|
1574
|
+
```json
|
|
1575
|
+
{
|
|
1576
|
+
"type": "object",
|
|
1577
|
+
"properties": {
|
|
1578
|
+
"path": {
|
|
1579
|
+
"type": "string",
|
|
1580
|
+
"default": "."
|
|
1581
|
+
},
|
|
1582
|
+
"max_files": {
|
|
1583
|
+
"type": "integer",
|
|
1584
|
+
"minimum": 1,
|
|
1585
|
+
"maximum": 10000,
|
|
1586
|
+
"default": 1000
|
|
1587
|
+
}
|
|
1588
|
+
},
|
|
1589
|
+
"additionalProperties": false
|
|
1590
|
+
}
|
|
1591
|
+
```
|
|
1592
|
+
|
|
1593
|
+
## `read_file`
|
|
1594
|
+
|
|
1595
|
+
**Read text file**
|
|
1596
|
+
|
|
1597
|
+
Read a UTF-8 regular file or an inclusive 1-based line range. The server does not block sensitive-looking filenames; access follows the active local policy and operating-system permissions.
|
|
1598
|
+
|
|
1599
|
+
| Contract field | Value |
|
|
1600
|
+
|---|---|
|
|
1601
|
+
| Availability | `always` |
|
|
1602
|
+
| Read-only hint | yes |
|
|
1603
|
+
| Destructive hint | no |
|
|
1604
|
+
| Idempotent hint | yes |
|
|
1605
|
+
| Open-world hint | no |
|
|
1606
|
+
|
|
1607
|
+
### Input schema
|
|
1608
|
+
|
|
1609
|
+
```json
|
|
1610
|
+
{
|
|
1611
|
+
"type": "object",
|
|
1612
|
+
"properties": {
|
|
1613
|
+
"path": {
|
|
1614
|
+
"type": "string"
|
|
1615
|
+
},
|
|
1616
|
+
"start_line": {
|
|
1617
|
+
"type": "integer",
|
|
1618
|
+
"minimum": 1
|
|
1619
|
+
},
|
|
1620
|
+
"end_line": {
|
|
1621
|
+
"type": "integer",
|
|
1622
|
+
"minimum": 1
|
|
1623
|
+
},
|
|
1624
|
+
"max_bytes": {
|
|
1625
|
+
"type": "integer",
|
|
1626
|
+
"minimum": 1,
|
|
1627
|
+
"maximum": 5242880,
|
|
1628
|
+
"default": 1048576
|
|
1629
|
+
}
|
|
1630
|
+
},
|
|
1631
|
+
"required": [
|
|
1632
|
+
"path"
|
|
1633
|
+
],
|
|
1634
|
+
"additionalProperties": false
|
|
1635
|
+
}
|
|
1636
|
+
```
|
|
1637
|
+
|
|
1638
|
+
## `view_image`
|
|
1639
|
+
|
|
1640
|
+
**View image**
|
|
1641
|
+
|
|
1642
|
+
Read a bounded PNG, JPEG, GIF, or WebP image from the workspace and return native MCP image content.
|
|
1643
|
+
|
|
1644
|
+
| Contract field | Value |
|
|
1645
|
+
|---|---|
|
|
1646
|
+
| Availability | `always` |
|
|
1647
|
+
| Read-only hint | yes |
|
|
1648
|
+
| Destructive hint | no |
|
|
1649
|
+
| Idempotent hint | yes |
|
|
1650
|
+
| Open-world hint | no |
|
|
1651
|
+
|
|
1652
|
+
### Input schema
|
|
1653
|
+
|
|
1654
|
+
```json
|
|
1655
|
+
{
|
|
1656
|
+
"type": "object",
|
|
1657
|
+
"properties": {
|
|
1658
|
+
"path": {
|
|
1659
|
+
"type": "string"
|
|
1660
|
+
}
|
|
1661
|
+
},
|
|
1662
|
+
"required": [
|
|
1663
|
+
"path"
|
|
1664
|
+
],
|
|
1665
|
+
"additionalProperties": false
|
|
1666
|
+
}
|
|
1667
|
+
```
|
|
1668
|
+
|
|
1669
|
+
## `write_file`
|
|
1670
|
+
|
|
1671
|
+
**Write text file**
|
|
1672
|
+
|
|
1673
|
+
Atomically write a UTF-8 file up to 5 MiB. Supports create-only and optimistic SHA-256 checks; symbolic-link destinations are rejected.
|
|
1674
|
+
|
|
1675
|
+
| Contract field | Value |
|
|
1676
|
+
|---|---|
|
|
1677
|
+
| Availability | `write` |
|
|
1678
|
+
| Read-only hint | no |
|
|
1679
|
+
| Destructive hint | yes |
|
|
1680
|
+
| Idempotent hint | no |
|
|
1681
|
+
| Open-world hint | no |
|
|
1682
|
+
|
|
1683
|
+
### Input schema
|
|
1684
|
+
|
|
1685
|
+
```json
|
|
1686
|
+
{
|
|
1687
|
+
"type": "object",
|
|
1688
|
+
"properties": {
|
|
1689
|
+
"path": {
|
|
1690
|
+
"type": "string"
|
|
1691
|
+
},
|
|
1692
|
+
"content": {
|
|
1693
|
+
"type": "string"
|
|
1694
|
+
},
|
|
1695
|
+
"create_only": {
|
|
1696
|
+
"type": "boolean",
|
|
1697
|
+
"default": false
|
|
1698
|
+
},
|
|
1699
|
+
"expected_sha256": {
|
|
1700
|
+
"type": "string",
|
|
1701
|
+
"pattern": "^[a-fA-F0-9]{64}$"
|
|
1702
|
+
}
|
|
1703
|
+
},
|
|
1704
|
+
"required": [
|
|
1705
|
+
"path",
|
|
1706
|
+
"content"
|
|
1707
|
+
],
|
|
1708
|
+
"additionalProperties": false
|
|
1709
|
+
}
|
|
1710
|
+
```
|
|
1711
|
+
|
|
1712
|
+
## `edit_file`
|
|
1713
|
+
|
|
1714
|
+
**Edit text file**
|
|
1715
|
+
|
|
1716
|
+
Atomically replace an exact text fragment in one UTF-8 file. By default the old text must occur exactly once.
|
|
1717
|
+
|
|
1718
|
+
| Contract field | Value |
|
|
1719
|
+
|---|---|
|
|
1720
|
+
| Availability | `write` |
|
|
1721
|
+
| Read-only hint | no |
|
|
1722
|
+
| Destructive hint | yes |
|
|
1723
|
+
| Idempotent hint | no |
|
|
1724
|
+
| Open-world hint | no |
|
|
1725
|
+
|
|
1726
|
+
### Input schema
|
|
1727
|
+
|
|
1728
|
+
```json
|
|
1729
|
+
{
|
|
1730
|
+
"type": "object",
|
|
1731
|
+
"properties": {
|
|
1732
|
+
"path": {
|
|
1733
|
+
"type": "string"
|
|
1734
|
+
},
|
|
1735
|
+
"old_text": {
|
|
1736
|
+
"type": "string",
|
|
1737
|
+
"minLength": 1
|
|
1738
|
+
},
|
|
1739
|
+
"new_text": {
|
|
1740
|
+
"type": "string"
|
|
1741
|
+
},
|
|
1742
|
+
"replace_all": {
|
|
1743
|
+
"type": "boolean",
|
|
1744
|
+
"default": false
|
|
1745
|
+
},
|
|
1746
|
+
"expected_sha256": {
|
|
1747
|
+
"type": "string",
|
|
1748
|
+
"pattern": "^[a-fA-F0-9]{64}$"
|
|
1749
|
+
}
|
|
1750
|
+
},
|
|
1751
|
+
"required": [
|
|
1752
|
+
"path",
|
|
1753
|
+
"old_text",
|
|
1754
|
+
"new_text"
|
|
1755
|
+
],
|
|
1756
|
+
"additionalProperties": false
|
|
1757
|
+
}
|
|
1758
|
+
```
|
|
1759
|
+
|
|
1760
|
+
## `apply_patch`
|
|
1761
|
+
|
|
1762
|
+
**Apply structured patch**
|
|
1763
|
+
|
|
1764
|
+
Apply a bounded Begin Patch/End Patch envelope containing add, update, move, or delete file operations. All paths are prevalidated and mutations are serialized.
|
|
1765
|
+
|
|
1766
|
+
| Contract field | Value |
|
|
1767
|
+
|---|---|
|
|
1768
|
+
| Availability | `write` |
|
|
1769
|
+
| Read-only hint | no |
|
|
1770
|
+
| Destructive hint | yes |
|
|
1771
|
+
| Idempotent hint | no |
|
|
1772
|
+
| Open-world hint | no |
|
|
1773
|
+
|
|
1774
|
+
### Input schema
|
|
1775
|
+
|
|
1776
|
+
```json
|
|
1777
|
+
{
|
|
1778
|
+
"type": "object",
|
|
1779
|
+
"properties": {
|
|
1780
|
+
"patch": {
|
|
1781
|
+
"type": "string",
|
|
1782
|
+
"minLength": 1,
|
|
1783
|
+
"maxLength": 5242880
|
|
1784
|
+
}
|
|
1785
|
+
},
|
|
1786
|
+
"required": [
|
|
1787
|
+
"patch"
|
|
1788
|
+
],
|
|
1789
|
+
"additionalProperties": false
|
|
1790
|
+
}
|
|
1791
|
+
```
|
|
1792
|
+
|
|
1793
|
+
## `search_text`
|
|
1794
|
+
|
|
1795
|
+
**Search text**
|
|
1796
|
+
|
|
1797
|
+
Search UTF-8 text files under a workspace path for a literal substring.
|
|
1798
|
+
|
|
1799
|
+
| Contract field | Value |
|
|
1800
|
+
|---|---|
|
|
1801
|
+
| Availability | `always` |
|
|
1802
|
+
| Read-only hint | yes |
|
|
1803
|
+
| Destructive hint | no |
|
|
1804
|
+
| Idempotent hint | yes |
|
|
1805
|
+
| Open-world hint | no |
|
|
1806
|
+
|
|
1807
|
+
### Input schema
|
|
1808
|
+
|
|
1809
|
+
```json
|
|
1810
|
+
{
|
|
1811
|
+
"type": "object",
|
|
1812
|
+
"properties": {
|
|
1813
|
+
"query": {
|
|
1814
|
+
"type": "string",
|
|
1815
|
+
"minLength": 1
|
|
1816
|
+
},
|
|
1817
|
+
"path": {
|
|
1818
|
+
"type": "string",
|
|
1819
|
+
"default": "."
|
|
1820
|
+
},
|
|
1821
|
+
"max_matches": {
|
|
1822
|
+
"type": "integer",
|
|
1823
|
+
"minimum": 1,
|
|
1824
|
+
"maximum": 1000,
|
|
1825
|
+
"default": 100
|
|
1826
|
+
},
|
|
1827
|
+
"max_files": {
|
|
1828
|
+
"type": "integer",
|
|
1829
|
+
"minimum": 1,
|
|
1830
|
+
"maximum": 100000,
|
|
1831
|
+
"default": 10000
|
|
1832
|
+
}
|
|
1833
|
+
},
|
|
1834
|
+
"required": [
|
|
1835
|
+
"query"
|
|
1836
|
+
],
|
|
1837
|
+
"additionalProperties": false
|
|
1838
|
+
}
|
|
1839
|
+
```
|
|
1840
|
+
|
|
1841
|
+
## `git_status`
|
|
1842
|
+
|
|
1843
|
+
**Git status**
|
|
1844
|
+
|
|
1845
|
+
Return bounded Git porcelain status for the repository containing a workspace path.
|
|
1846
|
+
|
|
1847
|
+
| Contract field | Value |
|
|
1848
|
+
|---|---|
|
|
1849
|
+
| Availability | `always` |
|
|
1850
|
+
| Read-only hint | yes |
|
|
1851
|
+
| Destructive hint | no |
|
|
1852
|
+
| Idempotent hint | yes |
|
|
1853
|
+
| Open-world hint | no |
|
|
1854
|
+
|
|
1855
|
+
### Input schema
|
|
1856
|
+
|
|
1857
|
+
```json
|
|
1858
|
+
{
|
|
1859
|
+
"type": "object",
|
|
1860
|
+
"properties": {
|
|
1861
|
+
"path": {
|
|
1862
|
+
"type": "string",
|
|
1863
|
+
"default": "."
|
|
1864
|
+
}
|
|
1865
|
+
},
|
|
1866
|
+
"additionalProperties": false
|
|
1867
|
+
}
|
|
1868
|
+
```
|
|
1869
|
+
|
|
1870
|
+
## `git_diff`
|
|
1871
|
+
|
|
1872
|
+
**Git diff**
|
|
1873
|
+
|
|
1874
|
+
Return bounded unified Git diff with external diff, text conversion, and filesystem monitor helpers disabled.
|
|
1875
|
+
|
|
1876
|
+
| Contract field | Value |
|
|
1877
|
+
|---|---|
|
|
1878
|
+
| Availability | `always` |
|
|
1879
|
+
| Read-only hint | yes |
|
|
1880
|
+
| Destructive hint | no |
|
|
1881
|
+
| Idempotent hint | yes |
|
|
1882
|
+
| Open-world hint | no |
|
|
1883
|
+
|
|
1884
|
+
### Input schema
|
|
1885
|
+
|
|
1886
|
+
```json
|
|
1887
|
+
{
|
|
1888
|
+
"type": "object",
|
|
1889
|
+
"properties": {
|
|
1890
|
+
"path": {
|
|
1891
|
+
"type": "string",
|
|
1892
|
+
"default": "."
|
|
1893
|
+
},
|
|
1894
|
+
"staged": {
|
|
1895
|
+
"type": "boolean",
|
|
1896
|
+
"default": false
|
|
1897
|
+
},
|
|
1898
|
+
"max_bytes": {
|
|
1899
|
+
"type": "integer",
|
|
1900
|
+
"minimum": 1,
|
|
1901
|
+
"maximum": 5242880,
|
|
1902
|
+
"default": 1048576
|
|
1903
|
+
}
|
|
1904
|
+
},
|
|
1905
|
+
"additionalProperties": false
|
|
1906
|
+
}
|
|
1907
|
+
```
|
|
1908
|
+
|
|
1909
|
+
## `git_log`
|
|
1910
|
+
|
|
1911
|
+
**Git log**
|
|
1912
|
+
|
|
1913
|
+
Return recent commits in a bounded, machine-readable format. Author email addresses are omitted unless explicitly requested.
|
|
1914
|
+
|
|
1915
|
+
| Contract field | Value |
|
|
1916
|
+
|---|---|
|
|
1917
|
+
| Availability | `always` |
|
|
1918
|
+
| Read-only hint | yes |
|
|
1919
|
+
| Destructive hint | no |
|
|
1920
|
+
| Idempotent hint | yes |
|
|
1921
|
+
| Open-world hint | no |
|
|
1922
|
+
|
|
1923
|
+
### Input schema
|
|
1924
|
+
|
|
1925
|
+
```json
|
|
1926
|
+
{
|
|
1927
|
+
"type": "object",
|
|
1928
|
+
"properties": {
|
|
1929
|
+
"path": {
|
|
1930
|
+
"type": "string",
|
|
1931
|
+
"default": "."
|
|
1932
|
+
},
|
|
1933
|
+
"max_count": {
|
|
1934
|
+
"type": "integer",
|
|
1935
|
+
"minimum": 1,
|
|
1936
|
+
"maximum": 100,
|
|
1937
|
+
"default": 20
|
|
1938
|
+
},
|
|
1939
|
+
"include_author_email": {
|
|
1940
|
+
"type": "boolean",
|
|
1941
|
+
"default": false
|
|
1942
|
+
}
|
|
1943
|
+
},
|
|
1944
|
+
"additionalProperties": false
|
|
1945
|
+
}
|
|
1946
|
+
```
|
|
1947
|
+
|
|
1948
|
+
## `git_show`
|
|
1949
|
+
|
|
1950
|
+
**Git show**
|
|
1951
|
+
|
|
1952
|
+
Return bounded metadata and patch output for one revision without running repository-configured external helpers.
|
|
1953
|
+
|
|
1954
|
+
| Contract field | Value |
|
|
1955
|
+
|---|---|
|
|
1956
|
+
| Availability | `always` |
|
|
1957
|
+
| Read-only hint | yes |
|
|
1958
|
+
| Destructive hint | no |
|
|
1959
|
+
| Idempotent hint | yes |
|
|
1960
|
+
| Open-world hint | no |
|
|
1961
|
+
|
|
1962
|
+
### Input schema
|
|
1963
|
+
|
|
1964
|
+
```json
|
|
1965
|
+
{
|
|
1966
|
+
"type": "object",
|
|
1967
|
+
"properties": {
|
|
1968
|
+
"path": {
|
|
1969
|
+
"type": "string",
|
|
1970
|
+
"default": "."
|
|
1971
|
+
},
|
|
1972
|
+
"revision": {
|
|
1973
|
+
"type": "string",
|
|
1974
|
+
"default": "HEAD"
|
|
1975
|
+
},
|
|
1976
|
+
"max_bytes": {
|
|
1977
|
+
"type": "integer",
|
|
1978
|
+
"minimum": 1,
|
|
1979
|
+
"maximum": 5242880,
|
|
1980
|
+
"default": 1048576
|
|
1981
|
+
}
|
|
1982
|
+
},
|
|
1983
|
+
"additionalProperties": false
|
|
1984
|
+
}
|
|
1985
|
+
```
|
|
1986
|
+
|
|
1987
|
+
## `run_process`
|
|
1988
|
+
|
|
1989
|
+
**Run process directly**
|
|
1990
|
+
|
|
1991
|
+
Execute an argv array without a command shell. This avoids shell parsing but does not sandbox the executable or code it launches.
|
|
1992
|
+
|
|
1993
|
+
| Contract field | Value |
|
|
1994
|
+
|---|---|
|
|
1995
|
+
| Availability | `direct-exec` |
|
|
1996
|
+
| Read-only hint | no |
|
|
1997
|
+
| Destructive hint | yes |
|
|
1998
|
+
| Idempotent hint | no |
|
|
1999
|
+
| Open-world hint | yes |
|
|
2000
|
+
|
|
2001
|
+
### Input schema
|
|
2002
|
+
|
|
2003
|
+
```json
|
|
2004
|
+
{
|
|
2005
|
+
"type": "object",
|
|
2006
|
+
"properties": {
|
|
2007
|
+
"argv": {
|
|
2008
|
+
"type": "array",
|
|
2009
|
+
"items": {
|
|
2010
|
+
"type": "string"
|
|
2011
|
+
},
|
|
2012
|
+
"minItems": 1,
|
|
2013
|
+
"maxItems": 256
|
|
2014
|
+
},
|
|
2015
|
+
"cwd": {
|
|
2016
|
+
"type": "string",
|
|
2017
|
+
"default": "."
|
|
2018
|
+
},
|
|
2019
|
+
"timeout_seconds": {
|
|
2020
|
+
"type": "integer",
|
|
2021
|
+
"minimum": 1,
|
|
2022
|
+
"maximum": 600,
|
|
2023
|
+
"default": 120
|
|
2024
|
+
}
|
|
2025
|
+
},
|
|
2026
|
+
"required": [
|
|
2027
|
+
"argv"
|
|
2028
|
+
],
|
|
2029
|
+
"additionalProperties": false
|
|
2030
|
+
}
|
|
2031
|
+
```
|
|
2032
|
+
|
|
2033
|
+
## `start_process`
|
|
2034
|
+
|
|
2035
|
+
**Start process session**
|
|
2036
|
+
|
|
2037
|
+
Start a direct argv process without a shell and retain bounded stdout, stderr, and stdin state across MCP calls.
|
|
2038
|
+
|
|
2039
|
+
| Contract field | Value |
|
|
2040
|
+
|---|---|
|
|
2041
|
+
| Availability | `direct-exec` |
|
|
2042
|
+
| Read-only hint | no |
|
|
2043
|
+
| Destructive hint | yes |
|
|
2044
|
+
| Idempotent hint | no |
|
|
2045
|
+
| Open-world hint | yes |
|
|
2046
|
+
|
|
2047
|
+
### Input schema
|
|
2048
|
+
|
|
2049
|
+
```json
|
|
2050
|
+
{
|
|
2051
|
+
"type": "object",
|
|
2052
|
+
"properties": {
|
|
2053
|
+
"argv": {
|
|
2054
|
+
"type": "array",
|
|
2055
|
+
"items": {
|
|
2056
|
+
"type": "string"
|
|
2057
|
+
},
|
|
2058
|
+
"minItems": 1,
|
|
2059
|
+
"maxItems": 256
|
|
2060
|
+
},
|
|
2061
|
+
"cwd": {
|
|
2062
|
+
"type": "string",
|
|
2063
|
+
"default": "."
|
|
2064
|
+
}
|
|
2065
|
+
},
|
|
2066
|
+
"required": [
|
|
2067
|
+
"argv"
|
|
2068
|
+
],
|
|
2069
|
+
"additionalProperties": false
|
|
2070
|
+
}
|
|
2071
|
+
```
|
|
2072
|
+
|
|
2073
|
+
## `read_process`
|
|
2074
|
+
|
|
2075
|
+
**Read process session**
|
|
2076
|
+
|
|
2077
|
+
Read bounded stdout and stderr deltas from a server-managed process session, optionally waiting briefly for new output.
|
|
2078
|
+
|
|
2079
|
+
| Contract field | Value |
|
|
2080
|
+
|---|---|
|
|
2081
|
+
| Availability | `direct-exec` |
|
|
2082
|
+
| Read-only hint | yes |
|
|
2083
|
+
| Destructive hint | no |
|
|
2084
|
+
| Idempotent hint | yes |
|
|
2085
|
+
| Open-world hint | no |
|
|
2086
|
+
|
|
2087
|
+
### Input schema
|
|
2088
|
+
|
|
2089
|
+
```json
|
|
2090
|
+
{
|
|
2091
|
+
"type": "object",
|
|
2092
|
+
"properties": {
|
|
2093
|
+
"session_id": {
|
|
2094
|
+
"type": "string"
|
|
2095
|
+
},
|
|
2096
|
+
"stdout_offset": {
|
|
2097
|
+
"type": "integer",
|
|
2098
|
+
"minimum": 0,
|
|
2099
|
+
"default": 0
|
|
2100
|
+
},
|
|
2101
|
+
"stderr_offset": {
|
|
2102
|
+
"type": "integer",
|
|
2103
|
+
"minimum": 0,
|
|
2104
|
+
"default": 0
|
|
2105
|
+
},
|
|
2106
|
+
"max_bytes": {
|
|
2107
|
+
"type": "integer",
|
|
2108
|
+
"minimum": 1,
|
|
2109
|
+
"maximum": 262144,
|
|
2110
|
+
"default": 65536
|
|
2111
|
+
},
|
|
2112
|
+
"wait_ms": {
|
|
2113
|
+
"type": "integer",
|
|
2114
|
+
"minimum": 0,
|
|
2115
|
+
"maximum": 30000,
|
|
2116
|
+
"default": 0
|
|
2117
|
+
},
|
|
2118
|
+
"wait_for_exit": {
|
|
2119
|
+
"type": "boolean",
|
|
2120
|
+
"default": false
|
|
2121
|
+
}
|
|
2122
|
+
},
|
|
2123
|
+
"required": [
|
|
2124
|
+
"session_id"
|
|
2125
|
+
],
|
|
2126
|
+
"additionalProperties": false
|
|
2127
|
+
}
|
|
2128
|
+
```
|
|
2129
|
+
|
|
2130
|
+
## `write_process`
|
|
2131
|
+
|
|
2132
|
+
**Write process stdin**
|
|
2133
|
+
|
|
2134
|
+
Write bounded UTF-8 data to a live process session and optionally close its stdin stream.
|
|
2135
|
+
|
|
2136
|
+
| Contract field | Value |
|
|
2137
|
+
|---|---|
|
|
2138
|
+
| Availability | `direct-exec` |
|
|
2139
|
+
| Read-only hint | no |
|
|
2140
|
+
| Destructive hint | yes |
|
|
2141
|
+
| Idempotent hint | no |
|
|
2142
|
+
| Open-world hint | yes |
|
|
2143
|
+
|
|
2144
|
+
### Input schema
|
|
2145
|
+
|
|
2146
|
+
```json
|
|
2147
|
+
{
|
|
2148
|
+
"type": "object",
|
|
2149
|
+
"properties": {
|
|
2150
|
+
"session_id": {
|
|
2151
|
+
"type": "string"
|
|
2152
|
+
},
|
|
2153
|
+
"data": {
|
|
2154
|
+
"type": "string",
|
|
2155
|
+
"maxLength": 65536
|
|
2156
|
+
},
|
|
2157
|
+
"close_stdin": {
|
|
2158
|
+
"type": "boolean",
|
|
2159
|
+
"default": false
|
|
2160
|
+
}
|
|
2161
|
+
},
|
|
2162
|
+
"required": [
|
|
2163
|
+
"session_id"
|
|
2164
|
+
],
|
|
2165
|
+
"additionalProperties": false
|
|
2166
|
+
}
|
|
2167
|
+
```
|
|
2168
|
+
|
|
2169
|
+
## `kill_process`
|
|
2170
|
+
|
|
2171
|
+
**Terminate process session**
|
|
2172
|
+
|
|
2173
|
+
Terminate a live server-managed process tree with graceful or forced termination.
|
|
2174
|
+
|
|
2175
|
+
| Contract field | Value |
|
|
2176
|
+
|---|---|
|
|
2177
|
+
| Availability | `direct-exec` |
|
|
2178
|
+
| Read-only hint | no |
|
|
2179
|
+
| Destructive hint | yes |
|
|
2180
|
+
| Idempotent hint | yes |
|
|
2181
|
+
| Open-world hint | yes |
|
|
2182
|
+
|
|
2183
|
+
### Input schema
|
|
2184
|
+
|
|
2185
|
+
```json
|
|
2186
|
+
{
|
|
2187
|
+
"type": "object",
|
|
2188
|
+
"properties": {
|
|
2189
|
+
"session_id": {
|
|
2190
|
+
"type": "string"
|
|
2191
|
+
},
|
|
2192
|
+
"force": {
|
|
2193
|
+
"type": "boolean",
|
|
2194
|
+
"default": false
|
|
2195
|
+
}
|
|
2196
|
+
},
|
|
2197
|
+
"required": [
|
|
2198
|
+
"session_id"
|
|
2199
|
+
],
|
|
2200
|
+
"additionalProperties": false
|
|
2201
|
+
}
|
|
2202
|
+
```
|
|
2203
|
+
|
|
2204
|
+
## `diagnose_runtime`
|
|
2205
|
+
|
|
2206
|
+
**Diagnose runtime layers**
|
|
2207
|
+
|
|
2208
|
+
Run fixed, non-user-controlled local probes to distinguish MCP policy, local filesystem, process-spawn, shell, managed-job storage, and registered-resource failures. A successful response proves the request reached the local daemon; it cannot diagnose a host refusal that blocks the tool call itself.
|
|
2209
|
+
|
|
2210
|
+
| Contract field | Value |
|
|
2211
|
+
|---|---|
|
|
2212
|
+
| Availability | `always` |
|
|
2213
|
+
| Read-only hint | yes |
|
|
2214
|
+
| Destructive hint | no |
|
|
2215
|
+
| Idempotent hint | yes |
|
|
2216
|
+
| Open-world hint | no |
|
|
2217
|
+
|
|
2218
|
+
### Input schema
|
|
2219
|
+
|
|
2220
|
+
```json
|
|
2221
|
+
{
|
|
2222
|
+
"type": "object",
|
|
2223
|
+
"additionalProperties": false
|
|
2224
|
+
}
|
|
2225
|
+
```
|
|
2226
|
+
|
|
2227
|
+
## `list_local_resources`
|
|
2228
|
+
|
|
2229
|
+
**List local resource aliases**
|
|
2230
|
+
|
|
2231
|
+
List names and validation status for locally registered file resources without returning their paths or contents. Resources are registered only through the local machine-mcp CLI.
|
|
2232
|
+
|
|
2233
|
+
| Contract field | Value |
|
|
2234
|
+
|---|---|
|
|
2235
|
+
| Availability | `always` |
|
|
2236
|
+
| Read-only hint | yes |
|
|
2237
|
+
| Destructive hint | no |
|
|
2238
|
+
| Idempotent hint | yes |
|
|
2239
|
+
| Open-world hint | no |
|
|
2240
|
+
|
|
2241
|
+
### Input schema
|
|
2242
|
+
|
|
2243
|
+
```json
|
|
2244
|
+
{
|
|
2245
|
+
"type": "object",
|
|
2246
|
+
"additionalProperties": false
|
|
2247
|
+
}
|
|
2248
|
+
```
|
|
2249
|
+
|
|
2250
|
+
## `generate_ssh_key_resource`
|
|
2251
|
+
|
|
2252
|
+
**Generate SSH key resource**
|
|
2253
|
+
|
|
2254
|
+
Generate or reuse an Ed25519 SSH key pair on the local machine and register the private key file as a local resource alias. Private key content is never returned. Local paths are omitted unless expose_paths=true; fingerprint, permissions, and registration status are returned. Available only under canonical full policy.
|
|
2255
|
+
|
|
2256
|
+
| Contract field | Value |
|
|
2257
|
+
|---|---|
|
|
2258
|
+
| Availability | `full` |
|
|
2259
|
+
| Read-only hint | no |
|
|
2260
|
+
| Destructive hint | no |
|
|
2261
|
+
| Idempotent hint | yes |
|
|
2262
|
+
| Open-world hint | no |
|
|
2263
|
+
|
|
2264
|
+
### Input schema
|
|
2265
|
+
|
|
2266
|
+
```json
|
|
2267
|
+
{
|
|
2268
|
+
"type": "object",
|
|
2269
|
+
"properties": {
|
|
2270
|
+
"name": {
|
|
2271
|
+
"type": "string",
|
|
2272
|
+
"pattern": "^[a-z][a-z0-9._-]{0,63}$"
|
|
2273
|
+
},
|
|
2274
|
+
"path": {
|
|
2275
|
+
"type": "string",
|
|
2276
|
+
"maxLength": 4096
|
|
2277
|
+
},
|
|
2278
|
+
"comment": {
|
|
2279
|
+
"type": "string",
|
|
2280
|
+
"maxLength": 256
|
|
2281
|
+
},
|
|
2282
|
+
"expose_paths": {
|
|
2283
|
+
"type": "boolean",
|
|
2284
|
+
"description": "Return local private/public key paths. Defaults to false."
|
|
2285
|
+
}
|
|
2286
|
+
},
|
|
2287
|
+
"required": [
|
|
2288
|
+
"name"
|
|
2289
|
+
],
|
|
2290
|
+
"additionalProperties": false
|
|
2291
|
+
}
|
|
2292
|
+
```
|
|
2293
|
+
|
|
2294
|
+
## `stage_job`
|
|
2295
|
+
|
|
2296
|
+
**Stage managed job for local approval**
|
|
2297
|
+
|
|
2298
|
+
Validate and persist a managed-job plan without starting any process. Use this when execution tools are unavailable or local operator review is required; launch later with machine-mcp job approve JOB_ID.
|
|
2299
|
+
|
|
2300
|
+
| Contract field | Value |
|
|
2301
|
+
|---|---|
|
|
2302
|
+
| Availability | `write` |
|
|
2303
|
+
| Read-only hint | no |
|
|
2304
|
+
| Destructive hint | no |
|
|
2305
|
+
| Idempotent hint | no |
|
|
2306
|
+
| Open-world hint | no |
|
|
2307
|
+
|
|
2308
|
+
### Input schema
|
|
2309
|
+
|
|
2310
|
+
```json
|
|
2311
|
+
{
|
|
2312
|
+
"type": "object",
|
|
2313
|
+
"properties": {
|
|
2314
|
+
"name": {
|
|
2315
|
+
"type": "string",
|
|
2316
|
+
"maxLength": 128
|
|
2317
|
+
},
|
|
2318
|
+
"steps": {
|
|
2319
|
+
"type": "array",
|
|
2320
|
+
"minItems": 1,
|
|
2321
|
+
"maxItems": 16,
|
|
2322
|
+
"items": {
|
|
2323
|
+
"type": "object",
|
|
2324
|
+
"properties": {
|
|
2325
|
+
"name": {
|
|
2326
|
+
"type": "string",
|
|
2327
|
+
"maxLength": 128
|
|
2328
|
+
},
|
|
2329
|
+
"argv": {
|
|
2330
|
+
"type": "array",
|
|
2331
|
+
"minItems": 1,
|
|
2332
|
+
"maxItems": 256,
|
|
2333
|
+
"items": {
|
|
2334
|
+
"type": "string",
|
|
2335
|
+
"maxLength": 16384
|
|
2336
|
+
}
|
|
2337
|
+
},
|
|
2338
|
+
"cwd": {
|
|
2339
|
+
"type": "string",
|
|
2340
|
+
"maxLength": 4096
|
|
2341
|
+
},
|
|
2342
|
+
"env": {
|
|
2343
|
+
"type": "object",
|
|
2344
|
+
"maxProperties": 64,
|
|
2345
|
+
"additionalProperties": {
|
|
2346
|
+
"type": "string",
|
|
2347
|
+
"maxLength": 16384
|
|
2348
|
+
}
|
|
2349
|
+
},
|
|
2350
|
+
"env_resources": {
|
|
2351
|
+
"type": "object",
|
|
2352
|
+
"maxProperties": 32,
|
|
2353
|
+
"additionalProperties": {
|
|
2354
|
+
"type": "string",
|
|
2355
|
+
"pattern": "^[a-z][a-z0-9._-]{0,63}$"
|
|
2356
|
+
}
|
|
2357
|
+
},
|
|
2358
|
+
"stdin": {
|
|
2359
|
+
"type": "string",
|
|
2360
|
+
"maxLength": 262144
|
|
2361
|
+
},
|
|
2362
|
+
"stdin_resource": {
|
|
2363
|
+
"type": "string",
|
|
2364
|
+
"pattern": "^[a-z][a-z0-9._-]{0,63}$"
|
|
2365
|
+
},
|
|
2366
|
+
"timeout_seconds": {
|
|
2367
|
+
"type": "integer",
|
|
2368
|
+
"minimum": 1,
|
|
2369
|
+
"maximum": 3600,
|
|
2370
|
+
"default": 600
|
|
2371
|
+
},
|
|
2372
|
+
"allow_failure": {
|
|
2373
|
+
"type": "boolean",
|
|
2374
|
+
"default": false
|
|
2375
|
+
},
|
|
2376
|
+
"capture_output": {
|
|
2377
|
+
"type": "string",
|
|
2378
|
+
"enum": [
|
|
2379
|
+
"redacted",
|
|
2380
|
+
"discard"
|
|
2381
|
+
],
|
|
2382
|
+
"default": "redacted"
|
|
2383
|
+
}
|
|
2384
|
+
},
|
|
2385
|
+
"required": [
|
|
2386
|
+
"argv"
|
|
2387
|
+
],
|
|
2388
|
+
"additionalProperties": false
|
|
2389
|
+
}
|
|
2390
|
+
},
|
|
2391
|
+
"finally_steps": {
|
|
2392
|
+
"type": "array",
|
|
2393
|
+
"maxItems": 16,
|
|
2394
|
+
"items": {
|
|
2395
|
+
"type": "object",
|
|
2396
|
+
"properties": {
|
|
2397
|
+
"name": {
|
|
2398
|
+
"type": "string",
|
|
2399
|
+
"maxLength": 128
|
|
2400
|
+
},
|
|
2401
|
+
"argv": {
|
|
2402
|
+
"type": "array",
|
|
2403
|
+
"minItems": 1,
|
|
2404
|
+
"maxItems": 256,
|
|
2405
|
+
"items": {
|
|
2406
|
+
"type": "string",
|
|
2407
|
+
"maxLength": 16384
|
|
2408
|
+
}
|
|
2409
|
+
},
|
|
2410
|
+
"cwd": {
|
|
2411
|
+
"type": "string",
|
|
2412
|
+
"maxLength": 4096
|
|
2413
|
+
},
|
|
2414
|
+
"env": {
|
|
2415
|
+
"type": "object",
|
|
2416
|
+
"maxProperties": 64,
|
|
2417
|
+
"additionalProperties": {
|
|
2418
|
+
"type": "string",
|
|
2419
|
+
"maxLength": 16384
|
|
2420
|
+
}
|
|
2421
|
+
},
|
|
2422
|
+
"env_resources": {
|
|
2423
|
+
"type": "object",
|
|
2424
|
+
"maxProperties": 32,
|
|
2425
|
+
"additionalProperties": {
|
|
2426
|
+
"type": "string",
|
|
2427
|
+
"pattern": "^[a-z][a-z0-9._-]{0,63}$"
|
|
2428
|
+
}
|
|
2429
|
+
},
|
|
2430
|
+
"stdin": {
|
|
2431
|
+
"type": "string",
|
|
2432
|
+
"maxLength": 262144
|
|
2433
|
+
},
|
|
2434
|
+
"stdin_resource": {
|
|
2435
|
+
"type": "string",
|
|
2436
|
+
"pattern": "^[a-z][a-z0-9._-]{0,63}$"
|
|
2437
|
+
},
|
|
2438
|
+
"timeout_seconds": {
|
|
2439
|
+
"type": "integer",
|
|
2440
|
+
"minimum": 1,
|
|
2441
|
+
"maximum": 3600,
|
|
2442
|
+
"default": 600
|
|
2443
|
+
},
|
|
2444
|
+
"allow_failure": {
|
|
2445
|
+
"type": "boolean",
|
|
2446
|
+
"default": false
|
|
2447
|
+
},
|
|
2448
|
+
"capture_output": {
|
|
2449
|
+
"type": "string",
|
|
2450
|
+
"enum": [
|
|
2451
|
+
"redacted",
|
|
2452
|
+
"discard"
|
|
2453
|
+
],
|
|
2454
|
+
"default": "redacted"
|
|
2455
|
+
}
|
|
2456
|
+
},
|
|
2457
|
+
"required": [
|
|
2458
|
+
"argv"
|
|
2459
|
+
],
|
|
2460
|
+
"additionalProperties": false
|
|
2461
|
+
}
|
|
2462
|
+
},
|
|
2463
|
+
"temporary_files": {
|
|
2464
|
+
"type": "array",
|
|
2465
|
+
"maxItems": 16,
|
|
2466
|
+
"items": {
|
|
2467
|
+
"type": "object",
|
|
2468
|
+
"properties": {
|
|
2469
|
+
"name": {
|
|
2470
|
+
"type": "string",
|
|
2471
|
+
"pattern": "^[a-z][a-z0-9._-]{0,63}$"
|
|
2472
|
+
},
|
|
2473
|
+
"content": {
|
|
2474
|
+
"type": "string",
|
|
2475
|
+
"maxLength": 262144
|
|
2476
|
+
},
|
|
2477
|
+
"executable": {
|
|
2478
|
+
"type": "boolean",
|
|
2479
|
+
"default": false
|
|
2480
|
+
}
|
|
2481
|
+
},
|
|
2482
|
+
"required": [
|
|
2483
|
+
"name",
|
|
2484
|
+
"content"
|
|
2485
|
+
],
|
|
2486
|
+
"additionalProperties": false
|
|
2487
|
+
}
|
|
2488
|
+
}
|
|
2489
|
+
},
|
|
2490
|
+
"required": [
|
|
2491
|
+
"steps"
|
|
2492
|
+
],
|
|
2493
|
+
"additionalProperties": false
|
|
2494
|
+
}
|
|
2495
|
+
```
|
|
2496
|
+
|
|
2497
|
+
## `start_job`
|
|
2498
|
+
|
|
2499
|
+
**Start managed job**
|
|
2500
|
+
|
|
2501
|
+
Durably accept a detached argv-based job with ordered steps, job-scoped temporary files, and guaranteed-attempt finally steps. The independent local runner continues if the MCP connection disappears. Use {{temp:name}}, {{resource:name}}, env_resources, or stdin_resource; registered resource contents never enter MCP arguments.
|
|
2502
|
+
|
|
2503
|
+
| Contract field | Value |
|
|
2504
|
+
|---|---|
|
|
2505
|
+
| Availability | `write+direct-exec` |
|
|
2506
|
+
| Read-only hint | no |
|
|
2507
|
+
| Destructive hint | yes |
|
|
2508
|
+
| Idempotent hint | no |
|
|
2509
|
+
| Open-world hint | yes |
|
|
2510
|
+
|
|
2511
|
+
### Input schema
|
|
2512
|
+
|
|
2513
|
+
```json
|
|
2514
|
+
{
|
|
2515
|
+
"type": "object",
|
|
2516
|
+
"properties": {
|
|
2517
|
+
"name": {
|
|
2518
|
+
"type": "string",
|
|
2519
|
+
"maxLength": 128
|
|
2520
|
+
},
|
|
2521
|
+
"steps": {
|
|
2522
|
+
"type": "array",
|
|
2523
|
+
"minItems": 1,
|
|
2524
|
+
"maxItems": 16,
|
|
2525
|
+
"items": {
|
|
2526
|
+
"type": "object",
|
|
2527
|
+
"properties": {
|
|
2528
|
+
"name": {
|
|
2529
|
+
"type": "string",
|
|
2530
|
+
"maxLength": 128
|
|
2531
|
+
},
|
|
2532
|
+
"argv": {
|
|
2533
|
+
"type": "array",
|
|
2534
|
+
"minItems": 1,
|
|
2535
|
+
"maxItems": 256,
|
|
2536
|
+
"items": {
|
|
2537
|
+
"type": "string",
|
|
2538
|
+
"maxLength": 16384
|
|
2539
|
+
}
|
|
2540
|
+
},
|
|
2541
|
+
"cwd": {
|
|
2542
|
+
"type": "string",
|
|
2543
|
+
"maxLength": 4096
|
|
2544
|
+
},
|
|
2545
|
+
"env": {
|
|
2546
|
+
"type": "object",
|
|
2547
|
+
"maxProperties": 64,
|
|
2548
|
+
"additionalProperties": {
|
|
2549
|
+
"type": "string",
|
|
2550
|
+
"maxLength": 16384
|
|
2551
|
+
}
|
|
2552
|
+
},
|
|
2553
|
+
"env_resources": {
|
|
2554
|
+
"type": "object",
|
|
2555
|
+
"maxProperties": 32,
|
|
2556
|
+
"additionalProperties": {
|
|
2557
|
+
"type": "string",
|
|
2558
|
+
"pattern": "^[a-z][a-z0-9._-]{0,63}$"
|
|
2559
|
+
}
|
|
2560
|
+
},
|
|
2561
|
+
"stdin": {
|
|
2562
|
+
"type": "string",
|
|
2563
|
+
"maxLength": 262144
|
|
2564
|
+
},
|
|
2565
|
+
"stdin_resource": {
|
|
2566
|
+
"type": "string",
|
|
2567
|
+
"pattern": "^[a-z][a-z0-9._-]{0,63}$"
|
|
2568
|
+
},
|
|
2569
|
+
"timeout_seconds": {
|
|
2570
|
+
"type": "integer",
|
|
2571
|
+
"minimum": 1,
|
|
2572
|
+
"maximum": 3600,
|
|
2573
|
+
"default": 600
|
|
2574
|
+
},
|
|
2575
|
+
"allow_failure": {
|
|
2576
|
+
"type": "boolean",
|
|
2577
|
+
"default": false
|
|
2578
|
+
},
|
|
2579
|
+
"capture_output": {
|
|
2580
|
+
"type": "string",
|
|
2581
|
+
"enum": [
|
|
2582
|
+
"redacted",
|
|
2583
|
+
"discard"
|
|
2584
|
+
],
|
|
2585
|
+
"default": "redacted"
|
|
2586
|
+
}
|
|
2587
|
+
},
|
|
2588
|
+
"required": [
|
|
2589
|
+
"argv"
|
|
2590
|
+
],
|
|
2591
|
+
"additionalProperties": false
|
|
2592
|
+
}
|
|
2593
|
+
},
|
|
2594
|
+
"finally_steps": {
|
|
2595
|
+
"type": "array",
|
|
2596
|
+
"maxItems": 16,
|
|
2597
|
+
"items": {
|
|
2598
|
+
"type": "object",
|
|
2599
|
+
"properties": {
|
|
2600
|
+
"name": {
|
|
2601
|
+
"type": "string",
|
|
2602
|
+
"maxLength": 128
|
|
2603
|
+
},
|
|
2604
|
+
"argv": {
|
|
2605
|
+
"type": "array",
|
|
2606
|
+
"minItems": 1,
|
|
2607
|
+
"maxItems": 256,
|
|
2608
|
+
"items": {
|
|
2609
|
+
"type": "string",
|
|
2610
|
+
"maxLength": 16384
|
|
2611
|
+
}
|
|
2612
|
+
},
|
|
2613
|
+
"cwd": {
|
|
2614
|
+
"type": "string",
|
|
2615
|
+
"maxLength": 4096
|
|
2616
|
+
},
|
|
2617
|
+
"env": {
|
|
2618
|
+
"type": "object",
|
|
2619
|
+
"maxProperties": 64,
|
|
2620
|
+
"additionalProperties": {
|
|
2621
|
+
"type": "string",
|
|
2622
|
+
"maxLength": 16384
|
|
2623
|
+
}
|
|
2624
|
+
},
|
|
2625
|
+
"env_resources": {
|
|
2626
|
+
"type": "object",
|
|
2627
|
+
"maxProperties": 32,
|
|
2628
|
+
"additionalProperties": {
|
|
2629
|
+
"type": "string",
|
|
2630
|
+
"pattern": "^[a-z][a-z0-9._-]{0,63}$"
|
|
2631
|
+
}
|
|
2632
|
+
},
|
|
2633
|
+
"stdin": {
|
|
2634
|
+
"type": "string",
|
|
2635
|
+
"maxLength": 262144
|
|
2636
|
+
},
|
|
2637
|
+
"stdin_resource": {
|
|
2638
|
+
"type": "string",
|
|
2639
|
+
"pattern": "^[a-z][a-z0-9._-]{0,63}$"
|
|
2640
|
+
},
|
|
2641
|
+
"timeout_seconds": {
|
|
2642
|
+
"type": "integer",
|
|
2643
|
+
"minimum": 1,
|
|
2644
|
+
"maximum": 3600,
|
|
2645
|
+
"default": 600
|
|
2646
|
+
},
|
|
2647
|
+
"allow_failure": {
|
|
2648
|
+
"type": "boolean",
|
|
2649
|
+
"default": false
|
|
2650
|
+
},
|
|
2651
|
+
"capture_output": {
|
|
2652
|
+
"type": "string",
|
|
2653
|
+
"enum": [
|
|
2654
|
+
"redacted",
|
|
2655
|
+
"discard"
|
|
2656
|
+
],
|
|
2657
|
+
"default": "redacted"
|
|
2658
|
+
}
|
|
2659
|
+
},
|
|
2660
|
+
"required": [
|
|
2661
|
+
"argv"
|
|
2662
|
+
],
|
|
2663
|
+
"additionalProperties": false
|
|
2664
|
+
}
|
|
2665
|
+
},
|
|
2666
|
+
"temporary_files": {
|
|
2667
|
+
"type": "array",
|
|
2668
|
+
"maxItems": 16,
|
|
2669
|
+
"items": {
|
|
2670
|
+
"type": "object",
|
|
2671
|
+
"properties": {
|
|
2672
|
+
"name": {
|
|
2673
|
+
"type": "string",
|
|
2674
|
+
"pattern": "^[a-z][a-z0-9._-]{0,63}$"
|
|
2675
|
+
},
|
|
2676
|
+
"content": {
|
|
2677
|
+
"type": "string",
|
|
2678
|
+
"maxLength": 262144
|
|
2679
|
+
},
|
|
2680
|
+
"executable": {
|
|
2681
|
+
"type": "boolean",
|
|
2682
|
+
"default": false
|
|
2683
|
+
}
|
|
2684
|
+
},
|
|
2685
|
+
"required": [
|
|
2686
|
+
"name",
|
|
2687
|
+
"content"
|
|
2688
|
+
],
|
|
2689
|
+
"additionalProperties": false
|
|
2690
|
+
}
|
|
2691
|
+
}
|
|
2692
|
+
},
|
|
2693
|
+
"required": [
|
|
2694
|
+
"steps"
|
|
2695
|
+
],
|
|
2696
|
+
"additionalProperties": false
|
|
2697
|
+
}
|
|
2698
|
+
```
|
|
2699
|
+
|
|
2700
|
+
## `list_jobs`
|
|
2701
|
+
|
|
2702
|
+
**List managed jobs**
|
|
2703
|
+
|
|
2704
|
+
List recent detached managed jobs and their lifecycle status without returning step output.
|
|
2705
|
+
|
|
2706
|
+
| Contract field | Value |
|
|
2707
|
+
|---|---|
|
|
2708
|
+
| Availability | `always` |
|
|
2709
|
+
| Read-only hint | yes |
|
|
2710
|
+
| Destructive hint | no |
|
|
2711
|
+
| Idempotent hint | yes |
|
|
2712
|
+
| Open-world hint | no |
|
|
2713
|
+
|
|
2714
|
+
### Input schema
|
|
2715
|
+
|
|
2716
|
+
```json
|
|
2717
|
+
{
|
|
2718
|
+
"type": "object",
|
|
2719
|
+
"properties": {
|
|
2720
|
+
"limit": {
|
|
2721
|
+
"type": "integer",
|
|
2722
|
+
"minimum": 1,
|
|
2723
|
+
"maximum": 50,
|
|
2724
|
+
"default": 20
|
|
2725
|
+
}
|
|
2726
|
+
},
|
|
2727
|
+
"additionalProperties": false
|
|
2728
|
+
}
|
|
2729
|
+
```
|
|
2730
|
+
|
|
2731
|
+
## `read_job`
|
|
2732
|
+
|
|
2733
|
+
**Read managed job**
|
|
2734
|
+
|
|
2735
|
+
Return one managed job status plus bounded, resource-redacted step results. Registered resource paths and contents are never returned.
|
|
2736
|
+
|
|
2737
|
+
| Contract field | Value |
|
|
2738
|
+
|---|---|
|
|
2739
|
+
| Availability | `always` |
|
|
2740
|
+
| Read-only hint | yes |
|
|
2741
|
+
| Destructive hint | no |
|
|
2742
|
+
| Idempotent hint | yes |
|
|
2743
|
+
| Open-world hint | no |
|
|
2744
|
+
|
|
2745
|
+
### Input schema
|
|
2746
|
+
|
|
2747
|
+
```json
|
|
2748
|
+
{
|
|
2749
|
+
"type": "object",
|
|
2750
|
+
"properties": {
|
|
2751
|
+
"job_id": {
|
|
2752
|
+
"type": "string",
|
|
2753
|
+
"pattern": "^job_[A-Za-z0-9_-]{24,}$"
|
|
2754
|
+
}
|
|
2755
|
+
},
|
|
2756
|
+
"required": [
|
|
2757
|
+
"job_id"
|
|
2758
|
+
],
|
|
2759
|
+
"additionalProperties": false
|
|
2760
|
+
}
|
|
2761
|
+
```
|
|
2762
|
+
|
|
2763
|
+
## `cancel_job`
|
|
2764
|
+
|
|
2765
|
+
**Cancel managed job**
|
|
2766
|
+
|
|
2767
|
+
Request cancellation of a detached managed job. The runner terminates the active process tree and still attempts declared finally steps and local resource cleanup.
|
|
2768
|
+
|
|
2769
|
+
| Contract field | Value |
|
|
2770
|
+
|---|---|
|
|
2771
|
+
| Availability | `write` |
|
|
2772
|
+
| Read-only hint | no |
|
|
2773
|
+
| Destructive hint | yes |
|
|
2774
|
+
| Idempotent hint | yes |
|
|
2775
|
+
| Open-world hint | yes |
|
|
2776
|
+
|
|
2777
|
+
### Input schema
|
|
2778
|
+
|
|
2779
|
+
```json
|
|
2780
|
+
{
|
|
2781
|
+
"type": "object",
|
|
2782
|
+
"properties": {
|
|
2783
|
+
"job_id": {
|
|
2784
|
+
"type": "string",
|
|
2785
|
+
"pattern": "^job_[A-Za-z0-9_-]{24,}$"
|
|
2786
|
+
}
|
|
2787
|
+
},
|
|
2788
|
+
"required": [
|
|
2789
|
+
"job_id"
|
|
2790
|
+
],
|
|
2791
|
+
"additionalProperties": false
|
|
2792
|
+
}
|
|
2793
|
+
```
|
|
2794
|
+
|
|
2795
|
+
## `exec_command`
|
|
2796
|
+
|
|
2797
|
+
**Execute shell command**
|
|
2798
|
+
|
|
2799
|
+
Execute a shell command with workspace cwd. This is not a sandbox and has the operating-system authority of the local user.
|
|
2800
|
+
|
|
2801
|
+
| Contract field | Value |
|
|
2802
|
+
|---|---|
|
|
2803
|
+
| Availability | `shell-exec` |
|
|
2804
|
+
| Read-only hint | no |
|
|
2805
|
+
| Destructive hint | yes |
|
|
2806
|
+
| Idempotent hint | no |
|
|
2807
|
+
| Open-world hint | yes |
|
|
2808
|
+
|
|
2809
|
+
### Input schema
|
|
2810
|
+
|
|
2811
|
+
```json
|
|
2812
|
+
{
|
|
2813
|
+
"type": "object",
|
|
2814
|
+
"properties": {
|
|
2815
|
+
"command": {
|
|
2816
|
+
"type": "string",
|
|
2817
|
+
"minLength": 1,
|
|
2818
|
+
"maxLength": 65536
|
|
2819
|
+
},
|
|
2820
|
+
"timeout_seconds": {
|
|
2821
|
+
"type": "integer",
|
|
2822
|
+
"minimum": 1,
|
|
2823
|
+
"maximum": 600,
|
|
2824
|
+
"default": 120
|
|
2825
|
+
}
|
|
2826
|
+
},
|
|
2827
|
+
"required": [
|
|
2828
|
+
"command"
|
|
2829
|
+
],
|
|
2830
|
+
"additionalProperties": false
|
|
2831
|
+
}
|
|
2832
|
+
```
|
|
2833
|
+
|
|
2834
|
+
## Change discipline
|
|
2835
|
+
|
|
2836
|
+
A catalog change must update its runtime handler and protocol tests in the same pull request. CI verifies catalog uniqueness, local/Worker use of the shared catalog, handler parity, generated policy documentation, and this generated reference.
|