@rethunk/mcp-multi-root-git 2.3.3 → 2.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +30 -3
- package/CHANGELOG.md +61 -0
- package/HUMANS.md +106 -2
- package/README.md +15 -1
- package/dist/server/batch-commit-tool.js +244 -19
- package/dist/server/coverage.js +22 -0
- package/dist/server/git-diff-tool.js +132 -0
- package/dist/server/git-fetch-tool.js +131 -0
- package/dist/server/git-push-tool.js +8 -1
- package/dist/server/git-show-tool.js +148 -0
- package/dist/server/git-stash-tool.js +131 -0
- package/dist/server/git-tag-tool.js +162 -0
- package/dist/server/git.js +18 -2
- package/dist/server/roots.js +8 -4
- package/dist/server/test-harness.js +77 -6
- package/dist/server/tool-parameter-schemas.js +94 -0
- package/dist/server/tools.js +11 -0
- package/docs/install.md +19 -2
- package/docs/mcp-tools.md +235 -5
- package/package.json +15 -8
- package/schemas/batch_commit.json +125 -0
- package/schemas/git_cherry_pick.json +63 -0
- package/schemas/git_diff.json +62 -0
- package/schemas/git_diff_summary.json +75 -0
- package/schemas/git_fetch.json +52 -0
- package/schemas/git_inventory.json +74 -0
- package/schemas/git_log.json +75 -0
- package/schemas/git_merge.json +79 -0
- package/schemas/git_parity.json +74 -0
- package/schemas/git_push.json +50 -0
- package/schemas/git_reset_soft.json +42 -0
- package/schemas/git_show.json +39 -0
- package/schemas/git_stash_apply.json +44 -0
- package/schemas/git_stash_list.json +30 -0
- package/schemas/git_status.json +49 -0
- package/schemas/git_tag.json +50 -0
- package/schemas/git_worktree_add.json +52 -0
- package/schemas/git_worktree_list.json +30 -0
- package/schemas/git_worktree_remove.json +48 -0
- package/schemas/index.json +108 -0
- package/schemas/list_presets.json +44 -0
- package/tool-parameters.schema.json +1125 -0
|
@@ -0,0 +1,1125 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"title": "@rethunk/mcp-multi-root-git tool parameter schemas",
|
|
4
|
+
"description": "JSON Schema snapshots generated from registered FastMCP tool parameter schemas.",
|
|
5
|
+
"generatedBy": "scripts/generate-tool-parameters-schema.ts",
|
|
6
|
+
"tools": {
|
|
7
|
+
"git_status": {
|
|
8
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
9
|
+
"type": "object",
|
|
10
|
+
"properties": {
|
|
11
|
+
"workspaceRoot": {
|
|
12
|
+
"description": "Highest-priority override.",
|
|
13
|
+
"type": "string"
|
|
14
|
+
},
|
|
15
|
+
"rootIndex": {
|
|
16
|
+
"description": "0-based index into the MCP file roots list; ignored when workspaceRoot is set.",
|
|
17
|
+
"type": "integer",
|
|
18
|
+
"minimum": 0,
|
|
19
|
+
"maximum": 9007199254740991
|
|
20
|
+
},
|
|
21
|
+
"allWorkspaceRoots": {
|
|
22
|
+
"default": false,
|
|
23
|
+
"description": "Fan out across all MCP file roots.",
|
|
24
|
+
"type": "boolean"
|
|
25
|
+
},
|
|
26
|
+
"absoluteGitRoots": {
|
|
27
|
+
"description": "Absolute paths to git repo roots. Use for many sibling clones under a non-git parent directory.",
|
|
28
|
+
"maxItems": 256,
|
|
29
|
+
"type": "array",
|
|
30
|
+
"items": {
|
|
31
|
+
"type": "string"
|
|
32
|
+
}
|
|
33
|
+
},
|
|
34
|
+
"format": {
|
|
35
|
+
"default": "markdown",
|
|
36
|
+
"type": "string",
|
|
37
|
+
"enum": [
|
|
38
|
+
"markdown",
|
|
39
|
+
"json"
|
|
40
|
+
]
|
|
41
|
+
},
|
|
42
|
+
"includeSubmodules": {
|
|
43
|
+
"default": true,
|
|
44
|
+
"type": "boolean"
|
|
45
|
+
}
|
|
46
|
+
},
|
|
47
|
+
"required": [
|
|
48
|
+
"allWorkspaceRoots",
|
|
49
|
+
"format",
|
|
50
|
+
"includeSubmodules"
|
|
51
|
+
],
|
|
52
|
+
"additionalProperties": false
|
|
53
|
+
},
|
|
54
|
+
"git_inventory": {
|
|
55
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
56
|
+
"type": "object",
|
|
57
|
+
"properties": {
|
|
58
|
+
"workspaceRoot": {
|
|
59
|
+
"description": "Highest-priority override.",
|
|
60
|
+
"type": "string"
|
|
61
|
+
},
|
|
62
|
+
"rootIndex": {
|
|
63
|
+
"description": "0-based index into the MCP file roots list; ignored when workspaceRoot is set.",
|
|
64
|
+
"type": "integer",
|
|
65
|
+
"minimum": 0,
|
|
66
|
+
"maximum": 9007199254740991
|
|
67
|
+
},
|
|
68
|
+
"allWorkspaceRoots": {
|
|
69
|
+
"default": false,
|
|
70
|
+
"description": "Fan out across all MCP file roots.",
|
|
71
|
+
"type": "boolean"
|
|
72
|
+
},
|
|
73
|
+
"absoluteGitRoots": {
|
|
74
|
+
"description": "Absolute paths to git repo roots. Use for many sibling clones under a non-git parent directory.",
|
|
75
|
+
"maxItems": 256,
|
|
76
|
+
"type": "array",
|
|
77
|
+
"items": {
|
|
78
|
+
"type": "string"
|
|
79
|
+
}
|
|
80
|
+
},
|
|
81
|
+
"format": {
|
|
82
|
+
"default": "markdown",
|
|
83
|
+
"type": "string",
|
|
84
|
+
"enum": [
|
|
85
|
+
"markdown",
|
|
86
|
+
"json"
|
|
87
|
+
]
|
|
88
|
+
},
|
|
89
|
+
"nestedRoots": {
|
|
90
|
+
"type": "array",
|
|
91
|
+
"items": {
|
|
92
|
+
"type": "string"
|
|
93
|
+
}
|
|
94
|
+
},
|
|
95
|
+
"preset": {
|
|
96
|
+
"type": "string"
|
|
97
|
+
},
|
|
98
|
+
"presetMerge": {
|
|
99
|
+
"default": false,
|
|
100
|
+
"description": "Merge with preset instead of replacing.",
|
|
101
|
+
"type": "boolean"
|
|
102
|
+
},
|
|
103
|
+
"remote": {
|
|
104
|
+
"description": "Pair with `branch`.",
|
|
105
|
+
"type": "string"
|
|
106
|
+
},
|
|
107
|
+
"branch": {
|
|
108
|
+
"description": "Pair with `remote`.",
|
|
109
|
+
"type": "string"
|
|
110
|
+
},
|
|
111
|
+
"maxRoots": {
|
|
112
|
+
"default": 64,
|
|
113
|
+
"type": "integer",
|
|
114
|
+
"minimum": 1,
|
|
115
|
+
"maximum": 256
|
|
116
|
+
}
|
|
117
|
+
},
|
|
118
|
+
"required": [
|
|
119
|
+
"allWorkspaceRoots",
|
|
120
|
+
"format",
|
|
121
|
+
"presetMerge",
|
|
122
|
+
"maxRoots"
|
|
123
|
+
],
|
|
124
|
+
"additionalProperties": false
|
|
125
|
+
},
|
|
126
|
+
"git_parity": {
|
|
127
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
128
|
+
"type": "object",
|
|
129
|
+
"properties": {
|
|
130
|
+
"workspaceRoot": {
|
|
131
|
+
"description": "Highest-priority override.",
|
|
132
|
+
"type": "string"
|
|
133
|
+
},
|
|
134
|
+
"rootIndex": {
|
|
135
|
+
"description": "0-based index into the MCP file roots list; ignored when workspaceRoot is set.",
|
|
136
|
+
"type": "integer",
|
|
137
|
+
"minimum": 0,
|
|
138
|
+
"maximum": 9007199254740991
|
|
139
|
+
},
|
|
140
|
+
"allWorkspaceRoots": {
|
|
141
|
+
"default": false,
|
|
142
|
+
"description": "Fan out across all MCP file roots.",
|
|
143
|
+
"type": "boolean"
|
|
144
|
+
},
|
|
145
|
+
"absoluteGitRoots": {
|
|
146
|
+
"description": "Absolute paths to git repo roots. Use for many sibling clones under a non-git parent directory.",
|
|
147
|
+
"maxItems": 256,
|
|
148
|
+
"type": "array",
|
|
149
|
+
"items": {
|
|
150
|
+
"type": "string"
|
|
151
|
+
}
|
|
152
|
+
},
|
|
153
|
+
"format": {
|
|
154
|
+
"default": "markdown",
|
|
155
|
+
"type": "string",
|
|
156
|
+
"enum": [
|
|
157
|
+
"markdown",
|
|
158
|
+
"json"
|
|
159
|
+
]
|
|
160
|
+
},
|
|
161
|
+
"pairs": {
|
|
162
|
+
"type": "array",
|
|
163
|
+
"items": {
|
|
164
|
+
"type": "object",
|
|
165
|
+
"properties": {
|
|
166
|
+
"left": {
|
|
167
|
+
"type": "string"
|
|
168
|
+
},
|
|
169
|
+
"right": {
|
|
170
|
+
"type": "string"
|
|
171
|
+
},
|
|
172
|
+
"label": {
|
|
173
|
+
"type": "string"
|
|
174
|
+
}
|
|
175
|
+
},
|
|
176
|
+
"required": [
|
|
177
|
+
"left",
|
|
178
|
+
"right"
|
|
179
|
+
],
|
|
180
|
+
"additionalProperties": false
|
|
181
|
+
}
|
|
182
|
+
},
|
|
183
|
+
"preset": {
|
|
184
|
+
"type": "string"
|
|
185
|
+
},
|
|
186
|
+
"presetMerge": {
|
|
187
|
+
"default": false,
|
|
188
|
+
"type": "boolean"
|
|
189
|
+
}
|
|
190
|
+
},
|
|
191
|
+
"required": [
|
|
192
|
+
"allWorkspaceRoots",
|
|
193
|
+
"format",
|
|
194
|
+
"presetMerge"
|
|
195
|
+
],
|
|
196
|
+
"additionalProperties": false
|
|
197
|
+
},
|
|
198
|
+
"list_presets": {
|
|
199
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
200
|
+
"type": "object",
|
|
201
|
+
"properties": {
|
|
202
|
+
"workspaceRoot": {
|
|
203
|
+
"description": "Highest-priority override.",
|
|
204
|
+
"type": "string"
|
|
205
|
+
},
|
|
206
|
+
"rootIndex": {
|
|
207
|
+
"description": "0-based index into the MCP file roots list; ignored when workspaceRoot is set.",
|
|
208
|
+
"type": "integer",
|
|
209
|
+
"minimum": 0,
|
|
210
|
+
"maximum": 9007199254740991
|
|
211
|
+
},
|
|
212
|
+
"allWorkspaceRoots": {
|
|
213
|
+
"default": false,
|
|
214
|
+
"description": "Fan out across all MCP file roots.",
|
|
215
|
+
"type": "boolean"
|
|
216
|
+
},
|
|
217
|
+
"absoluteGitRoots": {
|
|
218
|
+
"description": "Absolute paths to git repo roots. Use for many sibling clones under a non-git parent directory.",
|
|
219
|
+
"maxItems": 256,
|
|
220
|
+
"type": "array",
|
|
221
|
+
"items": {
|
|
222
|
+
"type": "string"
|
|
223
|
+
}
|
|
224
|
+
},
|
|
225
|
+
"format": {
|
|
226
|
+
"default": "markdown",
|
|
227
|
+
"type": "string",
|
|
228
|
+
"enum": [
|
|
229
|
+
"markdown",
|
|
230
|
+
"json"
|
|
231
|
+
]
|
|
232
|
+
}
|
|
233
|
+
},
|
|
234
|
+
"required": [
|
|
235
|
+
"allWorkspaceRoots",
|
|
236
|
+
"format"
|
|
237
|
+
],
|
|
238
|
+
"additionalProperties": false
|
|
239
|
+
},
|
|
240
|
+
"git_log": {
|
|
241
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
242
|
+
"type": "object",
|
|
243
|
+
"properties": {
|
|
244
|
+
"workspaceRoot": {
|
|
245
|
+
"description": "Highest-priority override.",
|
|
246
|
+
"type": "string"
|
|
247
|
+
},
|
|
248
|
+
"rootIndex": {
|
|
249
|
+
"description": "0-based index into the MCP file roots list; ignored when workspaceRoot is set.",
|
|
250
|
+
"type": "integer",
|
|
251
|
+
"minimum": 0,
|
|
252
|
+
"maximum": 9007199254740991
|
|
253
|
+
},
|
|
254
|
+
"allWorkspaceRoots": {
|
|
255
|
+
"default": false,
|
|
256
|
+
"description": "Fan out across all MCP file roots.",
|
|
257
|
+
"type": "boolean"
|
|
258
|
+
},
|
|
259
|
+
"absoluteGitRoots": {
|
|
260
|
+
"description": "Absolute paths to git repo roots. Use for many sibling clones under a non-git parent directory.",
|
|
261
|
+
"maxItems": 256,
|
|
262
|
+
"type": "array",
|
|
263
|
+
"items": {
|
|
264
|
+
"type": "string"
|
|
265
|
+
}
|
|
266
|
+
},
|
|
267
|
+
"format": {
|
|
268
|
+
"default": "markdown",
|
|
269
|
+
"type": "string",
|
|
270
|
+
"enum": [
|
|
271
|
+
"markdown",
|
|
272
|
+
"json"
|
|
273
|
+
]
|
|
274
|
+
},
|
|
275
|
+
"since": {
|
|
276
|
+
"description": "Passed to `git log --since=`. Accepts ISO timestamps or git relative forms like `48.hours` or `2.weeks.ago`. Default: `7.days`.",
|
|
277
|
+
"type": "string"
|
|
278
|
+
},
|
|
279
|
+
"paths": {
|
|
280
|
+
"description": "Limit to commits touching these paths (passed as `-- <paths>`).",
|
|
281
|
+
"type": "array",
|
|
282
|
+
"items": {
|
|
283
|
+
"type": "string"
|
|
284
|
+
}
|
|
285
|
+
},
|
|
286
|
+
"grep": {
|
|
287
|
+
"description": "Filter commits whose message matches this regex (git `--grep`, case-insensitive).",
|
|
288
|
+
"type": "string"
|
|
289
|
+
},
|
|
290
|
+
"author": {
|
|
291
|
+
"description": "Filter by author name or email (passed as `--author=`).",
|
|
292
|
+
"type": "string"
|
|
293
|
+
},
|
|
294
|
+
"maxCommits": {
|
|
295
|
+
"default": 50,
|
|
296
|
+
"description": "Maximum commits to return per root (hard cap 500). Default 50.",
|
|
297
|
+
"type": "integer",
|
|
298
|
+
"minimum": 1,
|
|
299
|
+
"maximum": 500
|
|
300
|
+
},
|
|
301
|
+
"branch": {
|
|
302
|
+
"description": "Ref/branch to log from. Default: HEAD.",
|
|
303
|
+
"type": "string"
|
|
304
|
+
}
|
|
305
|
+
},
|
|
306
|
+
"required": [
|
|
307
|
+
"allWorkspaceRoots",
|
|
308
|
+
"format",
|
|
309
|
+
"maxCommits"
|
|
310
|
+
],
|
|
311
|
+
"additionalProperties": false
|
|
312
|
+
},
|
|
313
|
+
"git_diff_summary": {
|
|
314
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
315
|
+
"type": "object",
|
|
316
|
+
"properties": {
|
|
317
|
+
"workspaceRoot": {
|
|
318
|
+
"description": "Highest-priority override.",
|
|
319
|
+
"type": "string"
|
|
320
|
+
},
|
|
321
|
+
"rootIndex": {
|
|
322
|
+
"description": "0-based index into the MCP file roots list; ignored when workspaceRoot is set.",
|
|
323
|
+
"type": "integer",
|
|
324
|
+
"minimum": 0,
|
|
325
|
+
"maximum": 9007199254740991
|
|
326
|
+
},
|
|
327
|
+
"allWorkspaceRoots": {
|
|
328
|
+
"default": false,
|
|
329
|
+
"description": "Fan out across all MCP file roots.",
|
|
330
|
+
"type": "boolean"
|
|
331
|
+
},
|
|
332
|
+
"absoluteGitRoots": {
|
|
333
|
+
"description": "Absolute paths to git repo roots. Use for many sibling clones under a non-git parent directory.",
|
|
334
|
+
"maxItems": 256,
|
|
335
|
+
"type": "array",
|
|
336
|
+
"items": {
|
|
337
|
+
"type": "string"
|
|
338
|
+
}
|
|
339
|
+
},
|
|
340
|
+
"format": {
|
|
341
|
+
"default": "markdown",
|
|
342
|
+
"type": "string",
|
|
343
|
+
"enum": [
|
|
344
|
+
"markdown",
|
|
345
|
+
"json"
|
|
346
|
+
]
|
|
347
|
+
},
|
|
348
|
+
"range": {
|
|
349
|
+
"description": "Diff range. Examples: \"staged\", \"HEAD~3..HEAD\", \"main...feature\". Default: unstaged changes.",
|
|
350
|
+
"type": "string"
|
|
351
|
+
},
|
|
352
|
+
"fileFilter": {
|
|
353
|
+
"description": "Glob pattern to restrict output to matching files, e.g. \"*.ts\", \"src/**\".",
|
|
354
|
+
"type": "string"
|
|
355
|
+
},
|
|
356
|
+
"maxLinesPerFile": {
|
|
357
|
+
"default": 50,
|
|
358
|
+
"description": "Max diff lines to include per file. Default: 50.",
|
|
359
|
+
"type": "integer",
|
|
360
|
+
"minimum": 1,
|
|
361
|
+
"maximum": 2000
|
|
362
|
+
},
|
|
363
|
+
"maxFiles": {
|
|
364
|
+
"default": 30,
|
|
365
|
+
"description": "Max files to include in output. Default: 30.",
|
|
366
|
+
"type": "integer",
|
|
367
|
+
"minimum": 1,
|
|
368
|
+
"maximum": 500
|
|
369
|
+
},
|
|
370
|
+
"excludePatterns": {
|
|
371
|
+
"description": "Glob patterns to exclude. Defaults to common noise: lock files, dist, vendor, etc.",
|
|
372
|
+
"type": "array",
|
|
373
|
+
"items": {
|
|
374
|
+
"type": "string"
|
|
375
|
+
}
|
|
376
|
+
}
|
|
377
|
+
},
|
|
378
|
+
"required": [
|
|
379
|
+
"allWorkspaceRoots",
|
|
380
|
+
"format",
|
|
381
|
+
"maxLinesPerFile",
|
|
382
|
+
"maxFiles"
|
|
383
|
+
],
|
|
384
|
+
"additionalProperties": false
|
|
385
|
+
},
|
|
386
|
+
"git_diff": {
|
|
387
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
388
|
+
"type": "object",
|
|
389
|
+
"properties": {
|
|
390
|
+
"workspaceRoot": {
|
|
391
|
+
"description": "Highest-priority override.",
|
|
392
|
+
"type": "string"
|
|
393
|
+
},
|
|
394
|
+
"rootIndex": {
|
|
395
|
+
"description": "0-based index into the MCP file roots list; ignored when workspaceRoot is set.",
|
|
396
|
+
"type": "integer",
|
|
397
|
+
"minimum": 0,
|
|
398
|
+
"maximum": 9007199254740991
|
|
399
|
+
},
|
|
400
|
+
"allWorkspaceRoots": {
|
|
401
|
+
"default": false,
|
|
402
|
+
"description": "Fan out across all MCP file roots.",
|
|
403
|
+
"type": "boolean"
|
|
404
|
+
},
|
|
405
|
+
"absoluteGitRoots": {
|
|
406
|
+
"description": "Absolute paths to git repo roots. Use for many sibling clones under a non-git parent directory.",
|
|
407
|
+
"maxItems": 256,
|
|
408
|
+
"type": "array",
|
|
409
|
+
"items": {
|
|
410
|
+
"type": "string"
|
|
411
|
+
}
|
|
412
|
+
},
|
|
413
|
+
"format": {
|
|
414
|
+
"default": "markdown",
|
|
415
|
+
"type": "string",
|
|
416
|
+
"enum": [
|
|
417
|
+
"markdown",
|
|
418
|
+
"json"
|
|
419
|
+
]
|
|
420
|
+
},
|
|
421
|
+
"base": {
|
|
422
|
+
"description": "Base ref (e.g. \"main\", \"HEAD~3\"). Required for range diffs. If omitted and `staged: false`, shows unstaged changes.",
|
|
423
|
+
"type": "string"
|
|
424
|
+
},
|
|
425
|
+
"head": {
|
|
426
|
+
"description": "Head ref (e.g. \"feature-branch\"). If omitted, defaults to HEAD. Only used if `base` is provided.",
|
|
427
|
+
"type": "string"
|
|
428
|
+
},
|
|
429
|
+
"path": {
|
|
430
|
+
"description": "Scope diff to a single file path (e.g. \"src/main.ts\").",
|
|
431
|
+
"type": "string"
|
|
432
|
+
},
|
|
433
|
+
"staged": {
|
|
434
|
+
"default": false,
|
|
435
|
+
"description": "If true, show staged changes (git diff --staged). Ignored if `base` is provided.",
|
|
436
|
+
"type": "boolean"
|
|
437
|
+
}
|
|
438
|
+
},
|
|
439
|
+
"required": [
|
|
440
|
+
"allWorkspaceRoots",
|
|
441
|
+
"format",
|
|
442
|
+
"staged"
|
|
443
|
+
],
|
|
444
|
+
"additionalProperties": false
|
|
445
|
+
},
|
|
446
|
+
"git_show": {
|
|
447
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
448
|
+
"type": "object",
|
|
449
|
+
"properties": {
|
|
450
|
+
"workspaceRoot": {
|
|
451
|
+
"description": "Highest-priority override.",
|
|
452
|
+
"type": "string"
|
|
453
|
+
},
|
|
454
|
+
"rootIndex": {
|
|
455
|
+
"description": "0-based index into the MCP file roots list; ignored when workspaceRoot is set.",
|
|
456
|
+
"type": "integer",
|
|
457
|
+
"minimum": 0,
|
|
458
|
+
"maximum": 9007199254740991
|
|
459
|
+
},
|
|
460
|
+
"format": {
|
|
461
|
+
"default": "markdown",
|
|
462
|
+
"type": "string",
|
|
463
|
+
"enum": [
|
|
464
|
+
"markdown",
|
|
465
|
+
"json"
|
|
466
|
+
]
|
|
467
|
+
},
|
|
468
|
+
"ref": {
|
|
469
|
+
"type": "string",
|
|
470
|
+
"description": "Commit reference (SHA, branch, tag, or any git rev-spec)."
|
|
471
|
+
},
|
|
472
|
+
"path": {
|
|
473
|
+
"description": "Optional file path to inspect at the ref. If provided, shows that path's content at the ref instead of the diff.",
|
|
474
|
+
"type": "string"
|
|
475
|
+
}
|
|
476
|
+
},
|
|
477
|
+
"required": [
|
|
478
|
+
"format",
|
|
479
|
+
"ref"
|
|
480
|
+
],
|
|
481
|
+
"additionalProperties": false
|
|
482
|
+
},
|
|
483
|
+
"git_worktree_list": {
|
|
484
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
485
|
+
"type": "object",
|
|
486
|
+
"properties": {
|
|
487
|
+
"workspaceRoot": {
|
|
488
|
+
"description": "Highest-priority override.",
|
|
489
|
+
"type": "string"
|
|
490
|
+
},
|
|
491
|
+
"rootIndex": {
|
|
492
|
+
"description": "0-based index into the MCP file roots list; ignored when workspaceRoot is set.",
|
|
493
|
+
"type": "integer",
|
|
494
|
+
"minimum": 0,
|
|
495
|
+
"maximum": 9007199254740991
|
|
496
|
+
},
|
|
497
|
+
"format": {
|
|
498
|
+
"default": "markdown",
|
|
499
|
+
"type": "string",
|
|
500
|
+
"enum": [
|
|
501
|
+
"markdown",
|
|
502
|
+
"json"
|
|
503
|
+
]
|
|
504
|
+
}
|
|
505
|
+
},
|
|
506
|
+
"required": [
|
|
507
|
+
"format"
|
|
508
|
+
],
|
|
509
|
+
"additionalProperties": false
|
|
510
|
+
},
|
|
511
|
+
"git_stash_list": {
|
|
512
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
513
|
+
"type": "object",
|
|
514
|
+
"properties": {
|
|
515
|
+
"workspaceRoot": {
|
|
516
|
+
"description": "Highest-priority override.",
|
|
517
|
+
"type": "string"
|
|
518
|
+
},
|
|
519
|
+
"rootIndex": {
|
|
520
|
+
"description": "0-based index into the MCP file roots list; ignored when workspaceRoot is set.",
|
|
521
|
+
"type": "integer",
|
|
522
|
+
"minimum": 0,
|
|
523
|
+
"maximum": 9007199254740991
|
|
524
|
+
},
|
|
525
|
+
"format": {
|
|
526
|
+
"default": "markdown",
|
|
527
|
+
"type": "string",
|
|
528
|
+
"enum": [
|
|
529
|
+
"markdown",
|
|
530
|
+
"json"
|
|
531
|
+
]
|
|
532
|
+
}
|
|
533
|
+
},
|
|
534
|
+
"required": [
|
|
535
|
+
"format"
|
|
536
|
+
],
|
|
537
|
+
"additionalProperties": false
|
|
538
|
+
},
|
|
539
|
+
"git_fetch": {
|
|
540
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
541
|
+
"type": "object",
|
|
542
|
+
"properties": {
|
|
543
|
+
"workspaceRoot": {
|
|
544
|
+
"description": "Highest-priority override.",
|
|
545
|
+
"type": "string"
|
|
546
|
+
},
|
|
547
|
+
"rootIndex": {
|
|
548
|
+
"description": "0-based index into the MCP file roots list; ignored when workspaceRoot is set.",
|
|
549
|
+
"type": "integer",
|
|
550
|
+
"minimum": 0,
|
|
551
|
+
"maximum": 9007199254740991
|
|
552
|
+
},
|
|
553
|
+
"format": {
|
|
554
|
+
"default": "markdown",
|
|
555
|
+
"type": "string",
|
|
556
|
+
"enum": [
|
|
557
|
+
"markdown",
|
|
558
|
+
"json"
|
|
559
|
+
]
|
|
560
|
+
},
|
|
561
|
+
"remote": {
|
|
562
|
+
"default": "origin",
|
|
563
|
+
"description": "Remote to fetch from (default: origin).",
|
|
564
|
+
"type": "string"
|
|
565
|
+
},
|
|
566
|
+
"branch": {
|
|
567
|
+
"description": "If specified: fetch only this branch (e.g. 'main').",
|
|
568
|
+
"type": "string"
|
|
569
|
+
},
|
|
570
|
+
"prune": {
|
|
571
|
+
"default": false,
|
|
572
|
+
"description": "Pass --prune to remove deleted remote branches (default: false).",
|
|
573
|
+
"type": "boolean"
|
|
574
|
+
},
|
|
575
|
+
"tags": {
|
|
576
|
+
"default": false,
|
|
577
|
+
"description": "Pass --tags to also fetch all tags (default: false).",
|
|
578
|
+
"type": "boolean"
|
|
579
|
+
}
|
|
580
|
+
},
|
|
581
|
+
"required": [
|
|
582
|
+
"format",
|
|
583
|
+
"remote",
|
|
584
|
+
"prune",
|
|
585
|
+
"tags"
|
|
586
|
+
],
|
|
587
|
+
"additionalProperties": false
|
|
588
|
+
},
|
|
589
|
+
"batch_commit": {
|
|
590
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
591
|
+
"type": "object",
|
|
592
|
+
"properties": {
|
|
593
|
+
"workspaceRoot": {
|
|
594
|
+
"description": "Highest-priority override.",
|
|
595
|
+
"type": "string"
|
|
596
|
+
},
|
|
597
|
+
"rootIndex": {
|
|
598
|
+
"description": "0-based index into the MCP file roots list; ignored when workspaceRoot is set.",
|
|
599
|
+
"type": "integer",
|
|
600
|
+
"minimum": 0,
|
|
601
|
+
"maximum": 9007199254740991
|
|
602
|
+
},
|
|
603
|
+
"allWorkspaceRoots": {
|
|
604
|
+
"default": false,
|
|
605
|
+
"description": "Fan out across all MCP file roots.",
|
|
606
|
+
"type": "boolean"
|
|
607
|
+
},
|
|
608
|
+
"format": {
|
|
609
|
+
"default": "markdown",
|
|
610
|
+
"type": "string",
|
|
611
|
+
"enum": [
|
|
612
|
+
"markdown",
|
|
613
|
+
"json"
|
|
614
|
+
]
|
|
615
|
+
},
|
|
616
|
+
"commits": {
|
|
617
|
+
"minItems": 1,
|
|
618
|
+
"maxItems": 50,
|
|
619
|
+
"type": "array",
|
|
620
|
+
"items": {
|
|
621
|
+
"type": "object",
|
|
622
|
+
"properties": {
|
|
623
|
+
"message": {
|
|
624
|
+
"type": "string",
|
|
625
|
+
"minLength": 1,
|
|
626
|
+
"description": "Commit message."
|
|
627
|
+
},
|
|
628
|
+
"files": {
|
|
629
|
+
"minItems": 1,
|
|
630
|
+
"type": "array",
|
|
631
|
+
"items": {
|
|
632
|
+
"anyOf": [
|
|
633
|
+
{
|
|
634
|
+
"type": "string",
|
|
635
|
+
"minLength": 1
|
|
636
|
+
},
|
|
637
|
+
{
|
|
638
|
+
"type": "object",
|
|
639
|
+
"properties": {
|
|
640
|
+
"path": {
|
|
641
|
+
"type": "string",
|
|
642
|
+
"minLength": 1,
|
|
643
|
+
"description": "File path relative to git root."
|
|
644
|
+
},
|
|
645
|
+
"lines": {
|
|
646
|
+
"type": "object",
|
|
647
|
+
"properties": {
|
|
648
|
+
"from": {
|
|
649
|
+
"type": "integer",
|
|
650
|
+
"minimum": 1,
|
|
651
|
+
"maximum": 9007199254740991,
|
|
652
|
+
"description": "Start line number (1-indexed)."
|
|
653
|
+
},
|
|
654
|
+
"to": {
|
|
655
|
+
"type": "integer",
|
|
656
|
+
"minimum": 1,
|
|
657
|
+
"maximum": 9007199254740991,
|
|
658
|
+
"description": "End line number (1-indexed, inclusive)."
|
|
659
|
+
}
|
|
660
|
+
},
|
|
661
|
+
"required": [
|
|
662
|
+
"from",
|
|
663
|
+
"to"
|
|
664
|
+
],
|
|
665
|
+
"additionalProperties": false,
|
|
666
|
+
"description": "Line range to stage. Only hunks overlapping [from, to] are staged."
|
|
667
|
+
}
|
|
668
|
+
},
|
|
669
|
+
"required": [
|
|
670
|
+
"path",
|
|
671
|
+
"lines"
|
|
672
|
+
],
|
|
673
|
+
"additionalProperties": false
|
|
674
|
+
}
|
|
675
|
+
]
|
|
676
|
+
},
|
|
677
|
+
"description": "Paths to stage, relative to the git root. Each can be a string path or { path, lines } for hunk-level staging."
|
|
678
|
+
}
|
|
679
|
+
},
|
|
680
|
+
"required": [
|
|
681
|
+
"message",
|
|
682
|
+
"files"
|
|
683
|
+
],
|
|
684
|
+
"additionalProperties": false
|
|
685
|
+
},
|
|
686
|
+
"description": "Commits to create, applied in order."
|
|
687
|
+
},
|
|
688
|
+
"push": {
|
|
689
|
+
"default": "never",
|
|
690
|
+
"description": "`never` (default): no push. `after`: push the current branch to its upstream once all commits succeed; fails with `push_no_upstream` if the branch has no upstream (commits are NOT rolled back). Enum reserved for future modes such as `force-with-lease`.",
|
|
691
|
+
"type": "string",
|
|
692
|
+
"enum": [
|
|
693
|
+
"never",
|
|
694
|
+
"after"
|
|
695
|
+
]
|
|
696
|
+
},
|
|
697
|
+
"dryRun": {
|
|
698
|
+
"default": false,
|
|
699
|
+
"description": "When true, stage files, collect preview (files staged, commit messages), return preview response without writing commits. Unstages any files that were staged for the preview. Response indicates DRY RUN mode.",
|
|
700
|
+
"type": "boolean"
|
|
701
|
+
}
|
|
702
|
+
},
|
|
703
|
+
"required": [
|
|
704
|
+
"allWorkspaceRoots",
|
|
705
|
+
"format",
|
|
706
|
+
"commits",
|
|
707
|
+
"push",
|
|
708
|
+
"dryRun"
|
|
709
|
+
],
|
|
710
|
+
"additionalProperties": false
|
|
711
|
+
},
|
|
712
|
+
"git_push": {
|
|
713
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
714
|
+
"type": "object",
|
|
715
|
+
"properties": {
|
|
716
|
+
"workspaceRoot": {
|
|
717
|
+
"description": "Highest-priority override.",
|
|
718
|
+
"type": "string"
|
|
719
|
+
},
|
|
720
|
+
"rootIndex": {
|
|
721
|
+
"description": "0-based index into the MCP file roots list; ignored when workspaceRoot is set.",
|
|
722
|
+
"type": "integer",
|
|
723
|
+
"minimum": 0,
|
|
724
|
+
"maximum": 9007199254740991
|
|
725
|
+
},
|
|
726
|
+
"allWorkspaceRoots": {
|
|
727
|
+
"default": false,
|
|
728
|
+
"description": "Fan out across all MCP file roots.",
|
|
729
|
+
"type": "boolean"
|
|
730
|
+
},
|
|
731
|
+
"format": {
|
|
732
|
+
"default": "markdown",
|
|
733
|
+
"type": "string",
|
|
734
|
+
"enum": [
|
|
735
|
+
"markdown",
|
|
736
|
+
"json"
|
|
737
|
+
]
|
|
738
|
+
},
|
|
739
|
+
"remote": {
|
|
740
|
+
"description": "Remote to push to. Defaults to the remote inferred from the current upstream tracking ref, or `origin` when `setUpstream` is true.",
|
|
741
|
+
"type": "string"
|
|
742
|
+
},
|
|
743
|
+
"branch": {
|
|
744
|
+
"description": "Branch to push. Defaults to the currently checked-out branch. Rejected when HEAD is detached.",
|
|
745
|
+
"type": "string"
|
|
746
|
+
},
|
|
747
|
+
"setUpstream": {
|
|
748
|
+
"default": false,
|
|
749
|
+
"description": "Set the upstream tracking reference (`git push -u`). Use when the branch has not been pushed yet. Remote defaults to `origin`.",
|
|
750
|
+
"type": "boolean"
|
|
751
|
+
}
|
|
752
|
+
},
|
|
753
|
+
"required": [
|
|
754
|
+
"allWorkspaceRoots",
|
|
755
|
+
"format",
|
|
756
|
+
"setUpstream"
|
|
757
|
+
],
|
|
758
|
+
"additionalProperties": false
|
|
759
|
+
},
|
|
760
|
+
"git_merge": {
|
|
761
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
762
|
+
"type": "object",
|
|
763
|
+
"properties": {
|
|
764
|
+
"workspaceRoot": {
|
|
765
|
+
"description": "Highest-priority override.",
|
|
766
|
+
"type": "string"
|
|
767
|
+
},
|
|
768
|
+
"rootIndex": {
|
|
769
|
+
"description": "0-based index into the MCP file roots list; ignored when workspaceRoot is set.",
|
|
770
|
+
"type": "integer",
|
|
771
|
+
"minimum": 0,
|
|
772
|
+
"maximum": 9007199254740991
|
|
773
|
+
},
|
|
774
|
+
"allWorkspaceRoots": {
|
|
775
|
+
"default": false,
|
|
776
|
+
"description": "Fan out across all MCP file roots.",
|
|
777
|
+
"type": "boolean"
|
|
778
|
+
},
|
|
779
|
+
"format": {
|
|
780
|
+
"default": "markdown",
|
|
781
|
+
"type": "string",
|
|
782
|
+
"enum": [
|
|
783
|
+
"markdown",
|
|
784
|
+
"json"
|
|
785
|
+
]
|
|
786
|
+
},
|
|
787
|
+
"sources": {
|
|
788
|
+
"minItems": 1,
|
|
789
|
+
"maxItems": 20,
|
|
790
|
+
"type": "array",
|
|
791
|
+
"items": {
|
|
792
|
+
"type": "string",
|
|
793
|
+
"minLength": 1
|
|
794
|
+
},
|
|
795
|
+
"description": "Branches to merge into the destination, in order."
|
|
796
|
+
},
|
|
797
|
+
"into": {
|
|
798
|
+
"description": "Destination branch. Defaults to the currently checked-out branch.",
|
|
799
|
+
"type": "string"
|
|
800
|
+
},
|
|
801
|
+
"strategy": {
|
|
802
|
+
"default": "auto",
|
|
803
|
+
"description": "`auto` (default): cascade fast-forward → rebase → merge-commit per source. `ff-only`: only fast-forward, fail if diverged. `rebase`: rebase source onto destination, then fast-forward (no merge-commit fallback). `merge`: always create a merge commit (no fast-forward).",
|
|
804
|
+
"type": "string",
|
|
805
|
+
"enum": [
|
|
806
|
+
"auto",
|
|
807
|
+
"ff-only",
|
|
808
|
+
"rebase",
|
|
809
|
+
"merge"
|
|
810
|
+
]
|
|
811
|
+
},
|
|
812
|
+
"message": {
|
|
813
|
+
"description": "Merge commit message (used only when a merge commit is created).",
|
|
814
|
+
"type": "string"
|
|
815
|
+
},
|
|
816
|
+
"deleteMergedBranches": {
|
|
817
|
+
"default": false,
|
|
818
|
+
"description": "After all sources merge cleanly, delete each source branch locally (`git branch -d`). Protected names always skipped. Never affects remote branches.",
|
|
819
|
+
"type": "boolean"
|
|
820
|
+
},
|
|
821
|
+
"deleteMergedWorktrees": {
|
|
822
|
+
"default": false,
|
|
823
|
+
"description": "After all sources merge cleanly, remove any local worktree currently checked out on a source branch (`git worktree remove`). Protected tails always skipped.",
|
|
824
|
+
"type": "boolean"
|
|
825
|
+
}
|
|
826
|
+
},
|
|
827
|
+
"required": [
|
|
828
|
+
"allWorkspaceRoots",
|
|
829
|
+
"format",
|
|
830
|
+
"sources",
|
|
831
|
+
"strategy",
|
|
832
|
+
"deleteMergedBranches",
|
|
833
|
+
"deleteMergedWorktrees"
|
|
834
|
+
],
|
|
835
|
+
"additionalProperties": false
|
|
836
|
+
},
|
|
837
|
+
"git_cherry_pick": {
|
|
838
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
839
|
+
"type": "object",
|
|
840
|
+
"properties": {
|
|
841
|
+
"workspaceRoot": {
|
|
842
|
+
"description": "Highest-priority override.",
|
|
843
|
+
"type": "string"
|
|
844
|
+
},
|
|
845
|
+
"rootIndex": {
|
|
846
|
+
"description": "0-based index into the MCP file roots list; ignored when workspaceRoot is set.",
|
|
847
|
+
"type": "integer",
|
|
848
|
+
"minimum": 0,
|
|
849
|
+
"maximum": 9007199254740991
|
|
850
|
+
},
|
|
851
|
+
"allWorkspaceRoots": {
|
|
852
|
+
"default": false,
|
|
853
|
+
"description": "Fan out across all MCP file roots.",
|
|
854
|
+
"type": "boolean"
|
|
855
|
+
},
|
|
856
|
+
"format": {
|
|
857
|
+
"default": "markdown",
|
|
858
|
+
"type": "string",
|
|
859
|
+
"enum": [
|
|
860
|
+
"markdown",
|
|
861
|
+
"json"
|
|
862
|
+
]
|
|
863
|
+
},
|
|
864
|
+
"sources": {
|
|
865
|
+
"minItems": 1,
|
|
866
|
+
"maxItems": 50,
|
|
867
|
+
"type": "array",
|
|
868
|
+
"items": {
|
|
869
|
+
"type": "string",
|
|
870
|
+
"minLength": 1
|
|
871
|
+
},
|
|
872
|
+
"description": "Sources to cherry-pick: SHA, `A..B` range, or branch name. Branch sources resolve to `onto..<branch>` (only commits missing from destination)."
|
|
873
|
+
},
|
|
874
|
+
"onto": {
|
|
875
|
+
"description": "Destination branch. Defaults to the currently checked-out branch.",
|
|
876
|
+
"type": "string"
|
|
877
|
+
},
|
|
878
|
+
"deleteMergedBranches": {
|
|
879
|
+
"default": false,
|
|
880
|
+
"description": "After all commits apply, delete each branch-kind source locally (`git branch -d`) when it is fully merged into the destination. Protected names always skipped; never touches remote refs.",
|
|
881
|
+
"type": "boolean"
|
|
882
|
+
},
|
|
883
|
+
"deleteMergedWorktrees": {
|
|
884
|
+
"default": false,
|
|
885
|
+
"description": "After success, remove any local worktree attached to a branch-kind source (`git worktree remove`). Protected tails always skipped.",
|
|
886
|
+
"type": "boolean"
|
|
887
|
+
}
|
|
888
|
+
},
|
|
889
|
+
"required": [
|
|
890
|
+
"allWorkspaceRoots",
|
|
891
|
+
"format",
|
|
892
|
+
"sources",
|
|
893
|
+
"deleteMergedBranches",
|
|
894
|
+
"deleteMergedWorktrees"
|
|
895
|
+
],
|
|
896
|
+
"additionalProperties": false
|
|
897
|
+
},
|
|
898
|
+
"git_reset_soft": {
|
|
899
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
900
|
+
"type": "object",
|
|
901
|
+
"properties": {
|
|
902
|
+
"workspaceRoot": {
|
|
903
|
+
"description": "Highest-priority override.",
|
|
904
|
+
"type": "string"
|
|
905
|
+
},
|
|
906
|
+
"rootIndex": {
|
|
907
|
+
"description": "0-based index into the MCP file roots list; ignored when workspaceRoot is set.",
|
|
908
|
+
"type": "integer",
|
|
909
|
+
"minimum": 0,
|
|
910
|
+
"maximum": 9007199254740991
|
|
911
|
+
},
|
|
912
|
+
"allWorkspaceRoots": {
|
|
913
|
+
"default": false,
|
|
914
|
+
"description": "Fan out across all MCP file roots.",
|
|
915
|
+
"type": "boolean"
|
|
916
|
+
},
|
|
917
|
+
"format": {
|
|
918
|
+
"default": "markdown",
|
|
919
|
+
"type": "string",
|
|
920
|
+
"enum": [
|
|
921
|
+
"markdown",
|
|
922
|
+
"json"
|
|
923
|
+
]
|
|
924
|
+
},
|
|
925
|
+
"ref": {
|
|
926
|
+
"type": "string",
|
|
927
|
+
"minLength": 1,
|
|
928
|
+
"description": "Commit to reset to. Accepts ancestor notation (`HEAD~1`, `HEAD~3`), branch names, or full SHAs."
|
|
929
|
+
}
|
|
930
|
+
},
|
|
931
|
+
"required": [
|
|
932
|
+
"allWorkspaceRoots",
|
|
933
|
+
"format",
|
|
934
|
+
"ref"
|
|
935
|
+
],
|
|
936
|
+
"additionalProperties": false
|
|
937
|
+
},
|
|
938
|
+
"git_tag": {
|
|
939
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
940
|
+
"type": "object",
|
|
941
|
+
"properties": {
|
|
942
|
+
"workspaceRoot": {
|
|
943
|
+
"description": "Highest-priority override.",
|
|
944
|
+
"type": "string"
|
|
945
|
+
},
|
|
946
|
+
"rootIndex": {
|
|
947
|
+
"description": "0-based index into the MCP file roots list; ignored when workspaceRoot is set.",
|
|
948
|
+
"type": "integer",
|
|
949
|
+
"minimum": 0,
|
|
950
|
+
"maximum": 9007199254740991
|
|
951
|
+
},
|
|
952
|
+
"format": {
|
|
953
|
+
"default": "markdown",
|
|
954
|
+
"type": "string",
|
|
955
|
+
"enum": [
|
|
956
|
+
"markdown",
|
|
957
|
+
"json"
|
|
958
|
+
]
|
|
959
|
+
},
|
|
960
|
+
"tag": {
|
|
961
|
+
"type": "string",
|
|
962
|
+
"minLength": 1,
|
|
963
|
+
"description": "Tag name (e.g. 'v1.2.3')."
|
|
964
|
+
},
|
|
965
|
+
"message": {
|
|
966
|
+
"description": "If provided, create an annotated tag with this message. If absent, create a lightweight tag.",
|
|
967
|
+
"type": "string"
|
|
968
|
+
},
|
|
969
|
+
"ref": {
|
|
970
|
+
"description": "Commit/ref to tag (default: HEAD). Ignored if `delete` is true.",
|
|
971
|
+
"type": "string"
|
|
972
|
+
},
|
|
973
|
+
"delete": {
|
|
974
|
+
"default": false,
|
|
975
|
+
"description": "If true, delete the named tag instead of creating it.",
|
|
976
|
+
"type": "boolean"
|
|
977
|
+
}
|
|
978
|
+
},
|
|
979
|
+
"required": [
|
|
980
|
+
"format",
|
|
981
|
+
"tag",
|
|
982
|
+
"delete"
|
|
983
|
+
],
|
|
984
|
+
"additionalProperties": false
|
|
985
|
+
},
|
|
986
|
+
"git_worktree_add": {
|
|
987
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
988
|
+
"type": "object",
|
|
989
|
+
"properties": {
|
|
990
|
+
"workspaceRoot": {
|
|
991
|
+
"description": "Highest-priority override.",
|
|
992
|
+
"type": "string"
|
|
993
|
+
},
|
|
994
|
+
"rootIndex": {
|
|
995
|
+
"description": "0-based index into the MCP file roots list; ignored when workspaceRoot is set.",
|
|
996
|
+
"type": "integer",
|
|
997
|
+
"minimum": 0,
|
|
998
|
+
"maximum": 9007199254740991
|
|
999
|
+
},
|
|
1000
|
+
"allWorkspaceRoots": {
|
|
1001
|
+
"default": false,
|
|
1002
|
+
"description": "Fan out across all MCP file roots.",
|
|
1003
|
+
"type": "boolean"
|
|
1004
|
+
},
|
|
1005
|
+
"format": {
|
|
1006
|
+
"default": "markdown",
|
|
1007
|
+
"type": "string",
|
|
1008
|
+
"enum": [
|
|
1009
|
+
"markdown",
|
|
1010
|
+
"json"
|
|
1011
|
+
]
|
|
1012
|
+
},
|
|
1013
|
+
"path": {
|
|
1014
|
+
"type": "string",
|
|
1015
|
+
"minLength": 1,
|
|
1016
|
+
"description": "Filesystem path for the new worktree. Relative paths are resolved from the git toplevel."
|
|
1017
|
+
},
|
|
1018
|
+
"branch": {
|
|
1019
|
+
"type": "string",
|
|
1020
|
+
"minLength": 1,
|
|
1021
|
+
"description": "Branch to check out in the new worktree. Created from `baseRef` if absent."
|
|
1022
|
+
},
|
|
1023
|
+
"baseRef": {
|
|
1024
|
+
"description": "Commit-ish to base the new branch on when it does not yet exist. Default: HEAD.",
|
|
1025
|
+
"type": "string"
|
|
1026
|
+
}
|
|
1027
|
+
},
|
|
1028
|
+
"required": [
|
|
1029
|
+
"allWorkspaceRoots",
|
|
1030
|
+
"format",
|
|
1031
|
+
"path",
|
|
1032
|
+
"branch"
|
|
1033
|
+
],
|
|
1034
|
+
"additionalProperties": false
|
|
1035
|
+
},
|
|
1036
|
+
"git_worktree_remove": {
|
|
1037
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
1038
|
+
"type": "object",
|
|
1039
|
+
"properties": {
|
|
1040
|
+
"workspaceRoot": {
|
|
1041
|
+
"description": "Highest-priority override.",
|
|
1042
|
+
"type": "string"
|
|
1043
|
+
},
|
|
1044
|
+
"rootIndex": {
|
|
1045
|
+
"description": "0-based index into the MCP file roots list; ignored when workspaceRoot is set.",
|
|
1046
|
+
"type": "integer",
|
|
1047
|
+
"minimum": 0,
|
|
1048
|
+
"maximum": 9007199254740991
|
|
1049
|
+
},
|
|
1050
|
+
"allWorkspaceRoots": {
|
|
1051
|
+
"default": false,
|
|
1052
|
+
"description": "Fan out across all MCP file roots.",
|
|
1053
|
+
"type": "boolean"
|
|
1054
|
+
},
|
|
1055
|
+
"format": {
|
|
1056
|
+
"default": "markdown",
|
|
1057
|
+
"type": "string",
|
|
1058
|
+
"enum": [
|
|
1059
|
+
"markdown",
|
|
1060
|
+
"json"
|
|
1061
|
+
]
|
|
1062
|
+
},
|
|
1063
|
+
"path": {
|
|
1064
|
+
"type": "string",
|
|
1065
|
+
"minLength": 1,
|
|
1066
|
+
"description": "Path of the worktree to remove. Must not be the main worktree."
|
|
1067
|
+
},
|
|
1068
|
+
"force": {
|
|
1069
|
+
"default": false,
|
|
1070
|
+
"description": "Pass `--force` to allow removal of worktrees with uncommitted changes.",
|
|
1071
|
+
"type": "boolean"
|
|
1072
|
+
}
|
|
1073
|
+
},
|
|
1074
|
+
"required": [
|
|
1075
|
+
"allWorkspaceRoots",
|
|
1076
|
+
"format",
|
|
1077
|
+
"path",
|
|
1078
|
+
"force"
|
|
1079
|
+
],
|
|
1080
|
+
"additionalProperties": false
|
|
1081
|
+
},
|
|
1082
|
+
"git_stash_apply": {
|
|
1083
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
1084
|
+
"type": "object",
|
|
1085
|
+
"properties": {
|
|
1086
|
+
"workspaceRoot": {
|
|
1087
|
+
"description": "Highest-priority override.",
|
|
1088
|
+
"type": "string"
|
|
1089
|
+
},
|
|
1090
|
+
"rootIndex": {
|
|
1091
|
+
"description": "0-based index into the MCP file roots list; ignored when workspaceRoot is set.",
|
|
1092
|
+
"type": "integer",
|
|
1093
|
+
"minimum": 0,
|
|
1094
|
+
"maximum": 9007199254740991
|
|
1095
|
+
},
|
|
1096
|
+
"format": {
|
|
1097
|
+
"default": "markdown",
|
|
1098
|
+
"type": "string",
|
|
1099
|
+
"enum": [
|
|
1100
|
+
"markdown",
|
|
1101
|
+
"json"
|
|
1102
|
+
]
|
|
1103
|
+
},
|
|
1104
|
+
"index": {
|
|
1105
|
+
"default": 0,
|
|
1106
|
+
"description": "Stash index (defaults to 0 for stash@{0}).",
|
|
1107
|
+
"type": "integer",
|
|
1108
|
+
"minimum": 0,
|
|
1109
|
+
"maximum": 9007199254740991
|
|
1110
|
+
},
|
|
1111
|
+
"pop": {
|
|
1112
|
+
"default": false,
|
|
1113
|
+
"description": "If true, runs `git stash pop` instead of `git stash apply` (removes stash after applying).",
|
|
1114
|
+
"type": "boolean"
|
|
1115
|
+
}
|
|
1116
|
+
},
|
|
1117
|
+
"required": [
|
|
1118
|
+
"format",
|
|
1119
|
+
"index",
|
|
1120
|
+
"pop"
|
|
1121
|
+
],
|
|
1122
|
+
"additionalProperties": false
|
|
1123
|
+
}
|
|
1124
|
+
}
|
|
1125
|
+
}
|