Token导航 LogoToken导航

MCP Server · 开发工具

MCP Gitlab Server

Enhanced MCP server for GitLab: group projects listing and activity tracking

stdio官方级别未说明来源级核验工具 10
GitLab集成开发工具TypeScriptClaudeClaude DesktopCursorVS Code

快速开始

作者 / 组织
yoda-digital
提供方
yoda-digital
运行时
Docker

工具数量

10

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

49

仓库热度

收录来源

3 个

MCP.so

选型结论

MCP Gitlab Server 属于开发工具类 MCP Server,公开资料标注 10 个工具,通过stdio 本地进程接入,适配 Claude Desktop、Claude、Cursor,有可以直接复制的安装命令;接入前先确认权限范围。

分类

开发工具

传输方式

stdio

认证方式

无需认证

部署方式

支持远程部署

安装与配置

安装命令

docker run --rm -p 3000:3000 \

公开命令不是通用的启动方式,拼不出可靠配置示例;请在客户端 MCP 配置里按官方文档填写 command 和 args。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 Docker,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 10 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

详细介绍

GitLab MCP服务器

The most comprehensive Model Context Protocol (MCP) server for GitLab — 86 tools, enterprise-ready, actively maintained.

______________________________________________________________________

这是什么

GitLab MCP服务器允许AI代理(Claude Desktop、Claude Code、Cursor、Zed、VS Code或任何 模型上下文协议 客户端)直接与GitLab对话。它是一个类型化的、分页的、经过架构验证的到GitLab REST API的桥,公开为86个MCP工具。它不是一个包装 glab 并且它不会刮屏。

它与 gitlab.com 或任何自托管的GitLab实例,并使用个人访问令牌、上游网关转发的OAuth承载令牌或用于安全演示的只读令牌进行身份验证。

______________________________________________________________________

为什么它存在

Anthropic于2024年11月25日发布了MCP。参考服务器包括Google Drive、Slack、GitHub、Git、Postgres和Puppeteer。没有GitLab服务器。Yoda Digital工程团队在自托管的GitLab上运行,因此官方示例对我们没有帮助,早期的社区端口还没有试图正确覆盖GitLab的表面区域。

我们为自己写了一个。团队项目、活动跟踪、DevOps实际需要的操作。我们在2025年3月18日开源了它,预计可能会有五个人觉得它有用。

一年来,该项目有86个工具,可以使用stdio/SSE/Streamable HTTP传输,PAT和OAuth模式,ghcr.io上的Docker镜像,以及几乎完全由我们从未见过的外部贡献者编写的Helm图表。0.4.0和0.5.0版本现在大多是别人的代码,这是开源维护者可能遇到的最好的问题。

______________________________________________________________________

快速启动

本地客户端(stdio)

对于Claude Desktop、Cursor、Zed以及任何将MCP服务器作为本地子进程运行的客户端。将此添加到客户端的MCP配置中(对于Claude Desktop,这是 claude_desktop_config.json):

{
  "mcpServers": {
    "gitlab": {
      "command": "npx",
      "args": ["-y", "@yoda.digital/gitlab-mcp-server"],
      "env": {
        "GITLAB_PERSONAL_ACCESS_TOKEN": "glpat-…",
        "GITLAB_API_URL": "https://gitlab.com/api/v4"
      }
    }
  }
}

自托管?替换 GITLAB_API_URL 与你的实例,例如。 https://gitlab.example.com/api/v4。想要一个没有写权限的安全演示吗?添加 "GITLAB_READ_ONLY_MODE": "true"。根据IDE,注释在 docs/CURSOR_INTEGRATION.md.

远程(流式HTTP,OAuth门控)

对于共享部署和现代远程MCP客户端,请将服务器作为HTTP服务运行。网络暴露部署需要 AUTH_MODE=oauth --服务器拒绝启动 AUTH_MODE=pat 在非环回绑定上。请参阅 SECURITY.md 对于威胁模型。

