What your AI apps can do with GitLab
- Read and create issues and merge requests
- Inspect pipelines and jobs
GitLab MCP tools
32 tools, taken from the publisher's documentation on 29 October 2026. The server decides what it offers and can add or rename tools at any time; after you connect, Toolstile shows the current list.
| Tool | What it does |
|---|---|
get_project | Reads a project or lists projects |
list_projects | Reads a project or lists projects |
search | Searches across GitLab, including groups and projects |
get_repository_file | Reads a file from a repository |
list_repository_tree | Lists files and directories |
list_commits | Lists commits or reads one |
get_commit | Lists commits or reads one |
list_branches | Lists branches |
list_merge_requests | Lists merge requests or reads one |
get_merge_request | Lists merge requests or reads one |
get_merge_request_diffs | Reads a merge request's diffs |
get_merge_request_notes | Reads merge request comments |
list_work_items | Lists or reads issues, tasks and epics |
get_work_item | Lists or reads issues, tasks and epics |
list_pipelines | Lists pipelines or reads one |
get_pipeline | Lists pipelines or reads one |
get_pipeline_jobs | Reads pipeline jobs and job details |
get_job | Reads pipeline jobs and job details |
add_branch | Creates a branch from a source ref |
add_commit | Commits one or more file changes to a branch |
save_merge_request | Creates or updates a merge request |
save_merge_request_review | Writes review artifacts such as review comments |
accept_merge_request | Merges a merge request or arms auto-merge |
save_note | Comments on a merge request or work item, or replies to a thread |
save_work_item | Creates or updates an issue, task or epic |
link_work_items | Links work items with a relationship type |
save_pipeline | Runs, retries, cancels or renames a pipeline |
fork_repository | Forks a repository |
list_vulnerabilities | Reads vulnerabilities (Ultimate) (code_security toolset) |
get_vulnerability | Reads vulnerabilities (Ultimate) (code_security toolset) |
save_vulnerability | Changes a vulnerability's state (Ultimate) (code_security toolset) |
start_duo_session | Starts an asynchronous GitLab Duo Agent Platform session (duo_agent_platform toolset) |
Suggested access for each AI app
The documentation this list comes from doesn't mark GitLab's tools as read-only or destructive. Read each tool's description and decide per app before allowing it.
Coding agent in Claude Code or Cursor. Allow the read tools so the agent can look things up without stopping, and require approval for tools that change shared data.
Chat or research app in Claude Desktop. Allow reading and searching. Allow writes only where you want the app to act for you.
Unattended agent, such as a scheduled Codex job. No one is watching the session, so keep it narrow: allow what the job needs, require approval for changes and block the rest.
Blocked tools are removed from the tool list an app sees, so it won't try them. Because rules apply per app, the same GitLab connection can be broad in one app and read-only in another, and the credential stays in Toolstile instead of each app's config file.
How it works with Toolstile
- Connect once. Add GitLab to a workspace (browser sign-in). Toolstile keeps the credential, so no agent config holds it.
- Choose access per app. Give Claude Code every GitLab tool, give Cursor only the read tools, or keep GitLab away from an app entirely.
- Share approved accounts. Teammates use the connection without copying tokens, and you can remove access in one place.
- Review activity. See which app called which tool and when, so you can tighten access with evidence.
Add the GitLab MCP server to an AI app
Through Toolstile, every AI app uses one gateway entry, whichever servers you connect. In Claude Code:
claude mcp add --transport http toolstile 'https://toolstile.com/mcp'Then connect GitLab in your workspace and choose which of its tools that app may use. Client setup covers Codex, Cursor and Claude Desktop.
To connect directly instead, add the GitLab endpoint to each app separately. In Claude Code:
claude mcp add --transport http gitlab 'https://gitlab.com/api/v4/mcp'In Cursor's mcp.json:
{
"mcpServers": {
"gitlab": {
"url": "https://gitlab.com/api/v4/mcp"
}
}
}Some servers accept only clients they have approved, or need a token header. Check the GitLab MCP documentation for what your client needs.
Before you connect
A GitLab account. Sign-in uses your GitLab permissions.
Server details
| Detail | Value |
|---|---|
| Publisher | GitLab |
| Endpoint | https://gitlab.com/api/v4/mcp |
| Authentication | Browser sign-in |
| Categories | Development |
| Tool list | 32 tools, observed 29 October 2026 (docs) |