gitlab-api
GitLab MCP Server and Python API Wrapper
Install / Use
claude mcp add Knuckles-Team -- npx -y github:Knuckles-Team/gitlab-apiIf the server publishes to npm under a different name, use that package instead — check the repo README.
MCP Server
Model Context Protocol server
Quality Score
Category
Development & EngineeringSupported Platforms
Our assessment of gitlab-api
gitlab-api scores 69/100 on our quality scale, 3906th of 4,637 Development & Engineering skills we index.
Its MCP Server is 49 KB long, well organised into 43 sections with 10 code examples: long enough that it reads more like full documentation than a focused instruction file, which agents can find harder to follow.
It has 10 GitHub stars, so there is little community track record yet; judge it on its content.
Maintenance, license and trust
- The repository was last updated 6 days ago, so gitlab-api is actively maintained.
- Our last check on 2026-09-29 found the source still online.
- It is released under the MIT license, a permissive license that allows use, modification and commercial use with attribution.
- Its trust signals score 92/100, with 1 caution from licensing, adoption, age or documentation. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.
Safety scan
No issues foundOur scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands. An AI review of the same text found nothing harmful.
AI review by kimi-k2.7-code on 2026-09-24. Automated pattern scan on 2026-09-24. It catches known dangerous patterns, not every risk — read a skill before letting an agent act on it.
gitlab-api compared with similar skills
All 4 of these similar skills score higher than gitlab-api; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| gitlab-api (this skill)by Knuckles-Team | 69 | 10 | 6d ago | MCP Server |
| Agent-Reachby Panniantong | 100 | 90.8k | 19d ago | CLAUDE.md |
| headroomby headroomlabs-ai | 100 | 74.4k | today | CLAUDE.md |
| CowAgentby zhayujie | 100 | 47.2k | today | CLAUDE.md |
| ai-job-searchby MadsLorentzen | 100 | 45.0k | 1d ago | CLAUDE.md |
Frequently asked questions
- How do I install gitlab-api?
- Run
claude mcp add Knuckles-Team -- npx -y github:Knuckles-Team/gitlab-api. The install tabs above show the steps for each supported agent. - Which AI agents does gitlab-api work with?
- It is written for Claude Code and Claude Desktop, as a MCP Server file. Other agents that read the same format can often use it too.
- Is gitlab-api safe to use?
- Our scan of the whole file found no instruction hijacking, hidden characters, credential access, data exfiltration or destructive commands. An AI review of the same text found nothing harmful. It is MIT-licensed and scores 92/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is gitlab-api still maintained?
- The repository was last updated 6 days ago, so gitlab-api is actively maintained.
Skill content
View source on GitHubGitlab Api
CLI or API | MCP | Agent
Version: 27.1.0
Documentation — Installation, deployment, usage across the API, CLI, and MCP interfaces, the integrated A2A agent server, and guidance for provisioning the backing GitLab instance are maintained in the official documentation.
Overview
Gitlab Api is a production-grade Agent and Model Context Protocol (MCP) server designed to interface directly with GitLab API + MCP Server + A2A Server.
Key Features
- Consolidated Action-Routed MCP Tools: Minimizes token overhead and eliminates tool bloat in LLM contexts by grouping methods into optimized, togglable tool modules.
- Enterprise-Grade Security: Comprehensive support for Eunomia policies, OIDC token delegation, and granular execution context tracking.
- Integrated Graph Agent: Built-in Pydantic AI agent supporting the Agent Control Protocol (ACP) and standard Web interfaces (AG-UI).
- Native Telemetry & Tracing: Out-of-the-box OpenTelemetry exports and native Langfuse tracing.
CLI or API
This agent wraps the GitLab API + MCP Server + A2A Server API. You can interact with it programmatically or via its integrated execution entrypoints.
Detailed instructions on how to use the underlying API wrappers, extended schema bindings, and developer SDK references are maintained in docs/index.md.
MCP
This server utilizes dynamic Action-Routed tools to optimize token overhead and maximize IDE compatibility.
Tool surface — MCP_TOOL_MODE
Set MCP_TOOL_MODE (in the shared ~/.config/agent-utilities/config.json or env):
condensed (default — the action-routed tools below), verbose (one named 1:1 tool
per API method, e.g. gitlab_get_branches(...), tagged verbose), or both. Filter
the verbose set with --tools tag:verbose / MCP_ENABLED_TAGS=verbose. See the
agent-utilities MCP Tool Modes guide.
Available MCP Tools
Auto-generated from the live MCP server — do not edit by hand.
<!-- MCP-TOOLS-TABLE:START -->Condensed action-routed tools (default — MCP_TOOL_MODE=condensed)
| MCP Tool | Toggle Env Var | Description |
|----------|----------------|-------------|
| api_request | CUSTOM_APITOOL | Execute arbitrary GitLab REST API requests directly. |
| gitlab_branches | BRANCHESTOOL | Manage gitlab branches operations. |
| gitlab_commits | COMMITSTOOL | Manage gitlab commits operations. |
| gitlab_deploy_tokens | DEPLOY_TOKENSTOOL | Manage gitlab deploy tokens operations. |
| gitlab_discover_graphql_schema | GRAPHQLTOOL | Discover the dynamic GitLab GraphQL schema including types, fields, and custom attributes in real-time. |
| gitlab_environments | ENVIRONMENTSTOOL | Manage gitlab environments operations. |
| gitlab_epics | EPICSTOOL | Manage GitLab epics. |
| gitlab_graphql | GRAPHQLTOOL | Execute raw GraphQL queries and mutations natively on GitLab. |
| gitlab_graphql_ops | GRAPHQL_OPSTOOL | Run a typed GitLab GraphQL operation by name. |
| gitlab_groups | GROUPSTOOL | Manage gitlab groups operations. |
| gitlab_ingest_pipelines | MISCTOOL | Natively ingest GitLab CI pipeline runs (+ jobs) into epistemic-graph. |
| gitlab_ingest_projects | MISCTOOL | Natively ingest GitLab projects into epistemic-graph as typed :Project nodes. |
| gitlab_instances | MISCTOOL | List the configured GitLab tenants (CONCEPT:AU-KG.backend.declared-columns-so-schema). |
| gitlab_issues | ISSUESTOOL | Manage GitLab issues. |
| gitlab_jobs | JOBSTOOL | Manage gitlab jobs operations. |
| gitlab_labels | LABELSTOOL | Manage GitLab labels. |
| gitlab_members | MEMBERSTOOL | Manage gitlab members operations. |
| gitlab_merge_requests | MERGE_REQUESTSTOOL | Manage gitlab merge requests operations. |
| gitlab_merge_rules | MERGE_RULESTOOL | Manage gitlab merge rules operations. |
| gitlab_milestones | MILESTONESTOOL | Manage GitLab milestones. |
| gitlab_namespaces | NAMESPACESTOOL | Manage gitlab namespaces operations. |
| gitlab_notes | NOTESTOOL | Manage GitLab notes/comments on issues, merge requests, commits, and epics. |
| gitlab_packages | PACKAGESTOOL | Manage gitlab packages operations. |
| gitlab_pipeline_schedules | PIPELINE_SCHEDULESTOOL | Manage gitlab pipeline schedules operations. |
| gitlab_pipelines | PIPELINESTOOL | Manage gitlab pipelines operations. |
| gitlab_projects | PROJECTSTOOL | Manage gitlab projects operations. |
| gitlab_protected_branches | PROTECTED_BRANCHESTOOL | Manage gitlab protected branches operations. |
| gitlab_releases | RELEASESTOOL | Manage gitlab releases operations. |
| gitlab_runners | RUNNERSTOOL | Manage gitlab runners operations. |
| gitlab_snippets | SNIPPETSTOOL | Manage GitLab snippets. |
| gitlab_tags | TAGSTOOL | Manage gitlab tags operations. |
| gitlab_users | USERSTOOL | Manage gitlab users operations. |
| gitlab_vulnerabilities | VULNERABILITIESTOOL | Review a project's dependency list and security vulnerabilities (the GitLab counterpart to GitHub Dependabot). |
| gitlab_wiki | WIKITOOL | Manage gitlab wiki operations. |
Verbose 1:1 API-mapped tools (MCP_TOOL_MODE=verbose or both)
<details>
<summary>196 per-operation tools — one per public API method (click to expand)</summary>
| MCP Tool | Toggle Env Var | Description |
|----------|----------------|-------------|
| gitlab_accept_merge_request | MERGE_REQUESTSTOOL | Accept (merge) a merge request. |
| gitlab_api_request | SYSTEMTOOL | Make a custom API request to the GitLab server. |
| gitlab_approve_merge_request | MERGE_REQUESTSTOOL | Approve a specific merge request. |
| gitlab_archive_project | PROJECTSTOOL | Archive a specific project. |
| gitlab_cancel_merge_when_pipeline_succeeds | MERGE_REQUESTSTOOL | Cancel a merge request's queued "merge when pipeline succeeds" (auto-merge). |
| gitlab_cancel_project_job | PROJECTSTOOL | Cancel a specific job within a project. |
| gitlab_cherry_pick_commit | REPOSITORIESTOOL | Cherry-pick a commit into a new branch. |
| gitlab_create_branch | REPOSITORIESTOOL | Create a new branch in a project. |
| gitlab_create_commit | REPOSITORIESTOOL | Create a new commit. |
| gitlab_create_commit_comment | REPOSITORIESTOOL | Create a comment on a commit. |
| gitlab_create_environment | ENVIRONMENTSTOOL | Create a new environment for a project. |
| gitlab_create_epic | ISSUESTOOL | Create a new group epic. |
| gitlab_create_group_deploy_token | USERS_GROUPSTOOL | Create a deploy token for a group. |
| gitlab_create_issue | ISSUESTOOL | Create a new issue. |
| gitlab_create_label | ISSUESTOOL | Create a new label. |
| gitlab_create_merge_request | MERGE_REQUESTSTOOL | Create a new merge request. |
| gitlab_create_milestone | ISSUESTOOL | Create a project milestone. |
| gitlab_create_note | OTHERTOOL | Create a new note/comment on an issue. |
| gitlab_create_pipeline_schedule | PIPELINESTOOL | Create a pipeline schedule for a specific project. |
| gitlab_create_pipeline_schedule_variable | PIPELINESTOOL | Create a variable for a pipeline schedule. |
| gitlab_create_project | PROJECTSTOOL | Create a new project. |
| gitlab_create_project_deploy_token | PROJECTSTOOL | Create a deploy token for a project. |
| gitlab_create_project_level_rule | PROJECTSTOOL | Create a new project-level merge request approval rule. |
| gitlab_create_release | ENVIRONMENTSTOOL | Create a new release in a project. |
| gitlab_create_release_evidence | ENVIRONMENTSTOOL | Create evidence for a release in a project. |
| gitlab_create_snippet | OTHERTOOL | Create a project snippet or personal snippet. |
| gitlab_create_tag | REPOSITORIESTOOL | Create a tag in a project. |
| gitlab_create_user | USERS_GROUPSTOOL | Create a new user. |
| gitlab_create_wiki_page | OTHERTOOL | Create a new wiki page for a project. |
| gitlab_delete_branch | REPOSITORIESTOOL | Delete a branch in a project. |
| gitlab_delete_environment | ENVIRONMENTSTOOL | Delete an environment for a project. |
| gitlab_delete_epic | ISSUESTOOL | Delete a group epic. |
| gitlab_delete_group_deploy_token | USERS_GROUPSTOOL | Delete a deploy token for a group. |
| gitlab_delete_issue | ISSUESTOOL | Delete an issue. |
| gitlab_delete_label | ISSUESTOOL | Delete a label. |
| gitlab_delete_merged_branches | REPOSITORIESTOOL | Delete all merged branches in a project. |
| gitlab_delete_milestone | ISSUESTOOL | Delete a project milestone. |
| gitlab_delete_note | OTHERTOOL | Delete a note. |
| gitlab_delete_pipeline_schedule | PIPELINESTOOL | Delete a pipeline schedule for a specific project. |
| gitlab_delete_pipeline_schedule_variable | PIPELINESTOOL | Delete a variable from a pipeline schedule. |
| gitlab_delete_project | PROJECTSTOOL | Delete a specific project. |
| gitlab_delete_project_deploy_token | PROJECTSTOOL | Delete a deploy token for a project. |
| gitlab_delete_project_level_rule | PROJECTSTOOL | Delete a project-level merge request approval rule. |
| gitlab_delete_project_runner | PROJECTSTOOL | Delete a runner from a project. |
| gitlab_delete_release | ENVIRONMENTSTOOL | Delete a release in a project. |
| gitlab_delete_runner | PIPELINESTOOL | Delete a runner. |
| gitlab_delete_shared_project_link | PROJECTSTOOL | Unshare a specific project from a group. |
| gitlab_delete_snippet | OTHERTOOL | Delete a snippet. |
| gitlab_delete_stopped_environments | ENVIRONMENTSTOOL | Delete stopped environments (review apps) for a project. |
| gitlab_delete_tag | REPOSITORIESTOOL | Delete a tag in a project. |
| gitlab_delete_user | USERS_GROUPSTOOL | Delete a user. |
| gitlab_delete_wiki_page | OTHERTOOL | Delete a wiki page for a project. |
| gitlab_download_release_asset | ENVIRONMENTSTOOL | Download a release asset from a group's release. |
| gitlab_download_repository_package | OTHERTOOL | Download a repository package for a specific project. |
| gitlab_edit_group | USERS_GROUPSTOOL | Edit a specific group. |
| gitlab_edit_group_level_rule | USERS_GROUPSTOOL | Edit a group-level merge request approval setting. |
| gitlab_edit_pipeline_schedule | PIPELINESTOOL | Edit a pipeline schedule for a specific project. |
| gitlab_edit_project | `PROJECTSTOO
Truncated for display — read the full file on GitHub.
Related Skills
Agent-Reach
90.8kGive your AI agent eyes to see the entire internet. Read & search Twitter, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu — one CLI, zero API fees.
headroom
74.4kCompress tool outputs, logs, files, and RAG chunks before they reach the LLM. 20% fewer tokens for coding agents, 60-95% fewer tokens for JSON, same answers. Library, proxy, MCP server.
CowAgent
47.2kOpen-source personal AI assistant & Agent Harness. Plans tasks, runs tools and skills, self-evolves with memory and knowledge. Multi-agent, multi-model, multi-channel. Lightweight, extensible, one-line install.
ai-job-search
45.0kThe job search that runs on your machine. AI job application framework built on Claude Code: evaluate postings, tailor CVs, write cover letters, prep interviews. Fork it and own it.
Languages
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.
