Token导航 LogoToken导航TokenDH.com
Gitlab MCP Openapi logo
开发工具未说明官方级别未说明来源级核验

Gitlab MCP Openapi

MCP Server

GitLab MCP OpenAPI是一个基于OpenAPI模式的GitLab API通用执行工具,通过仅提供两个核心工具实现95%的令牌节省,适用于GitLab项目管理、CI/CD、问题跟踪等多种场景。

工具数

2

提示词数

0

GitHub Stars

0

资源数

0
API集成TypeScriptCI/CD

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

bakhshb

提供方

bakhshb

最后核验

2026/5/17 20:23

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

GitLab MCP OpenAPI

MIT License

GitLab的双工具OpenAPI驱动MCP服务器——与传统的显式工具实现相比,节省了95%的令牌。

______________________________________________________________________

概述

此MCP服务器提供 通用GitLab API执行器 使用OpenAPI模式。它只公开了44个以上的单个工具(如结构化世界) 2个强大的工具:

  • gitlab-api -执行任何GitLab REST API操作
  • gitlab-api-schema -发现可用的API路径和参数

为什么是这种模式?

方法工具令牌使用
传统(结构化世界)44个独立工具~15000-20000
此MCP2工具~1,000-1,500

结果: 在保持GitLab API全面覆盖的同时节省95%的代币。

______________________________________________________________________

安装

全局安装(适用于OpenClaw)

npm install -g @bakhshb/gitlab-mcp-openapi

本地安装(用于开发)

cd gitlab-mcp-openapi
npm install
npm run build

______________________________________________________________________

配置

环境变量

变量必填默认描述
GITLAB_TOKEN无\*-GitLab个人访问令牌(静态模式需要)
GITLAB_PERSONAL_ACCESS_TOKEN-GITLAB_TOKEN的替代方案
GITLAB_API_URL没有https://gitlab.comGitLab实例URL
GITLAB_TIMEOUT没有30000请求超时(毫秒)
OAUTH_ENABLED没有false启用OAuth令牌模式
GITLAB_OAUTH_TOKEN-OAuth访问令牌(当OAuth_ENABLED=true时使用)

\*要么 GITLAB_TOKEN, GITLAB_PERSONAL_ACCESS_TOKEN,或 GITLAB_OAUTH_TOKEN (OAUTH_ENABLED=true)是必需的。

创建个人访问令牌

  1. 转到您的GitLab实例→ 个人资料→ 访问令牌
  2. 点击 “添加新令牌”
  3. 将其命名为“MCP GitLab”或“OpenClaw”
  4. 选择范围:

- ✅ api -API完全访问 - ✅ read_user --用户配置文件访问

  1. 复制令牌
  2. 设置环境变量:
   export GITLAB_TOKEN=glpat-your-token-here

OAuth模式

对于基于OAuth的身份验证(MCP运行时提供的令牌):

export OAUTH_ENABLED=true
export GITLAB_OAUTH_TOKEN=your-oauth-token
gitlab-mcp-openapi

在OpenClaw配置中:

{
  "mcpServers": {
    "gitlab-mcp-openapi": {
      "command": "gitlab-mcp-openapi",
      "env": {
        "GITLAB_API_URL": "https://gitlab.com",
        "OAUTH_ENABLED": "true",
        "GITLAB_OAUTH_TOKEN": "${GITLAB_OAUTH_TOKEN}"
      }
    }
  }
}

自托管GitLab

对于自托管的GitLab(如您所在组织的GitLab):

export GITLAB_API_URL=https://gitlab.yourcompany.com
export GITLAB_TOKEN=glpat-your-token-here
gitlab-mcp-openapi

______________________________________________________________________

OpenClaw 集成

将MCP服务器添加到OpenClaw

编辑 ~/.openclaw/openclaw.json:

{
  "mcpServers": {
    "gitlab-mcp-openapi": {
      "command": "gitlab-mcp-openapi",
      "env": {
        "GITLAB_API_URL": "https://gitlab.com",
        "GITLAB_TOKEN": "${GITLAB_TOKEN}"
      }
    }
  }
}

