# Connect GitLab to your AI agent

> Yes — ClawLink is a hosted GitLab MCP server. 58 tools your agent can call from chat, with one-click hosted OAuth and nothing to run locally.

Web version: https://claw-link.dev/hub/gitlab

ClawLink hosts a managed GitLab MCP server that exposes 58 tools to your AI agent. You connect GitLab in one click, and your agent can read, create, and update GitLab data from chat without you building or running a local MCP server.

## Quick facts

- 58 tools callable from chat
- One-click hosted OAuth
- Works with OpenClaw, Hermes, Claude Code, Cursor, Codex, and any MCP client
- No local server or config files

## Overview

The usual path is: build auth, handle token refresh, wire up the tools. With ClawLink you connect GitLab once and start using the real actions from the agent.

## Setup

GitLab uses OAuth. You connect it in the browser: click Connect, sign in, approve. ClawLink stores the token and refreshes it on its own. You never touch a key or wire up a redirect URL.

Authentication: hosted OAuth

## What you can do

- **Work without tab-switching** — Pull up GitLab issues, repos, tasks, or alerts without leaving the conversation.
- **Ship the routine stuff faster** — The agent grabs GitLab context, drafts the next step, and runs the common maintenance actions.
- **Debug with real data** — Ask for the current state from GitLab before the agent suggests a fix. No guessing.

## GitLab tools

58 GitLab tools, ready the moment you connect.

- `gitlab_archive_project` — Tool to archive a project. Use when you need to mark a project read-only after finishing active development. Call after confirming no further changes are required.
- `gitlab_create_group` — Tool to create a new group in GitLab. Use when you need to establish a new group for projects or collaboration.
- `gitlab_create_project` — Tool to create a new project in GitLab. Implements POST /projects endpoint.
- `gitlab_create_project_issue` — Tool to create a new issue in a GitLab project. Use when you need to report a bug, request a feature, or track a task within a specific project.
- `gitlab_create_repository_branch` — Tool to create a new branch in a project. Use when you need to create a new branch from an existing branch or a specific commit in a GitLab project.
- `gitlab_download_project_avatar` — Tool to download a project's avatar image. Use when you need the raw avatar bytes after confirming the project exists.
- `gitlab_erase_job` — Tool to erase the content of a specified job within a project. Use when you need to remove job artifacts and logs.
- `gitlab_get_commit_refs` — Tool to get all references (branches or tags) a commit is pushed to. Use when you need to find out which branches or tags a specific commit belongs to in a GitLab project.
- `gitlab_get_commit_sequence` — Tool to get the sequence number of a commit in a project by following parent links from the given commit. Use when you need to determine the order of a commit in the project's history.
- `gitlab_get_group` — Tool to retrieve information about a specific group by its ID. Use when you need to get details of a GitLab group.
- `gitlab_get_group_member` — Tool to retrieve details for a specific group member. Use when you need to fetch membership information for a user in a group after you know both group ID and user ID.
- `gitlab_get_groups` — Get Groups
- `gitlab_get_job_details` — Retrieve details of a single job by its ID within a specified project
- `gitlab_get_merge_request_notes` — Fetch comments on a merge request
- `gitlab_get_project` — Get a single project by ID or URL-encoded path
- `gitlab_get_project_languages` — List programming languages used in a project with percentages
- `gitlab_get_project_member` — Retrieve details for a specific project member
- `gitlab_get_project_member_all` — Retrieve details for a specific project member (including inherited and invited members)
- `gitlab_get_project_merge_request` — Fetch full details for a single merge request when the MR IID is known
- `gitlab_get_project_merge_request_commits` — Get commits of a merge request
- `gitlab_get_project_merge_requests` — Retrieve a list of merge requests for a specific project
- `gitlab_get_projects` — List all projects accessible to the authenticated user
- `gitlab_get_projects_id_merge_requests_iid_diffs` — List all diff versions of a merge request
- `gitlab_get_repository_branch` — Retrieve information about a specific branch in a project
- `gitlab_get_repository_branches` — Retrieves a list of repository branches for a project
- `gitlab_get_single_commit` — Get a specific commit identified by the commit hash or name of a branch or tag
- `gitlab_get_single_pipeline` — Retrieve details of a single pipeline by its ID within a specified project
- `gitlab_get_user` — Retrieve information about a specific user by their ID
- `gitlab_get_user_preferences` — Get the current user's preferences
- `gitlab_get_user_status` — Get the current user's status

## Example prompts

- **Archive project:** Use GitLab to archive project and walk me through it.
- **Create group:** Create it in GitLab. Confirm the key fields with me before you finish.
- **Create project:** Create it in GitLab. Confirm the key fields with me before you finish.
- **Create project issue:** Create it in GitLab. Confirm the key fields with me before you finish.

## ClawLink vs. building it yourself

| | Manual | ClawLink |
|---|---|---|
| Connection | Build it yourself. You register a developer app with GitLab, set up redirect URLs, handle the consent screen, store and refresh access tokens, and redo the wiring when scopes change. | Hosted hosted OAuth. Connect once in the browser. ClawLink owns the lifecycle. |
| Maintenance | Token refresh, permission debugging, env config, every edge case. All yours. | ClawLink handles the plumbing. You focus on the workflow. |
| Time to first call | Days to weeks. Auth, storage, tool wiring, testing. Then the agent can act. | About two minutes from sign-up to the agent calling GitLab. |

## FAQ

### How do I connect GitLab to my AI agent?

Install ClawLink, open the dashboard, click Connect next to GitLab, and finish the hosted OAuth flow. Your agent can call GitLab from the next message. Two minutes, total.

### Is there a GitLab MCP server I can use?

Yes. ClawLink exposes GitLab as 58 tools your agent calls through a hosted MCP-compatible runtime. You don't run a local server or edit a config file. The tools are there the moment you connect.

### Do I need GitLab API credentials?

No separate API key. You sign in to GitLab through the normal OAuth flow and ClawLink handles the token after that.

### How much does it cost?

Your first integration is free, plus a 7-day trial of the full catalog. Paid plans unlock the rest of the library.

### Can I set this up from the terminal instead of the dashboard?

Yes. Run npx -y @useclawlink/cli login, then npx -y @useclawlink/cli connect gitlab. The first opens a browser to sign in to ClawLink. The second opens a browser to authorize GitLab. No API keys to create. Works with OpenClaw, Hermes, Claude Code, Cursor, Codex, and any agent that runs shell commands.