docker run --rm -p 3000:3000 \
  -e HOST=0.0.0.0 \
  -e AUTH_MODE=oauth \
  -e USE_STREAMABLE_HTTP=true \
  ghcr.io/yoda-digital/mcp-gitlab-server:latest

然后在容器前面安装一个注入的网关 Authorization: Bearer per connection——服务器将该Bearer作为per connection PAT转发给GitLab。将客户指向 http://your-gateway/mcp.

操作细节、探头配置和故障排除见 docs/OPERATIONS.md.

______________________________________________________________________

盒子里有什么

86个工具,按表面分组:

  • 存储库:搜索、创建、分叉、获取和更新项目元数据。
  • 文件和分支:读取、创建、更新和删除文件;多文件提交;分支(列出、创建、删除);存储库树。
  • 标签和发布:列出并创建标签;列出并创建发布。
  • 问题:创建、列表、更新、注释、线程讨论。
  • 合并请求:创建、更新、合并、重基;批准;自动合并;笔记、讨论、更改、提交。
  • CI/CD:管道(列表、获取、触发、重试、取消)、作业(列表、获得、日志、重试、删除)、环境。
  • Wiki:项目和组Wiki,包括附件。
  • 组和成员:组CRUD、子组、项目和组成员。
  • 标签和里程碑:列表、创建、更新;受保护的分支:列表、保护、取消保护。
  • 用户和元:当前用户、列表/获取用户、项目事件、提交历史。

中的完整工具列表 CLAUDE.md。中所选工具的每个工具文档 docs/api/.

只读模式(GITLAB_READ_ONLY_MODE=true)在注册时过滤掉每个变异工具。行为不端的特工看不见他们,更不用说给他们打电话了。

______________________________________________________________________

运输

运输何时使用标志
stdio本地客户端(Claude Desktop、Cursor、Zed)。默认值。_(默认)_
SSE远程客户端仍使用传统的SSE规范USE_SSE=true
Streamable HTTP当前MCP Streamable HTTP规范上的远程客户端USE_STREAMABLE_HTTP=true

流式HTTP运行 POST /mcp, GET /mcp,以及 DELETE /mcp,通过会话管理 MCP-Session-Id 头球这 /healthz 当活动会话超过时,端点返回503 HEALTHZ_MAX_SESSIONS,用于Kubernetes活性和就绪性探测。

______________________________________________________________________

认证

两种模式。正确的方法取决于HTTP传输是否可以从网络访问。

每个连接的OAuth(AUTH_MODE=oauth,网络公开部署的默认设置)。服务器没有静态令牌。每个MCP连接都有自己的 Authorization: Bearer ,服务器将其作为该连接的有效PAT转发给GitLab。在处理IdP的网关后面运行它。这就是如何为整个团队操作一个共享部署。只要绑定是非环回的,就需要。

PAT模式(AUTH_MODE=pat,仅限环回)。服务器在中持有一个个人访问令牌 GITLAB_PERSONAL_ACCESS_TOKENHTTP传输正在运行 无身份验证 在这种模式下,服务器强制执行仅环回绑定(HOST=127.0.0.1)并拒绝以其他方式开始。stdio客户端和单租户本地开发的正确选择。Helm不支持——请参阅图表的身份验证保护。

______________________________________________________________________

配置

变量默认值用途
GITLAB_PERSONAL_ACCESS_TOKEN--PAT模式下需要。
GITLAB_API_URLhttps://gitlab.com/api/v4GitLab API基础URL。如果需要,指向您的自托管实例。
GITLAB_READ_ONLY_MODEfalse隐藏所有写入工具。
AUTH_MODEpatpat (仅限环回)或 oauth (任何约束)。
HOST127.0.0.1为HTTP传输绑定地址。吃起来 0.0.0.0 暴露于网络——但仅限于 AUTH_MODE=oauth,否则启动拒绝。
USE_SSEfalse启用传统SSE传输。
USE_STREAMABLE_HTTPfalse启用MCP流式HTTP传输。
PORT3000SSE和流式HTTP的HTTP侦听端口。
CORS_ALLOW_ORIGINS_(空)_逗号分隔的异体字。空意味着 * 在PAT环回模式下(仅限本地开发);OAuth模式中的空表示拒绝。通配符从不在非环回绑定上发出
HEALTHZ_MAX_SESSIONS10000/healthz 翻转到高于该阈值的503。

