Mcp Gitlab — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Mcp Gitlab (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
A secure MCP (Model Context Protocol) server for GitLab projects, merge requests, issues, pipelines, and search. Works with any GitLab instance (gitlab.com, self-hosted, or enterprise).
This MCP server is designed to be:
quay.io/crunchtools/mcp-gitlab built on Hummingbird Python base image| Component | Name |
|---|---|
| GitHub repo | crunchtools/mcp-gitlab |
| Container | quay.io/crunchtools/mcp-gitlab |
| Python package (PyPI) | mcp-gitlab-crunchtools |
| CLI command | mcp-gitlab-crunchtools |
| Module import | mcp_gitlab_crunchtools |
The container image is built on the Hummingbird Python base image from Project Hummingbird, which provides:
list_projects - List projects with filtering and searchget_project - Get project details by ID or pathlist_project_branches - List repository branchesget_project_branch - Get a single branchlist_project_commits - List commits with date/path filteringlist_groups - List groups with filteringget_group - Get group details by ID or pathlist_group_projects - List projects in a group (with subgroup support)list_merge_requests - List MRs by state, labels, milestoneget_merge_request - Get MR detailscreate_merge_request - Create a new MRupdate_merge_request - Update MR title, description, state, assigneeslist_mr_notes - List comments on an MRcreate_mr_note - Add a comment to an MRget_mr_changes - Get the diff for an MRlist_issues - List issues by state, labels, milestone, assigneeget_issue - Get issue detailscreate_issue - Create a new issueupdate_issue - Update issue title, description, state, labelslist_issue_notes - List comments on an issuecreate_issue_note - Add a comment to an issuelist_pipelines - List CI/CD pipelines with status filteringget_pipeline - Get pipeline detailslist_pipeline_jobs - List jobs in a pipelineget_job_log - Get job log outputsearch_global - Search across all accessible GitLab resourcessearch_project - Search within a specific projectuvx mcp-gitlab-crunchtoolspip install mcp-gitlab-crunchtoolspodman run -e GITLAB_TOKEN=your_token \
quay.io/crunchtools/mcp-gitlab| Variable | Required | Default | Description |
|---|---|---|---|
GITLAB_TOKEN | Yes | — | Personal Access Token |
GITLAB_URL | No | https://gitlab.com | GitLab instance URL |
mcp-gitlab-crunchtools| Scope | Access Level | Capabilities |
|---|---|---|
read_api | Read-only | List/view projects, issues, MRs, pipelines |
api | Full access | All features including create/update |
glpat-)claude mcp add mcp-gitlab-crunchtools \
--env GITLAB_TOKEN=your_token_here \
-- uvx mcp-gitlab-crunchtoolsFor self-hosted GitLab:
claude mcp add mcp-gitlab-crunchtools \
--env GITLAB_TOKEN=your_token_here \
--env GITLAB_URL=https://gitlab.example.com \
-- uvx mcp-gitlab-crunchtoolsFor the container version:
claude mcp add mcp-gitlab-crunchtools \
--env GITLAB_TOKEN=your_token_here \
-- podman run -i --rm -e GITLAB_TOKEN quay.io/crunchtools/mcp-gitlabUser: List my GitLab projects
Assistant: [calls list_projects with membership=true]User: Show open merge requests for my-org/backend
Assistant: [calls list_merge_requests with project_id="my-org/backend"]User: Create an issue in my-org/backend titled "Fix login timeout"
Assistant: [calls create_issue with title="Fix login timeout"]User: Show failed pipelines for my-org/api
Assistant: [calls list_pipelines with status="failed"]User: Search for "authentication" in my-org/backend
Assistant: [calls search_project with scope="blobs"]This server was designed with security as a primary concern. See SECURITY.md for:
git clone https://github.com/crunchtools/mcp-gitlab.git
cd mcp-gitlab
uv syncuv run pytestuv run ruff check src tests
uv run mypy srcpodman build -t mcp-gitlab .AGPL-3.0-or-later
Contributions welcome! Please read SECURITY.md before submitting security-related changes.
<!-- mcp-name: io.github.crunchtools/gitlab -->
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.