MCP server for GitLab issue and CI/CD management using the glab CLI.
Motivation
The official GitLab MCP (glab mcp serve) exposes 250+ tools, consuming significant context tokens (~25k) when used with Claude. This minimal MCP wrapper exposes only essential issue and CI/CD management tools (15 tools, ~6-8k tokens), reducing context usage by approximately 70%.
This server wraps the glab CLI to provide issue and CI/CD management functionality without the overhead of the full GitLab MCP toolset.
Requirements
- glab CLI installed and authenticated
- Node.js 22+
Installation
npm install @greenfinity/gitlab-mcp
Or run directly with npx:
npx @greenfinity/gitlab-mcp
Usage
With Claude Desktop
Add to your Claude Desktop configuration:
{
"mcpServers": {
"gitlab": {
"command": "npx",
"args": ["@greenfinity/gitlab-mcp"],
"env": {
"GITLAB_HOST": "gitlab.example.com"
}
}
}
}With Claude Code
Add to your ~/.claude.json:
{
"mcpServers": {
"gitlab": {
"type": "stdio",
"command": "node",
"args": ["/path/to/gitlab-mcp/src/Cli.bs.mjs"],
"env": {
"GITLAB_HOST": "gitlab.example.com"
}
}
}
}Supported Tools (15 total)
Issue Management (7 tools)
issue_list- List project issues with filters (state, labels, assignee, author, search)issue_view- View details of a specific issue by IDissue_create- Create a new issueissue_update- Update an existing issueissue_close- Close an issueissue_reopen- Reopen a closed issueissue_note- Add a comment/note to an issue
CI/CD Pipeline Management (5 tools)
pipeline_list- List CI/CD pipelines with filters (status, ref/branch)pipeline_view- View details of a specific pipeline including jobspipeline_create- Trigger a new pipeline runpipeline_cancel- Cancel a running pipelinepipeline_retry- Retry a failed pipeline
CI/CD Job Management (3 tools)
job_list- List jobs in a pipelinejob_view- View job details and log outputjob_retry- Retry a specific failed job
Why ReScript?
This package is implemented in ReScript, a functional language that compiles to JavaScript. ReScript offers a sound type system, excellent pattern matching, and produces clean, readable JavaScript output with no runtime overhead.
The compiled JavaScript is included in the npm package, so you can use this as a regular JavaScript module without any additional tooling.
Local Development
For local development:
# Install dependencies yarn install # Build the ReScript sources to JavaScript yarn build # Watch mode for development yarn rescript:dev
License
MIT