GitLab MCP服务器(Swift)
封装GitLab CLI的模型上下文协议(MCP)服务器(glab)为Claude Desktop等人工智能助手提供GitLab功能。
特性
- 🚀 Swift原生实现 使用官方MCP Swift SDK
- 🔧 完整的GitLab CLI集成 -支持所有
glab命令 - 🎯 智能提示 用于常见工作流程(合并请求、CI/CD、每日站立)
- 📊 JSON输出解析 回退到纯文本
- 🔐 安全认证 通过系统
glab凭证 - ⚡ 高性能 Swift的async/await并发
先决条件
- macOS(通过Xcode安装Swift 5.9+)
- glab命令行界面 已安装并验证
- Claude Desktop或其他兼容MCP的客户端
安装
快速安装
# Clone the repository
git clone https://github.com/yourusername/gitlab-mcp-swift.git
cd gitlab-mcp-swift
# Run the install script
./install.sh安装脚本将:
- 使用Swift包管理器构建服务器
- 安装到
~/.swiftpm/bin/git-lab-mcp - 显示Claude Desktop的配置
手动安装
# Build the project
swift build -c release
# Install to a location in your PATH
cp .build/release/git-lab-mcp ~/.swiftpm/bin/配置
添加到您的Claude Desktop配置(~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"gitlab": {
"command": "/Users/YOUR_USERNAME/.swiftpm/bin/git-lab-mcp",
"args": ["--log-level", "info"],
"env": {
"PATH": "/opt/homebrew/bin:/usr/local/bin:/usr/bin:/bin"
}
}
}
}认证
服务器使用您现有的 glab CLI身份验证:
# Login to GitLab
glab auth login
# Check authentication status
glab auth status可用工具
核心工具
glab_mr-合并请求操作(列表、创建、查看、合并、批准)glab_issue-问题管理(列表、创建、查看、关闭、更新)glab_ci-CI/CD管道操作(查看、列表、运行、重试)glab_repo-存储库操作(克隆、分叉、查看、存档)glab_api-直接访问GitLab APIglab_auth-身份验证管理glab_version-版本信息glab_raw-直接执行任何glab命令
鼓励
服务器包括常见工作流的智能提示:
my-mrs-检查您的合并请求create-mr-使用引导参数创建合并请求daily-standup-收集GitLab活动以进行每日站立review-pipeline-审查CI/CD管道状态
使用示例
检查您的合并请求
Use the prompt "my-mrs" to see all your open merge requests创建合并请求
Use the prompt "create-mr" with:
- title: "Fix: Memory leak in user service"
- source_branch: "fix/memory-leak"
- target_branch: "main"运行CI/CD管道
Use tool "glab_ci" with:
- subcommand: "run"
- repo: "myteam/myproject"发展
从源头构建
# Clone the repository
git clone https://github.com/yourusername/gitlab-mcp-swift.git
cd gitlab-mcp-swift
# Build in debug mode
swift build
# Run tests
swift test
# Build for release
swift build -c release项目结构
gitlab-mcp-swift/
├── Sources/
│ └── GitLabMCP/
│ ├── GitLabMCPServer.swift # Main server implementation
│ ├── GitLabMCPCommand.swift # CLI entry point
│ └── GitLabCLI.swift # GitLab CLI wrapper
├── Package.swift # Swift package manifest
├── install.sh # Installation script
└── README.md # This file故障排除
服务器无法启动
- 确保
glab已安装:which glab - 检查身份验证:
glab auth status - 运行调试日志:
--log-level debug
命令返回“未通过身份验证”
- 跑
glab auth login鉴定 - 对于自托管实例:
glab auth login --hostname your.gitlab.instance
MCP连接问题
- 配置更改后重新启动Claude Desktop
- 检查Claude Desktop开发人员控制台中的日志
- 验证配置中的可执行路径是否正确
贡献
欢迎投稿!拜托:
- 分叉存储库
- 创建要素分支
- 进行更改
- 如果适用,添加测试
- 提交拉取请求
许可证
MIT许可证-有关详细信息,请参阅许可证文件
致谢
- 与 模型上下文协议Swift SDK
- 包装优秀 GitLab命令行界面(glab)
- 受AI助手中更好地集成GitLab的需求的启发
