gitlab mcp
GitLab MCP 可以翻译成: * **GitLab 多集群平台 (Duō Jí Qún Píngtái)** - This is a more literal translation and emphasizes the "multi-cluster" aspect. * **GitLab 多集群管理平台 (Duō Jí Qún Guǎnlǐ Píngtái)** - This translation adds "management" to clarify the platform's function. The best translation depends on the context. If the focus is simply on the fact that GitLab supports multiple clusters, the first option is sufficient. If the focus is on the management capabilities of the platform, the second option is better.
Tools
create_or_update_file
Create or update a single file in a GitLab project
search_repositories
Search for GitLab projects
create_repository
Create a new GitLab project
get_file_contents
Get the contents of a file or directory from a GitLab project
push_files
Push multiple files to a GitLab project in a single commit
create_issue
Create a new issue in a GitLab project
create_merge_request
Create a new merge request in a GitLab project
fork_repository
Fork a GitLab project to your account or specified namespace
create_branch
Create a new branch in a GitLab project
get_merge_request
Get details of a merge request
get_merge_request_diffs
Get the changes/diffs of a merge request
update_merge_request
Update a merge request
create_note
Create a new note (comment) to an issue or merge request
README
更好的 GitLab MCP 服务器
@zereight/mcp-gitlab
GitLab MCP (模型上下文协议) 服务器。包含对原始 GitLab MCP 服务器的错误修复和改进。
<a href="https://glama.ai/mcp/servers/7jwbk4r6d7"><img width="380" height="200" src="https://glama.ai/mcp/servers/7jwbk4r6d7/badge" alt="gitlab mcp MCP server" /></a>
用法
与 Claude App、Cline、Roo Code、Cursor 一起使用
与 Claude App 一起使用时,您需要直接设置您的 API 密钥和 URL。
{
"mcpServers": {
"GitLab communication server": {
"command": "npx",
"args": ["-y", "@zereight/mcp-gitlab"],
"env": {
"GITLAB_PERSONAL_ACCESS_TOKEN": "your_gitlab_token",
"GITLAB_API_URL": "your_gitlab_api_url",
"GITLAB_READ_ONLY_MODE": "true"
}
}
}
}
环境变量
GITLAB_PERSONAL_ACCESS_TOKEN: 您的 GitLab 个人访问令牌。GITLAB_API_URL: 您的 GitLab API URL。(默认值:https://gitlab.com/api/v4)GITLAB_READ_ONLY_MODE: 设置为“true”时,将服务器限制为仅公开只读操作。 在需要增强安全性或不需要写入访问权限时很有用。 也适用于 Cursor 及其 40 个工具的限制。
工具 🛠️
-
create_or_update_file- 在 GitLab 项目中创建或更新单个文件。 📝
- 输入:
project_id(字符串): 项目 ID 或命名空间/项目路径file_path(字符串): 创建/更新文件的路径content(字符串): 文件内容commit_message(字符串): 提交消息branch(字符串): 在哪个分支中创建/更新文件previous_path(可选字符串): 重命名文件时的先前文件路径
- 返回:文件内容和提交详细信息
-
push_files- 在单个提交中推送多个文件。 📤
- 输入:
project_id(字符串): 项目 ID 或命名空间/项目路径branch(字符串): 推送到的分支files(数组): 要推送的文件数组,每个文件都具有file_path和content属性commit_message(字符串): 提交消息
- 返回:更新后的分支引用
-
search_repositories- 搜索 GitLab 项目。 🔍
- 输入:
search(字符串): 搜索查询page(可选数字): 页码(默认值:1)per_page(可选数字): 每页结果数(默认值:20,最大值:100)
- 返回:项目搜索结果
-
create_repository- 创建一个新的 GitLab 项目。 ➕
- 输入:
name(字符串): 项目名称description(可选字符串): 项目描述visibility(可选字符串): 项目可见性级别(public、private、internal)initialize_with_readme(可选布尔值): 使用 README 初始化
- 返回:已创建项目的详细信息
-
get_file_contents- 获取文件或目录的内容。 📂
- 输入:
project_id(字符串): 项目 ID 或命名空间/项目路径file_path(字符串): 文件/目录的路径ref(可选字符串): 分支、标签或提交 SHA(默认值:默认分支)
- 返回:文件/目录内容
-
create_issue- 创建一个新 issue。 🐛
- 输入:
project_id(字符串): 项目 ID 或命名空间/项目路径title(字符串): Issue 标题description(字符串): Issue 描述assignee_ids(可选数字数组): 受让人 ID 数组milestone_id(可选数字): 里程碑 IDlabels(可选字符串数组): 标签数组
- 返回:已创建 issue 的详细信息
-
create_merge_request- 创建一个新的合并请求。 🚀
- 输入:
project_id(字符串): 项目 ID 或命名空间/项目路径title(字符串): 合并请求标题description(字符串): 合并请求描述source_branch(字符串): 包含更改的分支target_branch(字符串): 合并到的分支allow_collaboration(可选布尔值): 允许协作者将提交推送到源分支draft(可选布尔值): 创建为草稿合并请求
- 返回:已创建合并请求的详细信息
-
fork_repository- Fork 一个项目。 🍴
- 输入:
project_id(字符串): 要 fork 的项目 ID 或命名空间/项目路径namespace(可选字符串): 要 fork 到的命名空间(默认值:用户命名空间)
- 返回:已 fork 项目的详细信息
-
create_branch- 创建一个新分支。 🌿
- 输入:
project_id(字符串): 项目 ID 或命名空间/项目路径name(字符串): 新分支名称ref(可选字符串): 从哪个 ref 创建分支(分支、标签、提交 SHA,默认值:默认分支)
- 返回:已创建的分支引用
-
get_merge_request- 获取合并请求的详细信息。 ℹ️
- 输入:
project_id(字符串): 项目 ID 或命名空间/项目路径merge_request_iid(数字): 合并请求 IID
- 返回:合并请求详细信息
-
get_merge_request_diffs- 获取合并请求的更改(差异)。 diff
- 输入:
project_id(字符串): 项目 ID 或命名空间/项目路径merge_request_iid(数字): 合并请求 IIDview(可选字符串): 差异视图类型(“inline”或“parallel”)
- 返回:合并请求差异信息数组
-
update_merge_request- 更新合并请求。 🔄
- 输入:
project_id(字符串): 项目 ID 或命名空间/项目路径merge_request_iid(数字): 合并请求 IIDtitle(可选字符串): 新标题description(字符串): 新描述target_branch(可选字符串): 新目标分支state_event(可选字符串): 合并请求状态更改事件(“close”、“reopen”)remove_source_branch(可选布尔值): 合并后删除源分支allow_collaboration(可选布尔值): 允许协作者将提交推送到源分支
- 返回:更新后的合并请求详细信息
-
create_note- 创建一个新注释(评论)到 issue 或合并请求。 💬
- 输入:
project_id(字符串): 项目 ID 或命名空间/项目路径noteable_type(字符串): 可注释类型(“issue”或“merge_request”)noteable_iid(数字): issue 或合并请求的 IIDbody(字符串): 注释内容
- 返回:已创建注释的详细信息
-
list_projects- 列出具有丰富过滤选项的可访问项目 📊
- 输入:
- 搜索/过滤:
searchownedmembershiparchivedvisibility
- 功能过滤:
with_issues_enabledwith_merge_requests_enabled
- 排序:
order_bysort
- 访问控制:
min_access_level
- 分页:
pageper_pagesimple
- 搜索/过滤:
- 返回:项目数组
-
list_labels- 列出项目的所有标签,并提供过滤选项 🏷️
- 输入:
project_id(字符串): 项目 ID 或路径with_counts(可选): 包括 issue 和合并请求计数include_ancestor_groups(可选): 包括祖先组search(可选): 按关键字过滤标签
- 返回:标签数组
-
get_label- 从项目中获取单个标签
- 输入:
project_id(字符串): 项目 ID 或路径label_id(数字/字符串): 标签 ID 或名称include_ancestor_groups(可选): 包括祖先组
- 返回:标签详细信息
-
create_label- 在对象中创建一个新标签 🏷️➕
- 输入:
project_id(字符串): 项目 ID 或路径name(字符串): 标签名称color(字符串): 十六进制格式的颜色(例如,“#FF0000”)description(可选): 标签描述priority(可选): 标签优先级
- 返回:已创建标签的详细信息
-
update_label- 更新项目中现有的标签 🏷️✏️
- 输入:
project_id(字符串): 项目 ID 或路径label_id(数字/字符串): 标签 ID 或名称new_name(可选): 新标签名称color(可选): 十六进制格式的新颜色description(可选): 新描述priority(可选): 新优先级
- 返回:更新后的标签详细信息
-
delete_label- 从项目中删除标签 🏷️❌
- 输入:
project_id(字符串): 项目 ID 或路径label_id(数字/字符串): 标签 ID 或名称
- 返回:成功消息
-
list_group_projects- 列出 GitLab 组中的所有项目。 📂
- 输入:
group_id(字符串): 项目 ID 或命名空间/项目路径- 过滤选项:
include_subgroups(可选布尔值): 包括来自子组的项目search(可选字符串): 用于过滤项目的搜索词archived(可选布尔值): 过滤已存档的项目visibility(可选字符串): 按项目可见性过滤(public/internal/private)with_programming_language(可选字符串): 按编程语言过滤starred(可选布尔值): 过滤已加星标的项目
- 功能过滤:
with_issues_enabled(可选布尔值): 过滤启用 issue 功能的项目with_merge_requests_enabled(可选布尔值): 过滤启用合并请求功能的项目min_access_level(可选数字): 按最小访问级别过滤
- 分页:
page(可选数字): 页码per_page(可选数字): 每页结果数
- 排序:
order_by(可选字符串): 要排序的字段sort(可选字符串): 排序方向(asc/desc)
- 附加数据:
statistics(可选布尔值): 包括项目统计信息with_custom_attributes(可选布尔值): 包括自定义属性with_security_reports(可选布尔值): 包括安全报告
- 返回:项目列表
环境变量配置
在运行服务器之前,您需要设置以下环境变量:
GITLAB_PERSONAL_ACCESS_TOKEN=your_gitlab_token
GITLAB_API_URL=your_gitlab_api_url # 默认值:https://gitlab.com/api/v4
GITLAB_READ_ONLY_MODE=true # 可选:启用只读模式
许可证
MIT 许可证
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。