GitLab Operations
编码与调试by jarecsni
管理GitLab资源,如webhooks、CI/CD变量和受保护分支,并自动化访问令牌、群组结构、仓库设置与pipeline触发等运维任务。
什么是 GitLab Operations?
管理GitLab资源,如webhooks、CI/CD变量和受保护分支,并自动化访问令牌、群组结构、仓库设置与pipeline触发等运维任务。
核心功能 (22 个工具)
create_webhookCreate a project-level webhook with configurable event subscriptions (push, tag, MR, pipeline, etc.) and optional secret token verification
list_webhooksList all webhooks configured on a GitLab project, including their URLs, event subscriptions, and SSL verification status
update_webhookUpdate an existing webhook's URL, secret token, event subscriptions, or SSL settings
delete_webhookRemove a webhook from a GitLab project
test_webhookTrigger a test event (push, tag_push, etc.) against a webhook to verify it is receiving and processing events correctly
create_ci_variableCreate a project-level CI/CD variable with optional protection (only exposed to protected branches), masking (hidden in job logs), environment scoping, and file type support
list_ci_variablesList all CI/CD variables for a project, including their keys, protection status, masking, and environment scopes
update_ci_variableUpdate an existing CI/CD variable's value, protection, masking, environment scope, or type
delete_ci_variableRemove a CI/CD variable from a project by key
protect_branchProtect a branch (or wildcard pattern) with configurable push/merge access levels and force-push settings to enforce merge-only workflows
list_protected_branchesList all protected branches for a project, including their push/merge access levels and force-push settings
unprotect_branchRemove protection rules from a branch, restoring default push and merge permissions
update_project_settingsUpdate project-level settings: merge strategy (merge/rebase/fast-forward), squash policy, pipeline requirements, source branch cleanup, Auto DevOps, shared runners, and container registry
create_groupCreate a new GitLab group or subgroup with configurable visibility and description for namespace isolation
list_groupsList GitLab groups with optional search, ownership, and minimum access level filters
delete_groupDelete a GitLab group and all projects within it (cascading delete)
create_project_access_tokenCreate a scoped, rotatable access token for a project with configurable scopes (api, read_api, read/write_repository, read/write_registry), access level, and expiry date
list_project_access_tokensList all access tokens for a project, including their scopes, access levels, and expiry dates
revoke_project_access_tokenRevoke a project access token, immediately invalidating it for all future API requests
create_pipeline_triggerCreate a pipeline trigger token for cross-project pipeline triggering via the GitLab API
list_pipeline_triggersList all pipeline trigger tokens for a project, including their descriptions and ownership
delete_pipeline_triggerRemove a pipeline trigger token, preventing any further pipeline triggers using it
README
gitlab-ops-mcp
The operational layer for GitLab that the standard MCP doesn't cover. Webhooks, CI/CD variables, branch protection, project settings, groups, access tokens, and pipeline triggers — 21 tools across 7 domains, ready for automated project setup and delivery orchestration.
Why?
The existing GitLab MCP (@zereight/mcp-gitlab) covers the developer workspace: repos, branches, MRs, issues, pipelines. But when you need to set up and govern projects — configure webhooks, protect branches, manage CI variables across repos — you're back in the GitLab UI clicking buttons.
gitlab-ops-mcp fills that gap. Together with the standard MCP, you get complete GitLab API coverage for fully automated multi-repo project setup.
Quick Start
Local (stdio transport)
Run directly with npx — no install required:
npx gitlab-ops-mcp
Requires GITLAB_PERSONAL_ACCESS_TOKEN in your environment.
Remote (HTTP transport)
A hosted instance is available at:
https://gitlab-ops-mcp.fly.dev/mcp
The remote server uses per-session authentication via the X-GitLab-Token header — no server-side credentials stored.
MCP Client Configuration
Stdio (local)
{
"mcpServers": {
"gitlab-ops": {
"command": "npx",
"args": ["-y", "gitlab-ops-mcp"],
"env": {
"GITLAB_PERSONAL_ACCESS_TOKEN": "glpat-...",
"GITLAB_API_URL": "https://gitlab.com/api/v4"
}
}
}
}
Streamable HTTP (remote)
{
"mcpServers": {
"gitlab-ops": {
"type": "streamable-http",
"url": "https://gitlab-ops-mcp.fly.dev/mcp",
"headers": {
"X-GitLab-Token": "glpat-..."
}
}
}
}
Environment Variables
| Variable | Required | Default | Description |
|---|---|---|---|
GITLAB_PERSONAL_ACCESS_TOKEN | Yes (stdio) | — | GitLab personal access token with appropriate scopes |
GITLAB_API_URL | No | https://gitlab.com/api/v4 | GitLab API v4 base URL |
For the HTTP transport, the GitLab token is passed per-request via the X-GitLab-Token header instead.
Tool Catalogue
21 tools across 7 domains. Each tool is a thin REST wrapper around the GitLab API v4.
Webhooks
Manage project-level webhooks for event-driven automation.
| Tool | Description |
|---|---|
create_webhook | Create a webhook with configurable event flags |
list_webhooks | List all webhooks for a project |
update_webhook | Update a webhook's URL, token, or event flags |
delete_webhook | Remove a webhook from a project |
test_webhook | Trigger a test event for a webhook |
CI/CD Variables
Manage project-level CI/CD variables for environment-specific configuration.
| Tool | Description |
|---|---|
create_ci_variable | Create a variable with optional protection, masking, and scoping |
list_ci_variables | List all CI/CD variables for a project |
update_ci_variable | Update a variable's value or flags |
delete_ci_variable | Remove a CI/CD variable |
Protected Branches
Manage branch protection rules to enforce merge-only workflows.
| Tool | Description |
|---|---|
protect_branch | Protect a branch with configurable access levels |
list_protected_branches | List all protected branches |
unprotect_branch | Remove protection from a branch |
Project Settings
Update project-level configuration for consistent governance across repos.
| Tool | Description |
|---|---|
update_project_settings | Update merge method, pipeline requirements, squash options, and more |
Groups / Subgroups
Manage GitLab groups for namespace isolation.
| Tool | Description |
|---|---|
create_group | Create a group or subgroup |
list_groups | List groups with search and access level filters |
delete_group | Delete a group (cascades to all projects within) |
Project Access Tokens
Manage scoped, rotatable access tokens for cross-repo CI communication.
| Tool | Description |
|---|---|
create_project_access_token | Create a scoped token with configurable access level and expiry |
list_project_access_tokens | List all access tokens for a project |
revoke_project_access_token | Revoke an access token |
Pipeline Trigger Tokens
Manage pipeline trigger tokens for cross-project pipeline triggering.
| Tool | Description |
|---|---|
create_pipeline_trigger | Create a pipeline trigger token |
list_pipeline_triggers | List all trigger tokens for a project |
delete_pipeline_trigger | Remove a trigger token |
Auto-Approve Suggestions
Read-only tools are safe to auto-approve. Mutating tools (create, update, delete) should require confirmation.
"autoApprove": [
"list_webhooks",
"list_ci_variables",
"list_protected_branches",
"list_groups",
"list_project_access_tokens",
"list_pipeline_triggers"
]
Self-Hosting
The server ships with a Dockerfile and Fly.io configuration for self-hosting the HTTP transport.
fly apps create my-gitlab-ops-mcp
fly deploy
The HTTP server runs on port 3000 with a /health endpoint for liveness checks. Machines auto-stop when idle and auto-start on incoming requests.
Relationship to Existing GitLab MCP
The two servers are complementary, not competing:
@zereight/mcp-gitlab— developer workspace (repos, branches, MRs, issues, pipelines)gitlab-ops-mcp— project operations (webhooks, variables, protection, settings, tokens)
Requirements
- Node.js >= 18.0.0
Licence
MIT
常见问题
GitLab Operations 是什么?
管理GitLab资源,如webhooks、CI/CD变量和受保护分支,并自动化访问令牌、群组结构、仓库设置与pipeline触发等运维任务。
GitLab Operations 提供哪些工具?
提供 22 个工具,包括 create_webhook、list_webhooks、update_webhook 等。
相关 Skills
前端设计
by anthropics
面向组件、页面、海报和 Web 应用开发,按鲜明视觉方向生成可直接落地的前端代码与高质感 UI,适合做 landing page、Dashboard 或美化现有界面,避开千篇一律的 AI 审美。
✎ 想把页面做得既能上线又有设计感,就用前端设计:组件到整站都能产出,难得的是能避开千篇一律的 AI 味。
网页构建器
by anthropics
面向复杂 claude.ai HTML artifact 开发,快速初始化 React + Tailwind CSS + shadcn/ui 项目并打包为单文件 HTML,适合需要状态管理、路由或多组件交互的页面。
✎ 在 claude.ai 里做复杂网页 Artifact 很省心,多组件、状态和路由都能顺手搭起来,React、Tailwind 与 shadcn/ui 组合效率高、成品也更精致。
网页应用测试
by anthropics
用 Playwright 为本地 Web 应用编写自动化测试,支持启动开发服务器、校验前端交互、排查 UI 异常、抓取截图与浏览器日志,适合调试动态页面和回归验证。
✎ 借助 Playwright 一站式验证本地 Web 应用前端功能,调 UI 时还能同步查看日志和截图,定位问题更快。
相关 MCP Server
GitHub
编辑精选by GitHub
GitHub 是 MCP 官方参考服务器,让 Claude 直接读写你的代码仓库和 Issues。
✎ 这个参考服务器解决了开发者想让 AI 安全访问 GitHub 数据的问题,适合需要自动化代码审查或 Issue 管理的团队。但注意它只是参考实现,生产环境得自己加固安全。
Context7 文档查询
编辑精选by Context7
Context7 是实时拉取最新文档和代码示例的智能助手,让你告别过时资料。
✎ 它能解决开发者查找文档时信息滞后的问题,特别适合快速上手新库或跟进更新。不过,依赖外部源可能导致偶尔的数据延迟,建议结合官方文档使用。
by tldraw
tldraw 是让 AI 助手直接在无限画布上绘图和协作的 MCP 服务器。
✎ 这解决了 AI 只能输出文本、无法视觉化协作的痛点——想象让 Claude 帮你画流程图或白板讨论。最适合需要快速原型设计或头脑风暴的开发者。不过,目前它只是个基础连接器,你得自己搭建画布应用才能发挥全部潜力。