@rethunk/mcp-multi-root-git 2.8.0 → 2.9.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 +2 -2
- package/CHANGELOG.md +8 -0
- package/HUMANS.md +1 -1
- package/dist/server/batch-commit-tool.js +9 -14
- package/dist/server/git-branch-list-tool.js +2 -4
- package/dist/server/git-cherry-pick-tool.js +11 -21
- package/dist/server/git-diff-summary-tool.js +3 -4
- package/dist/server/git-diff-tool.js +8 -16
- package/dist/server/git-log-tool.js +8 -14
- package/dist/server/git-merge-tool.js +6 -10
- package/dist/server/git-reset-soft-tool.js +3 -6
- package/dist/server/git-stash-tool.js +3 -5
- package/dist/server/git-worktree-tool.js +6 -9
- package/dist/server/schemas.js +4 -4
- package/dist/server/tools.js +66 -25
- package/docs/install.md +1 -0
- package/docs/mcp-tools.md +2 -1
- package/package.json +9 -12
- package/tool-parameters.schema.json +94 -94
package/docs/mcp-tools.md
CHANGED
|
@@ -666,7 +666,7 @@ Do NOT do this: make two separate calls hoping to stage files incrementally. Tha
|
|
|
666
666
|
| Parameter | Type | Notes |
|
|
667
667
|
|-----------|------|-------|
|
|
668
668
|
| `commits` | `{message: string, files: (string \| {path: string, lines: {from: number, to: number}})[]}[]` | Commits to create in order. 1–50 entries. Each `files` entry is either: (a) a path relative to the git root, staged with `git add`; (b) a `{path, lines: {from, to}}` object for hunk-level staging — only unified-diff hunks overlapping the given 1-indexed line range are staged; or (c) a path to a **deleted tracked file** (missing on disk but tracked in HEAD), which is staged as a removal via `git rm --cached` — combining `{path, lines}` with a deleted file is an error. All paths must stay within the git toplevel. |
|
|
669
|
-
| `push` | `"never"` \| `"after"` | Default `"never"`. `"after"` pushes the current branch to its upstream **once all commits succeed**. Never auto-sets upstream — branches without an upstream fail with `push_no_upstream`. Commits are **not** rolled back on push failure.
|
|
669
|
+
| `push` | `"never"` \| `"after"` | Default `"never"`. `"after"` pushes the current branch to its upstream **once all commits succeed**. Never auto-sets upstream — branches without an upstream fail with `push_no_upstream`. Commits are **not** rolled back on push failure. |
|
|
670
670
|
| `dryRun` | boolean | Default `false`. When `true`, stages each entry, reports what would be committed (`staged`, `diffStat`), then unstages everything without writing commits. |
|
|
671
671
|
| `workspaceRoot` | string | Explicit root; highest priority. |
|
|
672
672
|
| `rootIndex` | int | Pick one of several MCP roots (0-based). |
|
|
@@ -1029,6 +1029,7 @@ For deletions, `type` is `"deleted"` and `sha` is an empty string.
|
|
|
1029
1029
|
|----------|---------|-------|
|
|
1030
1030
|
| `GIT_SUBPROCESS_PARALLELISM` | CPU-based | Max concurrent git subprocesses for multi-root fan-out (`git_inventory`, `git_parity`, multi-root `git_log`). |
|
|
1031
1031
|
| `GIT_SUBPROCESS_TIMEOUT_MS` | `120000` | Per-subprocess timeout in ms; on expiry the child is killed (SIGTERM) and the call resolves as failed. Set `0` (or negative) to disable (unbounded). |
|
|
1032
|
+
| `RETHUNK_GIT_TOOLS` | _(unset — all)_ | Comma-separated allowlist of exact tool names. Unset or empty → all 23 tools registered. Non-empty → only the listed tools; unknown names warned to stderr. If every listed name is unknown, zero tools are registered (restriction honored literally). The presets resource is always available. Example: `RETHUNK_GIT_TOOLS=git_status,git_diff_summary,git_diff,git_log,batch_commit,git_push`. |
|
|
1032
1033
|
|
|
1033
1034
|
## Resource
|
|
1034
1035
|
|
package/package.json
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rethunk/mcp-multi-root-git",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.9.0",
|
|
4
4
|
"description": "MCP stdio server: multi-root git status, inventory, and HEAD parity checks. Generic tools usable by any workspace.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"private": false,
|
|
7
|
-
"packageManager": "bun@1.3.
|
|
7
|
+
"packageManager": "bun@1.3.14",
|
|
8
8
|
"engines": {
|
|
9
9
|
"node": ">=22.0.0"
|
|
10
10
|
},
|
|
@@ -31,8 +31,6 @@
|
|
|
31
31
|
},
|
|
32
32
|
"scripts": {
|
|
33
33
|
"build": "rimraf dist && tsc",
|
|
34
|
-
"check": "biome check .",
|
|
35
|
-
"check:fix": "biome check --write .",
|
|
36
34
|
"coverage:check": "bun scripts/check-coverage.ts",
|
|
37
35
|
"schema:tools": "bun scripts/generate-tool-parameters-schema.ts",
|
|
38
36
|
"schema:tools:check": "bun scripts/generate-tool-parameters-schema.ts --check",
|
|
@@ -41,8 +39,12 @@
|
|
|
41
39
|
"publish:preflight": "bun scripts/publish-preflight.ts",
|
|
42
40
|
"test": "bun test src/",
|
|
43
41
|
"test:coverage": "bun test src/ --coverage",
|
|
44
|
-
"prepublishOnly": "bun run
|
|
45
|
-
"setup-hooks": "git config core.hooksPath .githooks"
|
|
42
|
+
"prepublishOnly": "bun run ci",
|
|
43
|
+
"setup-hooks": "git config core.hooksPath .githooks",
|
|
44
|
+
"lint": "biome check .",
|
|
45
|
+
"format": "biome check --write .",
|
|
46
|
+
"typecheck": "tsc --noEmit",
|
|
47
|
+
"ci": "bun run schema:tools:check && bun run lint && bun run typecheck && bun run test && bun run build"
|
|
46
48
|
},
|
|
47
49
|
"keywords": [
|
|
48
50
|
"mcp",
|
|
@@ -77,11 +79,6 @@
|
|
|
77
79
|
"overrides": {
|
|
78
80
|
"@hono/node-server": "^1.19.14",
|
|
79
81
|
"hono": "^4.12.18",
|
|
80
|
-
"fast-uri": "^3.1.2"
|
|
81
|
-
"postcss": "^8.5.10",
|
|
82
|
-
"vite": "^7.3.2",
|
|
83
|
-
"ip-address": "^10.1.1",
|
|
84
|
-
"axios": "^1.15.2",
|
|
85
|
-
"follow-redirects": "^1.15.12"
|
|
82
|
+
"fast-uri": "^3.1.2"
|
|
86
83
|
}
|
|
87
84
|
}
|