Skip to main content
Glama

中文版

Build Status Node Version License

Downloads npm version

mcp-gitlab MCP Server (English)

A GitLab integration server built on the fastmcp framework, providing various GitLab RESTful API tools. Supports integration with Claude, Smithery, and other platforms.

Features

  • GitlabSearchUserProjectsTool: Search users and their active projects by username

  • GitlabGetUserTasksTool: Get current user's pending tasks

  • GitlabSearchProjectDetailsTool: Search projects and details

  • GitlabCreateMRCommentTool: Add comments to merge requests

  • GitlabAcceptMRTool: Accept and merge merge requests

  • GitlabUpdateMRTool: Update merge request assignee, reviewers, title, description, and labels

  • GitlabCreateMRTool: Create a new merge request with assignee and reviewers

  • GitlabRawApiTool: Call any GitLab API with custom parameters

Related MCP server: gitlab-mcp-server

Quick Start

# Install dependencies bun install # Build the project bun run build # Start the server bun run start

Environment Variables

GITLAB_API_URL=https://your-gitlab-instance.com GITLAB_TOKEN=your_access_token # Optional: Provide a mapping from usernames to user IDs (JSON string) # This can reduce API calls, especially when referencing the same users frequently # Example: '{"username1": 123, "username2": 456}' GITLAB_USER_MAPPING={"username1": 123, "username2": 456} # Optional: Provide a mapping from project names to project IDs (JSON string) # Project IDs can be numbers or strings (e.g., 'group/project') # This can reduce API calls and ensure the correct project is used # Example: '{"project-name-a": 1001, "group/project-b": "group/project-b"}' GITLAB_PROJECT_MAPPING={"project-name-a": 1001, "group/project-b": "group/project-b"}

Usage Examples

See USAGE.md for detailed examples of each tool's parameters.

Project Structure

src/ ├── server/ │ └── GitlabMCPServer.ts # MCP server entry point ├── tools/ │ ├── GitlabAcceptMRTool.ts │ ├── GitlabCreateMRCommentTool.ts │ ├── GitlabGetUserTasksTool.ts │ ├── GitlabRawApiTool.ts │ ├── GitlabSearchProjectDetailsTool.ts │ ├── GitlabSearchUserProjectsTool.ts │ └── gitlab/ │ ├── FieldFilterUtils.ts │ ├── GitlabApiClient.ts │ └── GitlabApiTypes.ts ├── utils/ │ ├── is.ts │ └── sensitive.ts smithery.json # Smithery config USAGE.md # Usage examples package.json tsconfig.json

Integration

Claude Desktop Client

Add to your config:

{ "mcpServers": { "@zephyr-mcp/gitlab": { "command": "npx", "args": ["-y", "@zephyr-mcp/gitlab"] } } }

Smithery

Use directly on Smithery platform:

smithery add @zephyr-mcp/gitlab

Or search "@zephyr-mcp/gitlab" in Smithery UI and add to your workspace.

Environment variables:

  • GITLAB_API_URL: Base URL of your GitLab API

  • GITLAB_TOKEN: Access token for GitLab API authentication

Related Links

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ZephyrDeng/mcp-server-gitlab'

If you have feedback or need assistance with the MCP directory API, please join our Discord server