GitLab Operations

Manage GitLab resources including webhooks, CI/CD variables, and protected branches.

Community: Submitted by a user or imported; check the owner before granting accessOnlineAPI key requiredGlobalFreeRead-only

What it can do

  • Create Webhook: Create a project-level webhook with configurable event subscriptions (push, tag, MR, pipeline, etc.) and optional secret token verification
  • List Webhooks: List all webhooks configured on a GitLab project, including their URLs, event subscriptions, and SSL verification status
  • Update Webhook: Update an existing webhook's URL, secret token, event subscriptions, or SSL settings

What data it sees

Do you need an account

An API key from the service settings is required

Manage GitLab resources including webhooks, CI/CD variables, and protected branches. Automate administrative tasks like creating project access tokens and managing group structures. Streamline repository settings and pipeline triggers to improve DevOps workflows.

How to connect

How to connect GitLab Operations to Claude

The server address to paste into Claude settings:

https://gitlab-ops-mcp--jarecsni.run.tools

  1. Open Claude (claude.ai or the desktop app).
  2. Go to Settings → Connectors.
  3. Click Add custom connector.
  4. Paste the server address copied below into Remote MCP server URL and click Add.
  5. In a chat, click + → Connectors and switch the new connector on.

Custom connectors are available on Free, Pro, Max, Team and Enterprise plans (Free is limited to one). On Team and Enterprise an organization Owner adds the connector first under Organization settings → Connectors.

Authorization

After you click Add, a sign-in window for the service opens. Sign in with your own account and approve access. Claude never sees your password.

How to connect GitLab Operations to ChatGPT

The server address to paste into ChatGPT settings:

https://gitlab-ops-mcp--jarecsni.run.tools

  1. Open ChatGPT in a browser (chatgpt.com). A Plus, Pro, Business, Enterprise or Edu plan is required.
  2. Turn on developer mode once: Settings → Apps → Advanced settings → Developer mode.
  3. Open Settings → Connectors and click Create.
  4. Fill in the form: Name (anything), Description (one line about what the service does), MCP server URL (copy it below).
  5. Under Authentication choose OAuth if the service requires sign-in, otherwise None. Click Create.
  6. In a new chat open + → Apps/Connectors and enable the connector.

OpenAI has renamed this section before (Connectors → Apps/Plugins). If the label differs, search settings for "developer mode". On Business/Enterprise workspaces an admin must allow custom connectors first.

Authorization

On first use ChatGPT opens the service's sign-in window. Sign in and approve access.

How to connect GitLab Operations to Cursor

The server address to paste into Cursor settings:

https://gitlab-ops-mcp--jarecsni.run.tools

Fastest: click Open in Cursor below and confirm the prompt.

Manually:

  1. In Cursor open Settings → Cursor Settings → MCP and click Add new global MCP server.
  2. Paste the JSON copied below into ~/.cursor/mcp.json (per project: .cursor/mcp.json in the repo root).
  3. Save the file. The server appears in the MCP list; authorize it there if asked.

Authorization

If the service needs sign-in, an authorize button appears next to the server in the MCP list.

Server tool list (22)

Raw names from tools/list. Only developers need these.

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