Refactor GitLab MCP server implementation

- Removed gitlab-index.js and integrated its functionality into index.js.
- Updated server name to "gitlab-mcp-server" and version to "1.1.0".
- Enhanced GitLab API client with methods for creating, merging, retrieving, and closing merge requests.
- Added tools for handling merge requests with detailed input validation using Zod.
- Implemented command-line argument parsing for transport mode (stdio or http) and port configuration.
- Introduced Streamable HTTP transport for remote access and debugging.
- Updated package dependencies to the latest versions.
This commit is contained in:
zhangguoyun committed 2025-12-15 17:28:56 +08:00
1 parent 09d624a464
commit 347096b2e1
5 files changed
+1060 -663

No files matched your search

+35 -15
View File
@@ -1,17 +1,21 @@
{
"name": "my-nodejs-mcp-server",
"version": "1.0.0",
"name": "gitlab-mcp-server",
"version": "1.1.0",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "my-nodejs-mcp-server",
"version": "1.0.0",
"name": "gitlab-mcp-server",
"version": "1.1.0",
"license": "ISC",
"dependencies": {
"@modelcontextprotocol/sdk": "^1.22.0",
"@modelcontextprotocol/sdk": "^1.24.3",
"zod": "^3.25.76"
},
"bin": {
"gitlab-mcp": "index.js",
"gitlab-mcp-server": "index.js"
},
"devDependencies": {
"@modelcontextprotocol/inspector": "^0.17.2"
}
@@ -221,9 +225,10 @@
}
},
"node_modules/@modelcontextprotocol/sdk": {
"version": "1.22.0",
"resolved": "https://registry.npmmirror.com/@modelcontextprotocol/sdk/-/sdk-1.22.0.tgz",
"integrity": "sha512-VUpl106XVTCpDmTBil2ehgJZjhyLY2QZikzF8NvTXtLRF1CvO5iEE2UNZdVIUer35vFOwMKYeUGbjJtvPWan3g==",
"version": "1.24.3",
"resolved": "https://registry.npmmirror.com/@modelcontextprotocol/sdk/-/sdk-1.24.3.tgz",
"integrity": "sha512-YgSHW29fuzKKAHTGe9zjNoo+yF8KaQPzDC2W9Pv41E7/57IfY+AMGJ/aDFlgTLcVVELoggKE4syABCE75u3NCw==",
"license": "MIT",
"dependencies": {
"ajv": "^8.17.1",
"ajv-formats": "^3.0.1",
@@ -234,20 +239,25 @@
"eventsource-parser": "^3.0.0",
"express": "^5.0.1",
"express-rate-limit": "^7.5.0",
"jose": "^6.1.1",
"pkce-challenge": "^5.0.0",
"raw-body": "^3.0.0",
"zod": "^3.23.8",
"zod-to-json-schema": "^3.24.1"
"zod": "^3.25 || ^4.0",
"zod-to-json-schema": "^3.25.0"
},
"engines": {
"node": ">=18"
},
"peerDependencies": {
"@cfworker/json-schema": "^4.1.1"
"@cfworker/json-schema": "^4.1.1",
"zod": "^3.25 || ^4.0"
},
"peerDependenciesMeta": {
"@cfworker/json-schema": {
"optional": true
},
"zod": {
"optional": false
}
}
},
@@ -2178,6 +2188,15 @@
"resolved": "https://registry.npmmirror.com/isexe/-/isexe-2.0.0.tgz",
"integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw=="
},
"node_modules/jose": {
"version": "6.1.3",
"resolved": "https://registry.npmmirror.com/jose/-/jose-6.1.3.tgz",
"integrity": "sha512-0TpaTfihd4QMNwrz/ob2Bp7X04yuxJkjRGi4aKmOqwhov54i6u79oCv7T+C7lo70MKH6BesI3vscD1yb/yzKXQ==",
"license": "MIT",
"funding": {
"url": "https://github.com/sponsors/panva"
}
},
"node_modules/js-tokens": {
"version": "4.0.0",
"resolved": "https://registry.npmmirror.com/js-tokens/-/js-tokens-4.0.0.tgz",
@@ -3277,11 +3296,12 @@
}
},
"node_modules/zod-to-json-schema": {
"version": "3.24.6",
"resolved": "https://registry.npmmirror.com/zod-to-json-schema/-/zod-to-json-schema-3.24.6.tgz",
"integrity": "sha512-h/z3PKvcTcTetyjl1fkj79MHNEjm+HpD6NXheWjzOekY7kV+lwDYnHw+ivHkijnCSMz1yJaWBD9vu/Fcmk+vEg==",
"version": "3.25.0",
"resolved": "https://registry.npmmirror.com/zod-to-json-schema/-/zod-to-json-schema-3.25.0.tgz",
"integrity": "sha512-HvWtU2UG41LALjajJrML6uQejQhNJx+JBO9IflpSja4R03iNWfKXrj6W2h7ljuLyc1nKS+9yDyL/9tD1U/yBnQ==",
"license": "ISC",
"peerDependencies": {
"zod": "^3.24.1"
"zod": "^3.25 || ^4"
}
}
}