Back to MCP directory
publicPublicdnsLocal runtime

mcp-server-gitlab

基于fastmcp框架的GitLab集成服务器,提供多种GitLab API工具

article

README

🚀 mcp-gitlab MCP 服务器(中文版)

mcp-gitlab MCP 服务器基于 fastmcp 框架构建,是一个强大的 GitLab 集成服务器。它提供了丰富的 GitLab RESTful API 工具,还支持与 Claude、Smithery 等平台集成,能有效提升开发效率。

✨ 主要特性

  • GitlabSearchUserProjectsTool:可依据用户名精准搜索用户及其活跃项目。
  • GitlabGetUserTasksTool:帮助获取当前用户的待处理任务。
  • GitlabSearchProjectDetailsTool:用于搜索项目并获取详细信息。
  • GitlabCreateMRCommentTool:支持向合并请求添加评论。
  • GitlabAcceptMRTool:能够接受并合并合并请求。
  • GitlabUpdateMRTool:可更新合并请求的负责人、审查人、标题、描述和标签。
  • GitlabCreateMRTool:可以创建新的合并请求,还支持指定负责人和审查人。
  • GitlabRawApiTool:允许使用自定义参数调用任意 GitLab API。

🚀 快速开始

# 安装依赖
bun install

# 构建项目
bun run build

# 启动服务器
bun run start

📚 详细文档

环境变量

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

# 可选:提供用户名到用户 ID 的映射(JSON 字符串)
# 这可以减少 API 调用次数,特别是在频繁引用相同用户时
# 示例:{"username1": 123, "username2": 456}
GITLAB_USER_MAPPING={"username1": 123, "username2": 456}

# 可选:提供项目名到项目 ID 的映射(JSON 字符串)
# 项目 ID 可以是数字或字符串(例如:"group/project")
# 这可以减少 API 调用并确保正确使用项目
# 示例:{"project-name-a": 1001, "group/project-b": "group/project-b"}

使用示例

详细示例请参见 USAGE.md

项目结构

src/
├── server/
│   └── GitlabMCPServer.ts          # MCP 服务器入口文件
├── tools/
│   ├── GitlabAcceptMRTool.ts
│   ├── GitlabCreateMRCommentTool.ts
│   ├── GitlabGetUserTasksTool.ts
│   ├── GitlabRawApiTool.ts
│   ├── GitlabCreateMRTool.ts
│   └── GitlabUpdateMRTool.ts
└── README.md                      # 项目文档

相关链接

help

Runtime guide

cloud

Hosted runtime

Hosted servers run from a provider-managed environment. You usually connect the MCP client to the hosted endpoint or follow the provider's authorization flow, without keeping a local process alive

  1. Open provider connection page
  2. Authorize or copy endpoint
  3. Connect from your MCP client
terminal

Local runtime / other methods

Local servers run on your own machine or infrastructure. You normally copy the server_config into your MCP client, install the required package, and provide env variables from env_schema when needed

  1. Copy server_config
  2. Install required package
  3. Fill env variables and restart client