Back to Browse

Repocollab MCP Server

Developer ToolsModerate5.6MCP RegistryLocal
Free

Server data from the Official MCP Registry

GitLab projects, branches, files, issues and merge requests via the GitLab REST API.

About

GitLab projects, branches, files, issues and merge requests via the GitLab REST API.

Security Report

5.6
Moderate5.6Moderate Risk

repocollab is a clean, focused GitLab MCP server that authenticates via a personal access token in an environment variable, uses zod validation on tool calls, and talks only to the GitLab REST API at a configurable base URL. Its permissions (network_http to GitLab, env_vars for the token, and write operations on GitLab projects) match its stated purpose, and the only notable observations are minor: the token is attached to a user-configurable base URL and a broad catch swallows errors in the file-existence probe. Supply chain analysis found 4 known vulnerabilities in dependencies (0 critical, 2 high severity). Package verification found 1 issue.

8 files analyzed · 8 issues found

Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.

Permissions Required

This plugin requests these system permissions. Most are normal for its category.

HTTP Network Access

Connects to external APIs or services over the internet.

env_vars

Check that this permission is expected for this type of plugin.

How to Install

Add this to your MCP configuration file:

{
  "mcpServers": {
    "io-github-cloudcorprecords-repocollab": {
      "args": [
        "-y",
        "@reneturcios/repocollab"
      ],
      "command": "npx"
    }
  }
}

Documentation

View on GitHub

From the project's GitHub README.

repocollab

repocollab puts the everyday GitLab project workflow behind an MCP server: find a project, create or fork one, cut a branch, read and write files, and open and track issues and merge requests. It is a core subset of the documented GitLab MCP surface — the twelve tools an agent reaches for most — talking to the GitLab REST v4 API.

Authentication is a personal access token in GITLAB_PERSONAL_ACCESS_TOKEN, sent as a Bearer token. By default the server talks to https://gitlab.com/api/v4; point GITLAB_API_URL at a self-managed instance to use that instead. A project_id is a string throughout: either the numeric project id or the URL-encoded project path both work.

Install

npx @reneturcios/repocollab search_repositories --search my-project
docker run -i -e GITLAB_PERSONAL_ACCESS_TOKEN ghcr.io/cloudcorprecords/repocollab

CLI

repocollab search_repositories --search my-project
repocollab create_repository --name demo --visibility private
repocollab get_file_contents --project-id group/demo --file-path README.md --ref main
repocollab create_issue --project-id 42 --title "Bug report" --labels bug
repocollab list_merge_requests --project-id 42 --state opened
repocollab --version

Exit codes: 0 success, 1 API error, 2 usage error.

MCP server

npx -y @reneturcios/repocollab mcp
{
  "mcpServers": {
    "repocollab": {
      "command": "npx",
      "args": ["-y", "@reneturcios/repocollab", "mcp"],
      "env": { "GITLAB_PERSONAL_ACCESS_TOKEN": "glpat-..." }
    }
  }
}

Tools

ToolRequiredOptional
search_repositoriessearch—
create_repositorynamedescription, visibility
fork_repositoryproject_idnamespace
create_branchproject_id, branchref
get_file_contentsproject_id, file_pathref
create_or_update_fileproject_id, file_path, content, commit_message, branchprevious_path
create_issueproject_id, titledescription, labels
list_issuesproject_idstate, per_page, page
get_issueproject_id, issue_iid—
create_merge_requestproject_id, title, source_branch, target_branchdescription
list_merge_requestsproject_idstate, per_page, page
get_merge_requestproject_id, merge_request_iid—

create_or_update_file checks whether the file already exists on the target branch and creates it (POST) or updates it (PUT) accordingly. A missing token is reported as a tool error naming GITLAB_PERSONAL_ACCESS_TOKEN; upstream HTTP errors surface with their status and GitLab's message.

Out of scope in this subset: pipelines and CI, wiki, snippets, milestones, label/epic management, user and group administration, protected branches, repository tree/archive/compare detail, merge request approvals, discussions and notes beyond get_merge_request, and search beyond projects.

Development

npm install
npm run build
npm test
npm run dev

Tests run entirely on fake-fetch fixtures; no network is used.

License

MIT — see LICENSE.

Reviews

No reviews yet

Be the first to review this server!