logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

mcp-server-gitlab-connector

A specialized backend service for interfacing with GitLab repositories, offering functionality to orchestrate project management workflows, task tracking, and automated merge request handling via its comprehensive RESTful API layer.

Author

mcp-server-gitlab-connector logo

ZephyrDeng

MIT License

Quick Info

GitHub GitHub Stars 5
NPM Weekly Downloads 0
Tools 1
Last Updated 2026-02-19

Tags

gitlabtoolsapisgitlab manageusing gitlabserver gitlab

中文版

Build Status Node Version License

Downloads npm version smithery badge

badge

GitLab Integration Module for fastmcp (English)

This server component, built upon the fastmcp architecture, exposes functionalities to interact deeply with GitLab services, leveraging their remote procedure call (RPC) endpoints. It facilitates connectivity with external AI platforms such as Claude and Smithery.

Capabilities

  • GitlabSearchUserProjectsTool: Query user identities and retrieve associated active project listings.
  • GitlabGetUserTasksTool: Fetch outstanding to-do items assigned to the currently authenticated principal.
  • GitlabSearchProjectDetailsTool: Retrieve granular metadata and current status for specified repositories.
  • GitlabCreateMRCommentTool: Programmatically append remarks or feedback to existing merge requests.
  • GitlabAcceptMRTool: Finalize and execute the merging sequence for designated merge requests.
  • GitlabUpdateMRTool: Modify attributes of a merge request, including reviewers, assignees, descriptive text, and labeling.
  • GitlabCreateMRTool: Initiate the creation of a new merge request, specifying initial reviewers and the recipient.
  • GitlabRawApiTool: Direct access conduit to invoke arbitrary GitLab API endpoints with custom payload specifications.

Initial Setup Procedures

Stdio Communication (Default Protocol)

bash

Fetch necessary dependencies

bun install

Compile source code assets

bun run build

Initiate the service using standard input/output channels

bun run start

HTTP Stream Communication (Remote Deployment)

bash

Fetch necessary dependencies

bun install

Compile source code assets

bun run build

Start the service utilizing HTTP streaming transport on port 3000

MCP_TRANSPORT_TYPE=httpStream MCP_PORT=3000 bun run start

Alternatively, use a command-line argument

bun dist/index.js --http-stream

Configuration Variables

env GITLAB_API_URL=https://your-gitlab-instance.com GITLAB_TOKEN=your_access_token

Optional: Pre-map user identifiers to reduce runtime lookups (JSON format)

Example: '{"user_alias_a": 9001, "user_alias_b": 9002}'

GITLAB_USER_MAPPING="{\"username1\": 123, \"username2\": 456}"

Optional: Pre-map project identifiers to their canonical IDs (JSON format)

IDs can be numeric or path-based (e.g., 'namespace/repo-name')

Example: '{"short_name_x": 5005, "full_path_y": "group/project-b"}'

GITLAB_PROJECT_MAPPING="{\"project-name-a\": 1001, \"group/project-b\": \"group/project-b\"}"

MCP Transport Configuration (Optional)

Protocol selection: stdio (default) or httpStream

MCP_TRANSPORT_TYPE=stdio

HTTP Stream Binding Address (Active if MCP_TRANSPORT_TYPE=httpStream)

Use 0.0.0.0 for accessibility outside the host environment (e.g., Docker)

MCP_HOST=0.0.0.0

HTTP Stream Service Port (default: 3000)

MCP_PORT=3000

Network path segment for the API endpoint (default: /mcp)

MCP_ENDPOINT=/mcp

Operational Examples

Refer to USAGE.md for comprehensive parameter definitions for every exposed mechanism.

Communication Modalities

This service embraces two distinct methods for exchanging messages with client applications:

1. Stdio Interface (Default)

  • Optimal for localized testing and direct pipeline integration.
  • Data exchange occurs exclusively via standard input and output streams.
  • Requires no external network configuration.

2. HTTP Streaming Interface

  • Facilitates deployment as a centralized, remotely accessible endpoint.
  • Utilizes asynchronous HTTP POST requests with continuous response streams.
  • Permits concurrent engagement from numerous consuming agents.
  • Recommended topology for production environments.

When leveraging the HTTP Stream mode, clients should direct requests to:

POST http://localhost:3000/mcp Content-Type: application/json

Component Layout

src/ ├── server/ │ └── GitlabMCPServer.ts # Core application bootstrap and service initialization ├── tools/ │ ├── GitlabAcceptMRTool.ts │ ├── GitlabCreateMRCommentTool.ts │ ├── GitlabGetUserTasksTool.ts │ ├── GitlabRawApiTool.ts │ ├── GitlabSearchProjectDetailsTool.ts │ ├── GitlabSearchUserProjectsTool.ts │ └── gitlab/ │ ├── FieldFilterUtils.ts │ ├── GitlabApiClient.ts # Underlying HTTP client for GitLab interaction │ └── GitlabApiTypes.ts # TypeScript definitions for API contracts ├── utils/ │ ├── is.ts │ └── sensitive.ts smithery.json # Configuration metadata for Smithery discovery USAGE.md # Detailed operational guides package.json tsconfig.json

Client Integration Strategies

Claude Desktop Application

Stdio Configuration

In the Claude configuration file, specify the execution command:

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

