GitLab MCP 服务器
✨ 特点
全面的 GitLab API 集成- 访问存储库、问题、合并请求、wiki 等
支持两种传输方式- 与 stdio 或服务器发送事件 (SSE) 一起使用
一致的响应格式——标准化的分页和响应结构
强 TypeScript 类型- 使用 MCP SDK 构建以确保类型安全
完整的文档——所有可用工具的示例
🔍 支持的操作
存储库管理——搜索、创建、分叉存储库
文件处理——读取、创建、更新文件
分支运营——创建和管理分支
问题跟踪- 创建、列出、过滤问题
合并请求- 创建、列出、审查合并请求
小组管理——列出小组项目和成员
项目活动- 跟踪事件和提交历史记录
维基管理——全面支持带有附件的项目和群组维基
成员管理——列出并管理项目/小组成员
Related MCP server: gitlab mcp
🚀 入门
安装
来自 npm(推荐)
来自源
配置
环境变量
服务器需要以下环境变量:
多变的 | 必需的 | 默认 | 描述 |
| 是的 | - | 您的 GitLab 个人访问令牌 |
| 不 |
| GitLab API URL |
| 不 |
| SSE运输港口 |
| 不 |
| 设置为“true”以使用 SSE 传输 |
| 不 |
| 设置为“true”以启用只读模式(见下文) |
只读模式
当GITLAB_READ_ONLY_MODE设置为true时,服务器将仅公开读取操作。这对于不应具有 GitLab 资源写访问权限的客户端应用程序非常有用。在只读模式下,以下工具将可用:
search_repositoriesget_file_contentslist_group_projectsget_project_eventslist_commitslist_issueslist_merge_requestslist_project_wiki_pagesget_project_wiki_pagelist_group_wiki_pagesget_group_wiki_pagelist_project_memberslist_group_members
在只读模式下,任何尝试使用写入操作(创建、更新、删除)都会导致错误。
MCP 设置配置
将 GitLab MCP 服务器添加到您的 MCP 设置文件:
对于只读模式,添加GITLAB_READ_ONLY_MODE环境变量:
用法
使用 stdio 传输(默认)
使用 SSE 传输
使用 npx
🛠️ 可用工具
存储库操作
文件操作
分支机构运营
发行操作
响应格式:
响应格式:
合并请求操作
项目活动
会员运营
响应格式:
响应格式:
项目 Wiki 运营
小组 Wiki 运营
🔧 开发
要求
Node.js 16+
npm 7+
具有个人访问令牌的 GitLab 帐户
构建项目
运行测试
代码风格和 Linting
发布流程
更新
package.json中的版本更新 CHANGELOG.md
在 GitHub 上创建新版本
使用
npm publish发布到 npm
📖 文档
如需更详细的文档,请访问我们的文档网站或查看源代码中的 TypeScript 定义。
💼 用例
人工智能驱动的开发工作流程- 使人工智能助手能够与您的 GitLab 存储库进行交互
自动化问题和 PR 管理- 利用 AI 支持简化开发流程
Wiki 管理- 自动更新文档和知识库管理
团队协作——将 AI 助手集成到团队的 GitLab 工作流程中
📊 路线图
[ ] GitLab CI/CD 集成
[ ] 高级项目分析
[ ] 综合测试套件
[ ] 支持 GitLab GraphQL API
[ ] 扩展的 Webhook 支持
🤝 贡献
欢迎并感谢大家的贡献!贡献方式如下:
分叉存储库
创建你的功能分支(
git checkout -b feature/amazing-feature)提交您的更改(
git commit -m 'Add some amazing feature')推送到分支(
git push origin feature/amazing-feature)打开拉取请求
请确保适当更新测试并遵循项目的代码风格。
📝 许可证
该项目根据 MIT 许可证获得许可 - 有关详细信息,请参阅LICENSE文件。
👥 贡献者
感谢所有帮助改进此项目的贡献者:
特别感谢:
thomasleveil - 为项目和组实现了 GitLab 成员列表功能,并采用一致的响应格式
📦 NPM 包
该软件包可在 npm 上找到:
https://www.npmjs.com/package/@yoda.digital/gitlab-mcp-server