gitlab mcp

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.

Category
访问服务器

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

smithery badge

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 个工具的限制。

工具 🛠️

  1. create_or_update_file

    • 在 GitLab 项目中创建或更新单个文件。 📝
    • 输入:
      • project_id (字符串): 项目 ID 或命名空间/项目路径
      • file_path (字符串): 创建/更新文件的路径
      • content (字符串): 文件内容
      • commit_message (字符串): 提交消息
      • branch (字符串): 在哪个分支中创建/更新文件
      • previous_path (可选字符串): 重命名文件时的先前文件路径
    • 返回:文件内容和提交详细信息
  2. push_files

    • 在单个提交中推送多个文件。 📤
    • 输入:
      • project_id (字符串): 项目 ID 或命名空间/项目路径
      • branch (字符串): 推送到的分支
      • files (数组): 要推送的文件数组,每个文件都具有 file_pathcontent 属性
      • commit_message (字符串): 提交消息
    • 返回:更新后的分支引用
  3. search_repositories

    • 搜索 GitLab 项目。 🔍
    • 输入:
      • search (字符串): 搜索查询
      • page (可选数字): 页码(默认值:1)
      • per_page (可选数字): 每页结果数(默认值:20,最大值:100)
    • 返回:项目搜索结果
  4. create_repository

    • 创建一个新的 GitLab 项目。 ➕
    • 输入:
      • name (字符串): 项目名称
      • description (可选字符串): 项目描述
      • visibility (可选字符串): 项目可见性级别(public、private、internal)
      • initialize_with_readme (可选布尔值): 使用 README 初始化
    • 返回:已创建项目的详细信息
  5. get_file_contents

    • 获取文件或目录的内容。 📂
    • 输入:
      • project_id (字符串): 项目 ID 或命名空间/项目路径
      • file_path (字符串): 文件/目录的路径
      • ref (可选字符串): 分支、标签或提交 SHA(默认值:默认分支)
    • 返回:文件/目录内容
  6. create_issue

    • 创建一个新 issue。 🐛
    • 输入:
      • project_id (字符串): 项目 ID 或命名空间/项目路径
      • title (字符串): Issue 标题
      • description (字符串): Issue 描述
      • assignee_ids (可选数字数组): 受让人 ID 数组
      • milestone_id (可选数字): 里程碑 ID
      • labels (可选字符串数组): 标签数组
    • 返回:已创建 issue 的详细信息
  7. create_merge_request

    • 创建一个新的合并请求。 🚀
    • 输入:
      • project_id (字符串): 项目 ID 或命名空间/项目路径
      • title (字符串): 合并请求标题
      • description (字符串): 合并请求描述
      • source_branch (字符串): 包含更改的分支
      • target_branch (字符串): 合并到的分支
      • allow_collaboration (可选布尔值): 允许协作者将提交推送到源分支
      • draft (可选布尔值): 创建为草稿合并请求
    • 返回:已创建合并请求的详细信息
  8. fork_repository

    • Fork 一个项目。 🍴
    • 输入:
      • project_id (字符串): 要 fork 的项目 ID 或命名空间/项目路径
      • namespace (可选字符串): 要 fork 到的命名空间(默认值:用户命名空间)
    • 返回:已 fork 项目的详细信息
  9. create_branch

    • 创建一个新分支。 🌿
    • 输入:
      • project_id (字符串): 项目 ID 或命名空间/项目路径
      • name (字符串): 新分支名称
      • ref (可选字符串): 从哪个 ref 创建分支(分支、标签、提交 SHA,默认值:默认分支)
    • 返回:已创建的分支引用
  10. get_merge_request

    • 获取合并请求的详细信息。 ℹ️
    • 输入:
      • project_id (字符串): 项目 ID 或命名空间/项目路径
      • merge_request_iid (数字): 合并请求 IID
    • 返回:合并请求详细信息
  11. get_merge_request_diffs

    • 获取合并请求的更改(差异)。 diff
    • 输入:
      • project_id (字符串): 项目 ID 或命名空间/项目路径
      • merge_request_iid (数字): 合并请求 IID
      • view (可选字符串): 差异视图类型(“inline”或“parallel”)
    • 返回:合并请求差异信息数组
  12. update_merge_request

    • 更新合并请求。 🔄
    • 输入:
      • project_id (字符串): 项目 ID 或命名空间/项目路径
      • merge_request_iid (数字): 合并请求 IID
      • title (可选字符串): 新标题
      • description (字符串): 新描述
      • target_branch (可选字符串): 新目标分支
      • state_event (可选字符串): 合并请求状态更改事件(“close”、“reopen”)
      • remove_source_branch (可选布尔值): 合并后删除源分支
      • allow_collaboration (可选布尔值): 允许协作者将提交推送到源分支
    • 返回:更新后的合并请求详细信息
  13. create_note

    • 创建一个新注释(评论)到 issue 或合并请求。 💬
    • 输入:
      • project_id (字符串): 项目 ID 或命名空间/项目路径
      • noteable_type (字符串): 可注释类型(“issue”或“merge_request”)
      • noteable_iid (数字): issue 或合并请求的 IID
      • body (字符串): 注释内容
    • 返回:已创建注释的详细信息
  14. list_projects

    • 列出具有丰富过滤选项的可访问项目 📊
    • 输入:
      • 搜索/过滤:
        • search
        • owned
        • membership
        • archived
        • visibility
      • 功能过滤:
        • with_issues_enabled
        • with_merge_requests_enabled
      • 排序:
        • order_by
        • sort
      • 访问控制:
        • min_access_level
      • 分页:
        • page
        • per_page
        • simple
    • 返回:项目数组
  15. list_labels

    • 列出项目的所有标签,并提供过滤选项 🏷️
    • 输入:
      • project_id (字符串): 项目 ID 或路径
      • with_counts (可选): 包括 issue 和合并请求计数
      • include_ancestor_groups (可选): 包括祖先组
      • search (可选): 按关键字过滤标签
    • 返回:标签数组
  16. get_label

    • 从项目中获取单个标签
    • 输入:
      • project_id (字符串): 项目 ID 或路径
      • label_id (数字/字符串): 标签 ID 或名称
      • include_ancestor_groups (可选): 包括祖先组
    • 返回:标签详细信息
  17. create_label

    • 在对象中创建一个新标签 🏷️➕
    • 输入:
      • project_id (字符串): 项目 ID 或路径
      • name (字符串): 标签名称
      • color (字符串): 十六进制格式的颜色(例如,“#FF0000”)
      • description (可选): 标签描述
      • priority (可选): 标签优先级
    • 返回:已创建标签的详细信息
  18. update_label

    • 更新项目中现有的标签 🏷️✏️
    • 输入:
      • project_id (字符串): 项目 ID 或路径
      • label_id (数字/字符串): 标签 ID 或名称
      • new_name (可选): 新标签名称
      • color (可选): 十六进制格式的新颜色
      • description (可选): 新描述
      • priority (可选): 新优先级
    • 返回:更新后的标签详细信息
  19. delete_label

    • 从项目中删除标签 🏷️❌
    • 输入:
      • project_id (字符串): 项目 ID 或路径
      • label_id (数字/字符串): 标签 ID 或名称
    • 返回:成功消息
  20. 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

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选