@cyanheads/git-mcp-server 2.1.5 → 2.1.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/README.md
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
# Git MCP Server
|
|
2
2
|
|
|
3
3
|
[](https://www.typescriptlang.org/)
|
|
4
|
-
[](https://modelcontextprotocol.io/)
|
|
5
|
+
[](./CHANGELOG.md)
|
|
6
6
|
[](https://opensource.org/licenses/Apache-2.0)
|
|
7
7
|
[](https://github.com/cyanheads/git-mcp-server/issues)
|
|
8
8
|
[](https://github.com/cyanheads/git-mcp-server)
|
|
@@ -76,9 +76,7 @@ export async function addGitFiles(input, context) {
|
|
|
76
76
|
}
|
|
77
77
|
throw new McpError(BaseErrorCode.VALIDATION_ERROR, `Invalid path: ${error instanceof Error ? error.message : String(error)}`, { context, operation, originalError: error });
|
|
78
78
|
}
|
|
79
|
-
const filesToStage = Array.isArray(input.files)
|
|
80
|
-
? input.files
|
|
81
|
-
: [input.files];
|
|
79
|
+
const filesToStage = Array.isArray(input.files) ? input.files : [input.files];
|
|
82
80
|
if (filesToStage.length === 0) {
|
|
83
81
|
filesToStage.push("."); // Default to staging all if array is empty
|
|
84
82
|
}
|
|
@@ -88,7 +88,9 @@ export async function gitShowLogic(input, context) {
|
|
|
88
88
|
}
|
|
89
89
|
try {
|
|
90
90
|
// Construct the refspec, combining ref and filePath if needed
|
|
91
|
-
const refSpec = input.filePath
|
|
91
|
+
const refSpec = input.filePath
|
|
92
|
+
? `${input.ref}:${input.filePath}`
|
|
93
|
+
: input.ref;
|
|
92
94
|
// Construct the command
|
|
93
95
|
const args = ["-C", targetPath, "show", refSpec];
|
|
94
96
|
logger.debug(`Executing command: git ${args.join(" ")}`, {
|
|
@@ -218,7 +218,13 @@ export async function getGitStatus(input, context) {
|
|
|
218
218
|
// This handles the case of an empty repo after init but before first commit
|
|
219
219
|
if (structuredResult.is_clean && !structuredResult.current_branch) {
|
|
220
220
|
try {
|
|
221
|
-
const branchArgs = [
|
|
221
|
+
const branchArgs = [
|
|
222
|
+
"-C",
|
|
223
|
+
targetPath,
|
|
224
|
+
"rev-parse",
|
|
225
|
+
"--abbrev-ref",
|
|
226
|
+
"HEAD",
|
|
227
|
+
];
|
|
222
228
|
const { stdout: branchStdout } = await execFileAsync("git", branchArgs);
|
|
223
229
|
const currentBranchName = branchStdout.trim(); // Renamed variable for clarity
|
|
224
230
|
if (currentBranchName && currentBranchName !== "HEAD") {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cyanheads/git-mcp-server",
|
|
3
|
-
"version": "2.1.
|
|
3
|
+
"version": "2.1.6",
|
|
4
4
|
"description": "An MCP (Model Context Protocol) server enabling LLMs and AI agents to interact with Git repositories. Provides tools for comprehensive Git operations including clone, commit, branch, diff, log, status, push, pull, merge, rebase, worktree, tag management, and more, via the MCP standard. STDIO & HTTP.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"files": [
|
|
@@ -36,15 +36,15 @@
|
|
|
36
36
|
},
|
|
37
37
|
"dependencies": {
|
|
38
38
|
"@hono/node-server": "^1.14.4",
|
|
39
|
-
"@modelcontextprotocol/sdk": "^1.13.
|
|
40
|
-
"@types/node": "^24.0.
|
|
39
|
+
"@modelcontextprotocol/sdk": "^1.13.2",
|
|
40
|
+
"@types/node": "^24.0.7",
|
|
41
41
|
"@types/sanitize-html": "^2.16.0",
|
|
42
42
|
"@types/validator": "^13.15.2",
|
|
43
43
|
"chrono-node": "2.8.0",
|
|
44
|
-
"dotenv": "^
|
|
45
|
-
"hono": "^4.8.
|
|
44
|
+
"dotenv": "^17.0.0",
|
|
45
|
+
"hono": "^4.8.3",
|
|
46
46
|
"jose": "^6.0.11",
|
|
47
|
-
"openai": "^5.
|
|
47
|
+
"openai": "^5.8.2",
|
|
48
48
|
"partial-json": "^0.1.7",
|
|
49
49
|
"sanitize-html": "^2.17.0",
|
|
50
50
|
"tiktoken": "^1.0.21",
|
|
@@ -52,7 +52,7 @@
|
|
|
52
52
|
"typescript": "^5.8.3",
|
|
53
53
|
"validator": "^13.15.15",
|
|
54
54
|
"winston": "^3.17.0",
|
|
55
|
-
"winston-transport": "^4.
|
|
55
|
+
"winston-transport": "^4.9.0",
|
|
56
56
|
"zod": "^3.25.67"
|
|
57
57
|
},
|
|
58
58
|
"keywords": [
|
|
@@ -105,8 +105,8 @@
|
|
|
105
105
|
"node": ">=20.0.0"
|
|
106
106
|
},
|
|
107
107
|
"devDependencies": {
|
|
108
|
-
"prettier": "^3.
|
|
109
|
-
"typedoc": "^0.28.
|
|
108
|
+
"prettier": "^3.6.2",
|
|
109
|
+
"typedoc": "^0.28.6"
|
|
110
110
|
},
|
|
111
111
|
"publishConfig": {
|
|
112
112
|
"access": "public"
|