对于自托管GitLab:

{
  "mcpServers": {
    "gitlab-mcp-openapi": {
      "command": "gitlab-mcp-openapi",
      "env": {
        "GITLAB_API_URL": "https://gitlab.yourcompany.com",
        "GITLAB_TOKEN": "${GITLAB_TOKEN}"
      }
    }
  }
}

重启网关

openclaw gateway restart

______________________________________________________________________

工具和服务

本MCP涵盖 44工具 在所有主要的GitLab API领域:

项目和命名空间(4个工具)

  • list_projects --列出所有项目
  • get_project --获取项目详细信息
  • search_projects --按名称搜索项目
  • create_project --创建新项目
  • browse_namespaces --列出命名空间
  • manage_namespace --创建/更新/删除组

合并请求(5个工具)

  • list_merge_requests --列出项目中的MR
  • get_merge_request --获取MR详细信息
  • create_merge_request --创建新MR
  • approve_merge_request --批准MR
  • merge_merge_request --合并MR
  • get_merge_request_approval_state --获取审批状态
  • browse_mr_discussions --列出MR讨论
  • manage_mr_discussion --添加/解析评论
  • manage_draft_notes --MR注释草案

管道和CI/CD(3个工具)

  • list_pipelines --列出项目管道
  • get_pipeline --获取管道详细信息
  • list_pipeline_jobs --列出管道中的作业
  • get_pipeline_job --获取作业详细信息
  • create_pipeline --触发新管道
  • cancel_pipeline --取消正在运行的管道
  • retry_pipeline --重试失败的管道
  • cancel_pipeline_job --取消特定作业
  • retry_pipeline_job --重试失败的作业

问题和注释(6个工具)

  • list_issues --列出问题
  • get_issue --获取问题详细信息
  • create_issue --创建新问题
  • update_issue --编辑问题
  • delete_issue --删除问题
  • my_issues --列出您分配的问题
  • list_issue_notes --列出问题评论
  • get_issue_note --获取具体评论
  • create_issue_note --添加评论
  • update_issue_note --编辑评论
  • delete_issue_note --删除评论

存储库(4个工具)

  • create_repository --创建新项目
  • fork_repository --分叉现有项目
  • get_file_contents --从repo读取文件
  • get_repository_tree --列出目录中的文件
  • list_commits --列出提交历史记录
  • get_commit --获取具体的提交详细信息
  • create_branch --创建新分支
  • delete_branch --删除分支

文件(2个工具)

  • browse_files --列出仓库文件(树)
  • manage_files --创建/更新/删除文件

发布(2个工具)

  • list_releases --列出项目发布
  • get_release --获取发布详细信息
  • create_release --创建发布
  • update_release --更新版本
  • delete_release --删除发布
  • download_release_asset --下载发布二进制文件

Wiki(2个工具)

  • browse_wiki --列出wiki页面
  • manage_wiki --创建/更新/删除wiki页面

里程碑(2个工具)

  • browse_milestones --列出项目里程碑
  • manage_milestone --创建/更新/删除里程碑

标签(2个工具)

  • browse_labels --列出项目标签
  • manage_label --创建/更新/删除标签

变量(2个工具)

  • browse_variables --列出CI/CD变量
  • manage_variable --创建/更新/删除变量

Webhooks(2个工具)

  • browse_webhooks --列出项目webhooks
  • manage_webhook --创建/更新/删除/测试webhooks

集成(2个工具)

  • browse_integrations --列出项目集成
  • manage_integration --启用/禁用/集成

片段(2个工具)

  • browse_snippets --列出代码片段
  • manage_snippet --创建/更新/删除代码段

工作项目(2个工具)

  • browse_work_items --搜索史诗/任务
  • manage_work_item --创建/更新/删除工作项

成员(2个工具)

  • browse_members --列出项目成员
  • manage_member --添加/更新/删除成员

搜索(1个工具)

  • browse_search --GitLab全球搜索

