@zereight/mcp-gitlab 2.0.19 → 2.0.20

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
@@ -228,7 +228,7 @@ stdio_gitlab_mcp_client = MCPClient(
228
228
  "USE_MILESTONE",
229
229
  "-e",
230
230
  "USE_PIPELINE",
231
- "iwakitakuma/gitlab-mcp"
231
+ "zereight050/gitlab-mcp"
232
232
  ],
233
233
  "env": {
234
234
  "GITLAB_PERSONAL_ACCESS_TOKEN": "your_gitlab_token",
@@ -255,7 +255,7 @@ docker run -i --rm \
255
255
  -e USE_PIPELINE=true \
256
256
  -e SSE=true \
257
257
  -p 3333:3002 \
258
- iwakitakuma/gitlab-mcp
258
+ zereight050/gitlab-mcp
259
259
  ```
260
260
 
261
261
  ```json
@@ -281,7 +281,7 @@ docker run -i --rm \
281
281
  -e USE_PIPELINE=true \
282
282
  -e STREAMABLE_HTTP=true \
283
283
  -p 3333:3002 \
284
- iwakitakuma/gitlab-mcp
284
+ zereight050/gitlab-mcp
285
285
  ```
286
286
 
287
287
  ```json
@@ -367,7 +367,7 @@ docker run -d \
367
367
  -e GITLAB_READ_ONLY_MODE=true \
368
368
  -e SESSION_TIMEOUT_SECONDS=3600 \
369
369
  -p 3333:3002 \
370
- iwakitakuma/gitlab-mcp
370
+ zereight050/gitlab-mcp
371
371
  ```
372
372
 
373
373
  **Client Configuration:**
package/build/index.js CHANGED
@@ -5166,6 +5166,14 @@ async function startStreamableHTTPServer() {
5166
5166
  await handleRequest();
5167
5167
  }
5168
5168
  });
5169
+ // Reject unsupported methods on /mcp
5170
+ app.get("/mcp", (_req, res) => {
5171
+ res.setHeader("Allow", "POST, DELETE");
5172
+ res.status(405).json({
5173
+ error: "Method Not Allowed",
5174
+ message: "GET /mcp is not supported when STREAMABLE_HTTP is enabled. Use POST to communicate with the MCP server."
5175
+ });
5176
+ });
5169
5177
  // Metrics endpoint
5170
5178
  app.get("/metrics", (_req, res) => {
5171
5179
  res.json({
@@ -216,6 +216,12 @@ describe('GitLab MCP Server - Streamable HTTP Transport', () => {
216
216
  cleanup();
217
217
  console.log('Client disconnected from Streamable HTTP server');
218
218
  });
219
+ test('should return 405 for GET /mcp', async () => {
220
+ const response = await fetch(`http://${HOST}:${port}/mcp`);
221
+ assert.strictEqual(response.status, 405, 'GET /mcp should respond with 405');
222
+ const body = await response.json();
223
+ assert.strictEqual(body?.error, 'Method Not Allowed');
224
+ });
219
225
  test('should list tools via Streamable HTTP', async () => {
220
226
  const tools = await client.listTools();
221
227
  assert.ok(tools !== null && tools !== undefined, 'Tools response should be defined');
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@zereight/mcp-gitlab",
3
- "version": "2.0.19",
3
+ "version": "2.0.20",
4
4
  "description": "MCP server for using the GitLab API",
5
5
  "license": "MIT",
6
6
  "author": "zereight",
@@ -17,7 +17,8 @@
17
17
  "access": "public"
18
18
  },
19
19
  "engines": {
20
- "node": ">=14"
20
+ "node": ">=18.0.0",
21
+ "npm": ">=9.0.0"
21
22
  },
22
23
  "scripts": {
23
24
  "build": "tsc && node -e \"require('fs').chmodSync('build/index.js', '755')\"",