HTTP Stream Deployment

First, initiate the server on your infrastructure:

bash

Execute on the target server

MCP_TRANSPORT_TYPE=httpStream MCP_PORT=3000 npx @zephyr-mcp/gitlab

Then, configure the Claude Desktop client to point to the network address:

{ "mcpServers": { "@zephyr-mcp/gitlab": { "command": "npx", "args": ["@modelcontextprotocol/client-cli", "http://your-server:3000/mcp"] } } }

Smithery Platform Integration

Invoke the standard addition command:

bash smithery add @zephyr-mcp/gitlab

Alternatively, locate the package via search within the Smithery interface and attach it to your active environment.

Required Environment Variables:

  • GITLAB_API_URL: The base URI for the GitLab API endpoint.
  • GITLAB_TOKEN: Credentials required for authenticated API access.
  • MCP_TRANSPORT_TYPE: Communication protocol selection (stdio or httpStream).
  • MCP_HOST: Network interface binding for HTTP stream mode.
  • MCP_PORT: TCP port used for HTTP stream listening.
  • MCP_ENDPOINT: Path segment exposed for HTTP stream requests.

Deployment Pathways

Containerization (Docker)

Use the provided Dockerfile for image creation:

bash

Build the deployable image

docker build -t gitlab-mcp-server .

Launch the container, mapping ports and setting necessary secrets

docker run -d \ -p 3000:3000 \ -e GITLAB_API_URL=https://your-gitlab-instance.com \ -e GITLAB_TOKEN=your_access_token \ -e MCP_TRANSPORT_TYPE=httpStream \ -e MCP_HOST=0.0.0.0 \ -e MCP_PORT=3000 \ gitlab-mcp-server

Docker Compose Configuration

yaml services: gitlab-mcp: image: node:22.14.0 container_name: gitlab-mcp ports: - "3000:3000" environment: - GITLAB_TOKEN=your_gitlab_token - GITLAB_API_URL=your-gitlab-instance.com - MCP_TRANSPORT_TYPE=httpStream - MCP_HOST=0.0.0.0 - MCP_PORT=3000 command: npx -y @zephyr-mcp/gitlab@latest

Crucial Docker Note: Ensure MCP_HOST is explicitly set to 0.0.0.0 when operating over HTTP Stream within a container to permit ingress from external networks. Although the default for httpStream is often 0.0.0.0, explicit declaration avoids connectivity issues.

Local Manual Installation

bash

Install dependencies and compile

npm install npm run build

Configure and start the server utilizing the remote protocol

export GITLAB_API_URL=https://your-gitlab-instance.com export GITLAB_TOKEN=your_access_token export MCP_TRANSPORT_TYPE=httpStream export MCP_PORT=3000

Execute the compiled output

node dist/index.js

Process Supervision (Using PM2)

bash

Install PM2 globally

npm install -g pm2

Generate a configuration file for process management

cat > ecosystem.config.js << EOF module.exports = { apps: [{ name: 'gitlab-mcp-server', script: 'dist/index.js', env: { GITLAB_API_URL: 'https://your-gitlab-instance.com', GITLAB_TOKEN: 'your_access_token', MCP_TRANSPORT_TYPE: 'httpStream', MCP_PORT: 3000 } }] } EOF

Launch the managed process

pm2 start ecosystem.config.js pm2 save pm2 startup

WIKIPEDIA: Business management tools encompass the entire spectrum of systems, analytical methodologies, application suites, and operational controls utilized by entities to successfully navigate dynamic market conditions, maintain competitive standing, and systematically enhance organizational effectiveness. These aids are categorized across various organizational functions, such as strategic foresight, process orchestration, data governance, personnel administration, and performance monitoring.

== General Management Concepts == Management utilities can be segmented based on their operational focus within an enterprise structure. Key functional areas include:

Tools facilitating initial data acquisition and integrity verification. Systems designed for monitoring and optimizing workflows and operational pathways. Platforms consolidating datasets to support executive decision-making processes. The rapid evolution of technology has significantly complicated the selection process for optimal business tools. Managers must adopt a forward-looking, adaptive strategy when integrating these solutions, ensuring tools are customized to organizational needs rather than forcing organizational structure to conform to off-the-shelf software capabilities.

== Prominent Tools (2013 Survey Context) == Analysis from Bain & Company in 2013 highlighted globally adopted management instruments, reflecting regional requirements and prevailing economic climates. The leading cohort included:

Strategic planning frameworks Customer Relationship Management (CRM) suites Employee satisfaction measurement Competitive analysis (Benchmarking) The Balanced Scorecard methodology Core competency identification Outsourcing management strategies Organizational transformation programs Supply Chain optimization techniques Mission and Vision documentation Market segmentation analysis Total Quality Management (TQM) principles

== Business Software Definition == Business software refers to discrete applications or integrated software packages employed by professional users to execute specific operational functions. These applications are essential for improving productivity, accurately quantifying results, and streamlining diverse enterprise activities. The progression moved from early Management Information Systems (MIS) to expansive Enterprise Resource Planning (ERP) systems, followed by the incorporation of CRM functionalities, culminating in the current era dominated by cloud-based business management suites. Value addition from IT investments is maximized when tool selection and subsequent configuration align perfectly with organizational imperatives.

See Also

`