.env.example 在回购中为当地发展提供资金。

______________________________________________________________________

部署

码头工人

ghcr.io/yoda-digital/mcp-gitlab-server:latest

多阶段构建 node:24-alpine.以非root(uid 1000)身份运行,所有功能均已删除。与只读根文件系统和 seccompProfile: RuntimeDefault Kubernetes pod安全设置。发布时,图片标签跟在semver后面; latest 跟踪最新标记的版本。

Kubernetes(Helm)

helm install gitlab-mcp oci://ghcr.io/yoda-digital/charts/gitlab-mcp

图表默认为 AUTH_MODE=oauth 因此,vanilla安装是身份验证门控的。使用注入的Ingress或网关来提供服务 Authorization: Bearer 每个连接。

该图表将活体和准备状态探测器运送到 /healthz,可选 PodDisruptionBudget、带有滚动重启注释的ConfigMap和Secret,以及五个拒绝呈现错误配置的故障大声防护:

  • AUTH_MODE=pat 无环回 HOST (CWE-306——见 chart/templates/auth-validation.yaml)
  • PAT模式下的空PAT existingSecret
  • 两者 existingSecret 和内联 secret.GITLAB_PERSONAL_ACCESS_TOKEN set(否则为无声优先级陷阱)
  • PDB minAvailable >= replicaCount (排水死锁)
  • 两者 minAvailable 和 maxUnavailable 在PDB上设置(Kubernetes在准入时拒绝此组合)

values.yaml 注释为 helm-docs,以及 chart/README.md 在CI中重新生成并检查漂移。

______________________________________________________________________

安全

关于供应链,有几件事是正确的。每个npm发布都用 Sigstore来源 通过OIDC可信出版。CodeQL在每次推送和PR上运行 security-extended 和 security-and-quality 查询包。Dependabot是打开的、分组的和每周的。 npm audit 报告当前版本中没有漏洞。 main 需要PR、状态检查、挤压或重基合并以及线性历史记录。

只读模式在工具注册时强制执行,而不是在请求边界。如果回归允许写工具在以下条件下执行 GITLAB_READ_ONLY_MODE=true,这是一个安全漏洞。请报告。

______________________________________________________________________

这在生态系统中的位置

有几种方法可以将GitLab和MCP结合起来。选择一个符合你情况的:

  • GitLab内置的MCP服务器 在 https:///api/v4/mcp.15工具,需要GitLab Premium或Ultimate,OAuth与您的GitLab IdP集成。如果您有订阅和15个工具,那么正确的选择对您的代理商来说是足够的表面积。
  • zereight/gitlab-mcp,最大的社区实施。更广泛的身份验证界面(PAT、OAuth2浏览器流、OAuth代理、远程授权),更多的工具。如果你想获得最大的覆盖范围,并且不介意考虑更大的项目,这是一个很好的选择。
  • mcpland/gitlab-mcp,以政策引擎为重点。OAuth2-PKCE,多实例路由,基于cookie的身份验证。适用于严格控制的企业部署。
  • 此服务器(@yoda.digital/gitlab-mcp-server).86工具,三种传输方式,PAT和OAuth,Sigstore支持的npm版本,非root多级Docker镜像,以及带有故障警报的Helm图表。如果你想要一个规模较小、安全性成熟的项目,可以干净利落地部署到Kubernetes中,那就太好了。

