项目简介
GitLab MCP Server 是一个基于 Model Context Protocol (MCP) 构建的后端应用,旨在为大型语言模型 (LLM) 客户端提供与 GitLab 交互的能力。它通过标准化的 MCP 协议,将 GitLab 的各项功能封装成易于 LLM 调用的工具,帮助 LLM 应用更好地理解和操作 GitLab 平台上的资源。
主要功能点
- GitLab API 工具集: 内置多种预定义的工具,涵盖了 GitLab 常见的操作,例如:
- 搜索用户和项目信息
- 获取用户待办任务
- 查询项目详情
- 创建、更新和接受合并请求 (Merge Request)
- 添加合并请求评论
- 自定义调用 GitLab API
- 灵活的工具参数: 每个工具都提供结构化的参数定义,方便 LLM 客户端准确调用,并支持字段过滤,减少数据传输量。
- 易于集成: 遵循 MCP 协议标准,可以与任何支持 MCP 协议的 LLM 客户端集成,例如 Claude、Smithery 等。
- 多种传输协议支持: 目前通过标准输入输出 (stdio) 传输协议与客户端通信。
安装步骤
-
安装依赖: 确保已安装 bun 包管理器,然后克隆仓库并在项目根目录下运行:
bun install -
构建项目: 运行构建命令编译 TypeScript 代码:
bun run build -
启动服务: 构建成功后,即可启动 MCP 服务器:
bun run start
服务器配置
为了让 MCP 客户端(如 Claude 桌面客户端)连接到 GitLab MCP Server,您需要在客户端的配置文件中添加服务器配置信息。以下是 Claude 客户端的配置示例,其他 MCP 客户端的配置方式类似:
{ "mcpServers": { "@zephyr-mcp/gitlab": { "command": "bun", "args": ["run", "start"], "serverName": "GitLab MCP Server" } } }
参数说明:
- 'serverName': 服务器名称,可以自定义,用于在客户端中标识该服务器,例如 "GitLab MCP Server"。
- 'command': 启动服务器的命令,这里使用 'bun' 运行 'start' 脚本。
- 'args': 传递给 'command' 的参数,'["run", "start"]' 表示执行 'package.json' 中定义的 'start' 脚本。
环境变量配置:
GitLab MCP Server 依赖以下环境变量进行 GitLab API 的访问配置,请在启动服务器前设置:
- 'GITLAB_API_URL': 您的 GitLab 实例 API 地址,例如 'https://your-gitlab.com'。
- 'GITLAB_TOKEN': 用于访问 GitLab API 的私有令牌 (Private Token)。您需要在 GitLab 中生成一个具有 API 权限的私有令牌。
您可以通过 '.env' 文件或系统环境变量来设置这些变量。例如,在 '.env' 文件中添加:
GITLAB_API_URL=https://your-gitlab-instance.com GITLAB_TOKEN=your_personal_access_token
基本使用方法
-
启动 MCP 服务器: 按照上述步骤启动 GitLab MCP Server。
-
配置 MCP 客户端: 在您的 MCP 客户端中配置 GitLab MCP Server 的连接信息(如 Claude 客户端配置示例)。
-
在 LLM 中调用工具: 在支持 MCP 协议的 LLM 应用中,您可以使用自然语言指令来调用 GitLab MCP Server 提供的工具,例如:
- "搜索用户名为 'john.doe' 的 GitLab 用户及其项目" (对应 'GitlabSearchUserProjectsTool' 工具)
- "获取我今天创建的合并请求" (对应 'GitlabGetUserTasksTool' 工具)
- "为项目 ID 为 '123' 的合并请求 '456' 添加评论 '代码已更新,请再次审核'" (对应 'GitlabCreateMRCommentTool' 工具)
具体的工具使用方法和参数示例,请参考仓库中的 'USAGE.md' 文件。
信息
分类
开发者工具