@zereight/mcp-gitlab 2.0.25 → 2.0.30
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 +40 -0
- package/build/index.js +520 -136
- package/build/schemas.js +268 -90
- package/build/test/test-download-attachment.js +144 -0
- package/build/test/test-toolset-filtering.js +451 -0
- package/build/test-resolve-issue-note.js +127 -0
- package/package.json +3 -2
package/README.md
CHANGED
|
@@ -356,6 +356,46 @@ docker run -i --rm \
|
|
|
356
356
|
- `USE_GITLAB_WIKI`: When set to 'true', enables the wiki-related tools (list_wiki_pages, get_wiki_page, create_wiki_page, update_wiki_page, delete_wiki_page). By default, wiki features are disabled.
|
|
357
357
|
- `USE_MILESTONE`: When set to 'true', enables the milestone-related tools (list_milestones, get_milestone, create_milestone, edit_milestone, delete_milestone, get_milestone_issue, get_milestone_merge_requests, promote_milestone, get_milestone_burndown_events). By default, milestone features are disabled.
|
|
358
358
|
- `USE_PIPELINE`: When set to 'true', enables the pipeline-related tools (list_pipelines, get_pipeline, list_pipeline_jobs, list_pipeline_trigger_jobs, get_pipeline_job, get_pipeline_job_output, create_pipeline, retry_pipeline, cancel_pipeline, play_pipeline_job, retry_pipeline_job, cancel_pipeline_job). By default, pipeline features are disabled.
|
|
359
|
+
- `GITLAB_TOOLSETS`: Comma-separated list of toolset IDs to enable. When empty or unset, default toolsets are used. Set to `"all"` to enable every toolset. Available toolsets (default toolsets marked with `*`):
|
|
360
|
+
- `merge_requests`\* — MR operations, notes, discussions, draft notes, threads (31 tools)
|
|
361
|
+
- `issues`\* — Issue CRUD, notes, links, discussions (14 tools)
|
|
362
|
+
- `repositories`\* — Search, create, file contents, push, fork, tree (7 tools)
|
|
363
|
+
- `branches`\* — Branch creation, commits, diffs (4 tools)
|
|
364
|
+
- `projects`\* — Project/namespace info, group projects, iterations (8 tools)
|
|
365
|
+
- `labels`\* — Label CRUD (5 tools)
|
|
366
|
+
- `pipelines` — Pipeline and job operations (12 tools)
|
|
367
|
+
- `milestones` — Milestone CRUD, issues, MRs, burndown (9 tools)
|
|
368
|
+
- `wiki` — Wiki page CRUD (5 tools)
|
|
369
|
+
- `releases`\* — Release CRUD, evidence, asset download (7 tools)
|
|
370
|
+
- `users`\* — User info, events, markdown upload, attachments (5 tools)
|
|
371
|
+
|
|
372
|
+
Note: `execute_graphql` is not in any toolset and must be added individually via `GITLAB_TOOLS` if needed.
|
|
373
|
+
Exposing arbitrary GraphQL would allow bypassing toolset boundaries (e.g. querying data that the user intentionally disabled via toolsets like wiki or pipelines), which is a security and permission-containment concern. Keeping `execute_graphql` out of all toolsets and requiring explicit opt-in via `GITLAB_TOOLS=execute_graphql` is intentional, to align with that principle rather than for backward compatibility.
|
|
374
|
+
CLI arg: `--toolsets`
|
|
375
|
+
- `GITLAB_TOOLS`: Comma-separated list of individual tool names to add on top of the enabled toolsets (additive). Useful for cherry-picking specific tools without enabling an entire toolset. Example: `GITLAB_TOOLS="list_pipelines,execute_graphql"`. CLI arg: `--tools`
|
|
376
|
+
|
|
377
|
+
Combined logic: `final tools = (tools from enabled toolsets) ∪ (GITLAB_TOOLS) ∪ (legacy flag overrides)`
|
|
378
|
+
|
|
379
|
+
Examples:
|
|
380
|
+
```bash
|
|
381
|
+
# Default behavior (unchanged)
|
|
382
|
+
GITLAB_PERSONAL_ACCESS_TOKEN=xxx npx @zereight/mcp-gitlab
|
|
383
|
+
|
|
384
|
+
# Only issues and repositories
|
|
385
|
+
GITLAB_TOOLSETS="issues,repositories" npx @zereight/mcp-gitlab
|
|
386
|
+
|
|
387
|
+
# All toolsets
|
|
388
|
+
GITLAB_TOOLSETS="all" npx @zereight/mcp-gitlab
|
|
389
|
+
|
|
390
|
+
# Default toolsets + one extra pipeline tool
|
|
391
|
+
GITLAB_TOOLS="list_pipelines" npx @zereight/mcp-gitlab
|
|
392
|
+
|
|
393
|
+
# Specific toolsets + individual tools
|
|
394
|
+
GITLAB_TOOLSETS="issues,merge_requests" GITLAB_TOOLS="list_pipelines,get_pipeline" npx @zereight/mcp-gitlab
|
|
395
|
+
|
|
396
|
+
# Legacy flags still work (backward compatible)
|
|
397
|
+
USE_PIPELINE=true npx @zereight/mcp-gitlab
|
|
398
|
+
```
|
|
359
399
|
- `GITLAB_AUTH_COOKIE_PATH`: Path to an authentication cookie file for GitLab instances that require cookie-based authentication. When provided, the cookie will be included in all GitLab API requests.
|
|
360
400
|
- `SSE`: When set to 'true', enables the Server-Sent Events transport.
|
|
361
401
|
- `STREAMABLE_HTTP`: When set to 'true', enables the Streamable HTTP transport. If both **SSE** and **STREAMABLE_HTTP** are set to 'true', the server will prioritize Streamable HTTP over SSE transport.
|