这些都不是普遍最好的,我们也不会假装不是。

______________________________________________________________________

贡献

PR欢迎。我们要求的形状:

  1. 叉子、树枝(feature/*, fix/*, docs/*, refactor/*).
  2. 常规承诺(feat:, fix:, docs:, chore:, …).他们驱动更新日志。
  3. 添加或更新vitest测试以进行行为更改。 npm test 是门。
  4. 打开PR.CI运行 build-and-test、CodeQL、Dockerfile lint、Helm lint和模板冒烟测试,以及Helm chart README漂移检查。

本地设置:

git clone https://github.com/yoda-digital/mcp-gitlab-server.git
cd mcp-gitlab-server
npm install
npm test
npm run dev

完整指南见 CONTRIBUTING.md人工智能辅助贡献规则 ai_code_of_conduct.md.行为准则: CODE_OF_CONDUCT.md.一些 good first issue 门票在问题跟踪器中实时显示。

______________________________________________________________________

贡献者

这个项目的作者比它的起源所暗示的要多。

扬(纳莱克)平静 是原作者和维护者。Yoda Digital首席技术官。

奥利维耶·金特兰德(@ecthelion77) 编写了每个连接的OAuth身份验证路径、MCP流式HTTP传输、多级Dockerfile和Helm图表,包括故障大声防护。版本0.4.0和0.5.0主要是他的作品,通过PR#42和PR#44合并。

Dependabot负责更改日志中的大部分杂务提交,并且从不睡觉。

如果你已经发送了PR或安全报告,但你不在这个列表中,那就是一个bug。请打开一个问题。

______________________________________________________________________

许可证

麻省理工学院.

______________________________________________________________________

链接

______________________________________________________________________

建于❤️ 通过 尤达。数字

工具与能力

工具数量

10

资源数量

0

提示词数量

0

能力标签

developer-toolsgitgitlabaimcpllmanthropicmodelcontextprotocol

支持客户端

Claude DesktopClaudeCursorVS Code

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

让助手直接读代码

把仓库、提交记录和 issue 交给模型检索,补全和重构时不用来回复制文件。

在对话里跑命令

触发构建、测试和脚本,执行结果直接回到上下文,省去切终端。

接进开发流程

把 PR、CI 状态和代码审查接进助手,减少在几个工具之间跳。

选择建议

值得选的地方

  • 工具数量 10 个,一次接入能覆盖的操作比单点工具更全。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 已经适配 Claude Desktop、Claude、Cursor,换客户端不用重新研究配置。

先想清楚的地方

  • stdio 方式要求本地装好 Docker,换机器要重新装一遍。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在开发工具场景里让模型直接调用外部能力的人。
  • 已经在用 Claude Desktop 的用户,接入路径最短。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
MCP Gitlab Server

MCP.so · 本页

10stdio有3 个2026-05-17
Git 838e2ec1

MCP World

12stdio有2 个2026-05-17
Markitdown MCP 2c653a5f

MCP World

1stdio有1 个2026-05-17
Context7 MCP C671e75a

MCP World

0stdio有1 个2026-05-17
Context7 831acf40

MCP World

0stdio有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

MCP Gitlab Server 怎么安装?

公开资料给出的安装命令是 docker run --rm -p 3000:3000 \,运行环境为 Docker。装完后按客户端要求写进 MCP 配置,重启客户端生效。

MCP Gitlab Server 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 Docker;保存后完全退出客户端再打开,配置才会生效。

MCP Gitlab Server 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

MCP Gitlab Server 需要 API Key 吗?

公开资料标注为无需认证,装好就能连;如果实际调用时报鉴权错误,按官方文档补上凭据。

MCP Gitlab Server 支持哪些客户端?

公开资料标注支持 Claude Desktop、Claude、Cursor、VS Code;其他客户端只要能配置 MCP Server,也能用同样的命令或地址接入。

来源信息

继续浏览同类 MCP