事件(1个工具)

  • browse_events --用户/项目事件历史记录

所有 (2 工具)

  • browse_todos 列出所有
  • manage_todos --标记完成/恢复

提交(1个工具)

  • browse_commits --列出/获取提交、差异

______________________________________________________________________

使用示例

列出项目

{
  path: "/api/v4/projects",
  queryParams: { per_page: 20, membership: true }
}

获取具体项目

{
  path: "/api/v4/projects/{id}",
  pathParams: { id: 15 }
}

创建项目(POST)

{
  path: "/api/v4/projects",
  method: "POST",
  body: {
    name: "my-new-project",
    namespace_id: 1,
    visibility: "private",
    description: "Created via MCP"
  }
}

列出合并请求

{
  path: "/api/v4/projects/{id}/merge_requests",
  pathParams: { id: 15 },
  queryParams: { state: "opened", per_page: 10 }
}

批准合并请求

{
  path: "/api/v4/projects/{id}/merge_requests/{merge_request_iid}/approve",
  method: "POST",
  pathParams: { id: 15, merge_request_iid: 42 }
}

创建管道

{
  path: "/api/v4/projects/{id}/pipeline",
  method: "POST",
  pathParams: { id: 15 },
  body: { ref: "main" }
}

列出管道

{
  path: "/api/v4/projects/{id}/pipelines",
  pathParams: { id: 15 },
  queryParams: { per_page: 20 }
}

创建问题

{
  path: "/api/v4/projects/{id}/issues",
  method: "POST",
  pathParams: { id: 15 },
  body: {
    title: "Found a bug",
    description: "Detailed bug report...",
    labels: ["bug", "critical"]
  }
}

列出问题

{
  path: "/api/v4/projects/{id}/issues",
  pathParams: { id: 15 },
  queryParams: { state: "opened", per_page: 50 }
}

列表发布

{
  path: "/api/v4/projects/{id}/releases",
  pathParams: { id: 15 }
}

获取文件内容

{
  path: "/api/v4/projects/{id}/repository/files/{path}/raw",
  pathParams: { id: 15, path: "README.md" },
  queryParams: { ref: "main" }
}

创建分支

{
  path: "/api/v4/projects/{id}/repository/branches",
  method: "POST",
  pathParams: { id: 15 },
  body: {
    branch: "feature/new-feature",
    ref: "main"
  }
}

______________________________________________________________________

建筑

基于规范的设计

  • 动态OpenAPI规范 --加载经过筛选的GitLab OpenAPI规范(143条路径,333 KB)
  • 没有硬编码端点 -任何GitLab REST API端点都可以访问
  • 自动方法检测 --从规范中检测到HTTP方法(GET/POST/PUT/DELETE/PATCH)

2-工具模式

gitlab-api (generic executor)
├── path + method + params → GitLab REST API
└── gitlab-api-schema (schema discovery)
    └── tag/path → OpenAPI introspection

______________________________________________________________________

发展

安装依赖项

npm install

构建

npm run build

在本地运行

npm run start

测试

使用监视模式运行测试:

npm test

运行一次测试:

npm run test:run

环境设置

cp .env.example .env
# Edit .env with your GitLab URL and token

______________________________________________________________________

灵感

此MCP服务器遵循与以下相同的2工具OpenAPI模式:

______________________________________________________________________

许可证

麻省理工学院——见 许可证 文件。

______________________________________________________________________

链接

  • npm: https://www.npmjs.com/package/@bakhshb/gitlab mcp openapi
  • github: https://github.com/bakhshb/gitlab-mcp-openapi
  • GitLab API文档: https://docs.gitlab.com/ee/api/rest/
  • OpenClaw文档: https://docs.openclaw.ai

______________________________________________________________________

支持

对于问题、疑问或贡献:

目录标签

目录标签

API集成TypeScriptCI/CDGitLabAPI本地部署OpenAPI项目管理API执行

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

oauth

工具数量(toolCount,工具数)

2

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明oauth部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

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

仍需确认:installCommand

来源信息

继续浏览同类 MCP