mcp-gitlab mcp

v1.0.0 · MCP Tool · developer · registry.pascalai.org

GitLab REST API v4 — projects, issues, merge requests, branches, commits and files. Auth: Personal Access Token. Operations: list_projects, get_project, list_issues, get_issue, create_issue, update_issue, list_mrs, get_mr, create_mr, update_mr, list_branches, get_file, create_file, update_file, list_commits, search.

gitlabgitissuesmerge-requestsdeveloperci

Input Parameters

ParameterTypeDescription
operationrequired string Operation to perform. One of: list_projects, get_project, list_issues, get_issue, create_issue, update_issue, list_mrs, get_mr, create_mr, update_mr, list_branches, get_file, create_file, update_file, list_commits, search.
tokenrequired string GitLab Personal Access Token.
baseUrloptional string GitLab instance URL (default: https://gitlab.com). Default: https://gitlab.com.
projectIdoptional string Project ID or URL-encoded path (e.g. 'group/repo'). Required for project operations.
issueIidoptional integer Issue IID (internal ID) for get, update issue.
mrIidoptional integer Merge Request IID for get, update MR.
titleoptional string Issue or MR title for create.
descriptionoptional string Issue or MR description (Markdown).
sourceBranchoptional string Source branch for create_mr.
targetBranchoptional string Target branch for create_mr (default: main). Default: main.
filePathoptional string File path for get/create/update file.
contentoptional string File content for create/update file.
commitMessageoptional string Commit message for file operations.
queryoptional string Search query for search/list operations.
scopeoptional string Search scope: projects, issues, merge_requests, milestones, users. Default: projects.
stateoptional string State filter for issues/MRs. One of: opened, closed, all. Default: opened.
labelsoptional string Comma-separated label names to filter/assign.
assigneeIdoptional integer Assignee user ID for create/update.
limitoptional integer Results per page (default: 20). Default: 20.
pageoptional integer Page number (default: 1). Default: 1.

Output Fields

FieldTypeDescription
project object
projects array[object]
issue object
issues array[object]
mr object
mrs array[object]
file object
commits array[object]
ok boolean
error string

Examples

Create an issue

// Input
{
  "operation": "create_issue",
  "token": "glpat-xxx",
  "projectId": "mygroup/myrepo",
  "title": "Fix null pointer",
  "description": "Occurs when user is not logged in."
}

// Output
{
  "issue": {
    "iid": 42,
    "title": "Fix null pointer",
    "state": "opened"
  }
}

Install & Discovery

Install

ppm install mcp-gitlab

Get JSON Schema

GET /v1/packages/mcp-gitlab/1.0.0/schema

Discover by keyword

GET /v1/mcp/discover?q=gitlab
Discovery hint: Install with ppm install mcp-gitlab or invoke remotely via POST /v1/invoke/mcp-gitlab on the MCP Service.

PascalAI Usage

uses toolslib;
var Tool := LoadTool('mcp-gitlab');
var R := Tool.Call(JsonObj(['operation','list_issues','token','glpat-xxx','projectId','group/repo']));
Writeln(R.ToJSON);