使用说明
GitLab MCP服务器
A Go实现 模型上下文协议(MCP) GitLab服务器,为AI助手提供对GitLab存储库、问题、合并请求等的无缝访问。
为什么存在
这 官方GitLab MCP服务器 是用TypeScript编写的,需要Node.js运行时。这给以下团队带来了摩擦:
- 不想安装Node.js --此服务器编译为 单静态二进制 (约10-15MB),运行时依赖性为零。下载它,设置您的令牌,然后运行它。
- 需要更好的资源效率 --Node.js GitLab MCP服务器使用约30-50MB的RAM和约200ms的启动时间。此Go版本使用约5-10MB的RAM,启动时间<5ms,这在同时运行多个MCP服务器时很有意义。
- 想要可靠的模式验证 --社区 定制gitlab mcp服务器 是专门为修复官方TypeScript服务器中的模式验证错误而创建的。此Go实现通过Go struct标签和官方Go MCP SDK免费获得正确的模式。
- 更喜欢使用单个二进制文件进行分发 —
go install,复制二进制文件,或使用Nix薄片。不npm install,没有node_modules,没有版本冲突。
快速开始
先决条件
- 使用1.25+(或使用随附的Nix薄片:
nix develop) - 具有适当作用域的GitLab个人访问令牌(
api,read_api,read_repository,write_repository)
构建
go build -o gitlab-mcp-server .
配置您的AI客户端
添加到您的MCP客户端配置中(例如,Claude Desktop、Gemini CLI):
{
"mcpServers": {
"gitlab": {
"command": "/path/to/gitlab-mcp-server",
"env": {
"GITLAB_PERSONAL_ACCESS_TOKEN": "your-token-here",
"GITLAB_API_URL": "https://gitlab.com/api/v4"
}
}
}
}
GITLAB_API_URL默认为https://gitlab.com/api/v4如果没有设置。如果需要,将其指向您的自托管实例。
可用工具
| 工具 | 说明 |
|---|---|
search_repositories |
搜索GitLab项目 |
get_file_contents |
从项目中获取文件内容 |
create_or_update_file |
在项目中创建或更新单个文件 |
push_files |
在一次提交中推送多个文件 |
create_repository |
创建一个新的GitLab项目 |
create_issue |
在项目中创建新问题 |
create_merge_request |
在项目中创建新的合并请求 |
fork_repository |
将项目分叉到您的帐户或命名空间 |
create_branch |
在项目中创建新分支 |
发展
使用Nix(推荐)
# Enter dev shell with Go 1.25, gopls, etc.
nix develop
# Or if you have direnv:
direnv allow
构建与运行
export GITLAB_PERSONAL_ACCESS_TOKEN="your-token"
go build -o gitlab-mcp-server .
./gitlab-mcp-server
许可证
麻省理工学院
