← md-gitlab-mcp

md-gitlab-mcp 4d8482979987324af39d0a070942e53a9dd6ed06

source_git · drboria/md-gitlab-mcp · current release

27
Tools
0
Resources
0
Templates
0
Prompts

Observation

Observed 2026-08-25T12:22:41.328Z using mcpSecurity-inventory. Status: succeeded. Negotiated protocol: 2025-06-18.

Server capabilities
{
  "tools": {}
}

Tools 27

ToolCategoryAnnotationsRisk
add_issue_commentAdd a comment to an existing issue
Input schema
{
  "type": "object",
  "properties": {
    "owner": {
      "type": "string",
      "description": "Project namespace/path (e.g. 'pro/portal/frontends') or numeric Project ID"
    },
    "repo": {
      "type": "string",
      "description": "Project path/name (e.g. 'pro-portal-onboarding-and-retention')"
    },
    "issueIid": {
      "type": "number",
      "description": "The IID of the issue to comment on"
    },
    "body": {
      "type": "string",
      "description": "The comment body text"
    }
  },
  "required": [
    "owner",
    "repo",
    "issueIid",
    "body"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
create_branchCreate a new branch in a GitLab repository
Input schema
{
  "type": "object",
  "properties": {
    "owner": {
      "type": "string",
      "description": "Project namespace/path (e.g. 'pro/portal/frontends') or numeric Project ID"
    },
    "repo": {
      "type": "string",
      "description": "Project path/name (e.g. 'pro-portal-onboarding-and-retention')"
    },
    "branch": {
      "type": "string",
      "description": "Name for the new branch"
    },
    "fromBranch": {
      "type": "string",
      "description": "Optional: source branch to create from (defaults to the repository's default branch)"
    }
  },
  "required": [
    "owner",
    "repo",
    "branch"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
create_issueCreate a new issue in a GitLab repository
Input schema
{
  "type": "object",
  "properties": {
    "owner": {
      "type": "string",
      "description": "Project namespace/path (e.g. 'pro/portal/frontends') or numeric Project ID"
    },
    "repo": {
      "type": "string",
      "description": "Project path/name (e.g. 'pro-portal-onboarding-and-retention')"
    },
    "title": {
      "type": "string",
      "description": "Issue title"
    },
    "body": {
      "type": "string",
      "description": "Issue description/body"
    },
    "assignees": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Array of usernames to assign"
    },
    "milestone": {
      "type": "string",
      "description": "Milestone ID or title"
    },
    "labels": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Array of label names"
    }
  },
  "required": [
    "owner",
    "repo",
    "title"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
create_merge_requestCreate a new merge request in a GitLab repository
Input schema
{
  "type": "object",
  "properties": {
    "owner": {
      "type": "string",
      "description": "Project namespace/path (e.g. 'pro/portal/frontends') or numeric Project ID"
    },
    "repo": {
      "type": "string",
      "description": "Project path/name (e.g. 'pro-portal-onboarding-and-retention')"
    },
    "title": {
      "type": "string",
      "description": "Merge request title"
    },
    "body": {
      "type": "string",
      "description": "Merge request body/description"
    },
    "head": {
      "type": "string",
      "description": "The name of the source branch where your changes are implemented"
    },
    "base": {
      "type": "string",
      "description": "The name of the target branch you want the changes pulled into"
    },
    "draft": {
      "type": "boolean",
      "description": "Whether to create the merge request as a draft"
    }
  },
  "required": [
    "owner",
    "repo",
    "title",
    "head",
    "base"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
create_merge_request_reviewCreate a review/approval on a merge request
Input schema
{
  "type": "object",
  "properties": {
    "owner": {
      "type": "string",
      "description": "Project namespace/path (e.g. 'pro/portal/frontends') or numeric Project ID"
    },
    "repo": {
      "type": "string",
      "description": "Project path/name (e.g. 'pro-portal-onboarding-and-retention')"
    },
    "mergeRequestIid": {
      "type": "number",
      "description": "The IID of the merge request"
    },
    "body": {
      "type": "string",
      "description": "The body text of the review or comment"
    },
    "event": {
      "type": "string",
      "description": "The review action to perform (e.g. APPROVE, COMMENT)"
    }
  },
  "required": [
    "owner",
    "repo",
    "mergeRequestIid",
    "body",
    "event"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
create_repositoryCreate a new GitLab project in your namespace
Input schema
{
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": "Repository name"
    },
    "description": {
      "type": "string",
      "description": "Repository description"
    },
    "isPrivate": {
      "type": "boolean",
      "description": "Whether the repository should be private"
    },
    "autoInit": {
      "type": "boolean",
      "description": "Initialize with README.md"
    }
  },
  "required": [
    "name"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
fork_repositoryFork a GitLab project to your account or specified namespace
Input schema
{
  "type": "object",
  "properties": {
    "owner": {
      "type": "string",
      "description": "Project namespace/path (e.g. 'pro/portal/frontends') or numeric Project ID"
    },
    "repo": {
      "type": "string",
      "description": "Project path/name (e.g. 'pro-portal-onboarding-and-retention')"
    },
    "organization": {
      "type": "string",
      "description": "Optional: organization to fork to (defaults to your personal account)"
    }
  },
  "required": [
    "owner",
    "repo"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
get_file_contentsGet the contents of a file or directory from a GitLab repository
Input schema
{
  "type": "object",
  "properties": {
    "owner": {
      "type": "string",
      "description": "Project namespace/path (e.g. 'pro/portal/frontends') or numeric Project ID"
    },
    "repo": {
      "type": "string",
      "description": "Project path/name (e.g. 'pro-portal-onboarding-and-retention')"
    },
    "path": {
      "type": "string",
      "description": "Path to the file or directory"
    },
    "branch": {
      "type": "string",
      "description": "Branch to get contents from"
    }
  },
  "required": [
    "owner",
    "repo",
    "path"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
get_issueGet details of a specific issue in a GitLab repository
Input schema
{
  "type": "object",
  "properties": {
    "owner": {
      "type": "string",
      "description": "Project namespace/path (e.g. 'pro/portal/frontends') or numeric Project ID"
    },
    "repo": {
      "type": "string",
      "description": "Project path/name (e.g. 'pro-portal-onboarding-and-retention')"
    },
    "issueIid": {
      "type": "number",
      "description": "The IID of the issue to retrieve"
    }
  },
  "required": [
    "owner",
    "repo",
    "issueIid"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
get_merge_requestGet details of a specific merge request
Input schema
{
  "type": "object",
  "properties": {
    "owner": {
      "type": "string",
      "description": "Project namespace/path (e.g. 'pro/portal/frontends') or numeric Project ID"
    },
    "repo": {
      "type": "string",
      "description": "Project path/name (e.g. 'pro-portal-onboarding-and-retention')"
    },
    "mergeRequestIid": {
      "type": "number",
      "description": "The IID of the merge request to retrieve"
    }
  },
  "required": [
    "owner",
    "repo",
    "mergeRequestIid"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
get_merge_request_by_urlFetch merge request details using a full URL
Input schema
{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "description": "Full GitLab Merge Request URL (e.g. 'https://gitlab.com/owner/repo/-/merge_requests/123'). Use this if you have the URL."
    }
  },
  "required": [
    "url"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
get_merge_request_commentsGet the review comments/notes on a merge request
Input schema
{
  "type": "object",
  "properties": {
    "owner": {
      "type": "string",
      "description": "Project namespace/path (e.g. 'pro/portal/frontends') or numeric Project ID"
    },
    "repo": {
      "type": "string",
      "description": "Project path/name (e.g. 'pro-portal-onboarding-and-retention')"
    },
    "mergeRequestIid": {
      "type": "number",
      "description": "The IID of the merge request"
    }
  },
  "required": [
    "owner",
    "repo",
    "mergeRequestIid"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
get_merge_request_comments_by_urlFetch merge request comments using a full URL
Input schema
{
  "type": "object",
  "properties": {
    "url": {
      "type": "string",
      "description": "Full GitLab Merge Request URL (e.g. 'https://gitlab.com/owner/repo/-/merge_requests/123'). Use this to fetch comments if you have the URL."
    }
  },
  "required": [
    "url"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
get_merge_request_filesGet the list of files changed in a merge request
Input schema
{
  "type": "object",
  "properties": {
    "owner": {
      "type": "string",
      "description": "Project namespace/path (e.g. 'pro/portal/frontends') or numeric Project ID"
    },
    "repo": {
      "type": "string",
      "description": "Project path/name (e.g. 'pro-portal-onboarding-and-retention')"
    },
    "mergeRequestIid": {
      "type": "number",
      "description": "The IID of the merge request"
    }
  },
  "required": [
    "owner",
    "repo",
    "mergeRequestIid"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
get_merge_request_reviewsGet the reviews/approvals on a merge request
Input schema
{
  "type": "object",
  "properties": {
    "owner": {
      "type": "string",
      "description": "Project namespace/path (e.g. 'pro/portal/frontends') or numeric Project ID"
    },
    "repo": {
      "type": "string",
      "description": "Project path/name (e.g. 'pro-portal-onboarding-and-retention')"
    },
    "mergeRequestIid": {
      "type": "number",
      "description": "The IID of the merge request"
    }
  },
  "required": [
    "owner",
    "repo",
    "mergeRequestIid"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
get_merge_request_statusGet the combined status of all status checks (pipelines) for a merge request
Input schema
{
  "type": "object",
  "properties": {
    "owner": {
      "type": "string",
      "description": "Project namespace/path (e.g. 'pro/portal/frontends') or numeric Project ID"
    },
    "repo": {
      "type": "string",
      "description": "Project path/name (e.g. 'pro-portal-onboarding-and-retention')"
    },
    "mergeRequestIid": {
      "type": "number",
      "description": "The IID of the merge request"
    }
  },
  "required": [
    "owner",
    "repo",
    "mergeRequestIid"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
list_commitsGet list of commits of a branch in a GitLab repository
Input schema
{
  "type": "object",
  "properties": {
    "owner": {
      "type": "string",
      "description": "Project namespace/path (e.g. 'pro/portal/frontends') or numeric Project ID"
    },
    "repo": {
      "type": "string",
      "description": "Project path/name (e.g. 'pro-portal-onboarding-and-retention')"
    },
    "sha": {
      "type": "string",
      "description": "Branch name or commit SHA"
    },
    "page": {
      "type": "number",
      "description": "Page number for pagination"
    },
    "perPage": {
      "type": "number",
      "description": "Number of results per page"
    }
  },
  "required": [
    "owner",
    "repo"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
list_issuesList issues in a GitLab repository with filtering options
Input schema
{
  "type": "object",
  "properties": {
    "owner": {
      "type": "string",
      "description": "Project namespace/path (e.g. 'pro/portal/frontends') or numeric Project ID"
    },
    "repo": {
      "type": "string",
      "description": "Project path/name (e.g. 'pro-portal-onboarding-and-retention')"
    },
    "state": {
      "type": "string",
      "description": "State of issues to return (e.g., opened, closed, all)"
    },
    "labels": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Filter by labels"
    },
    "page": {
      "type": "number",
      "description": "Page number of the results"
    },
    "perPage": {
      "type": "number",
      "description": "Results per page"
    }
  },
  "required": [
    "owner",
    "repo"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
list_merge_requestsList and filter repository merge requests
Input schema
{
  "type": "object",
  "properties": {
    "owner": {
      "type": "string",
      "description": "Project namespace/path (e.g. 'pro/portal/frontends') or numeric Project ID"
    },
    "repo": {
      "type": "string",
      "description": "Project path/name (e.g. 'pro-portal-onboarding-and-retention')"
    },
    "state": {
      "type": "string",
      "description": "State of merge requests (e.g., opened, closed, merged, all)"
    },
    "page": {
      "type": "number",
      "description": "Page number"
    },
    "perPage": {
      "type": "number",
      "description": "Results per page"
    }
  },
  "required": [
    "owner",
    "repo"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
merge_merge_requestMerge a merge request
Input schema
{
  "type": "object",
  "properties": {
    "owner": {
      "type": "string",
      "description": "Project namespace/path (e.g. 'pro/portal/frontends') or numeric Project ID"
    },
    "repo": {
      "type": "string",
      "description": "Project path/name (e.g. 'pro-portal-onboarding-and-retention')"
    },
    "mergeRequestIid": {
      "type": "number",
      "description": "The IID of the merge request to merge"
    },
    "commitMessage": {
      "type": "string",
      "description": "Optional detail to append to the automatic commit message"
    }
  },
  "required": [
    "owner",
    "repo",
    "mergeRequestIid"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
push_filesPush multiple files to a GitLab repository in a single commit
Input schema
{
  "type": "object",
  "properties": {
    "owner": {
      "type": "string",
      "description": "Project namespace/path (e.g. 'pro/portal/frontends') or numeric Project ID"
    },
    "repo": {
      "type": "string",
      "description": "Project path/name (e.g. 'pro-portal-onboarding-and-retention')"
    },
    "branch": {
      "type": "string",
      "description": "Branch to push to (e.g., 'main' or 'master')"
    },
    "files": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "file_path": {
            "type": "string",
            "description": "Path of the file to create or update"
          },
          "content": {
            "type": "string",
            "description": "Content of the file"
          }
        },
        "required": [
          "file_path",
          "content"
        ],
        "additionalProperties": false
      },
      "description": "Array of files to push"
    },
    "message": {
      "type": "string",
      "description": "Commit message"
    }
  },
  "required": [
    "owner",
    "repo",
    "branch",
    "files",
    "message"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
search_codeSearch for code across GitLab repositories
Input schema
{
  "type": "object",
  "properties": {
    "q": {
      "type": "string",
      "description": "Search query (see GitLab code search syntax)"
    },
    "page": {
      "type": "number",
      "description": "Page number"
    },
    "perPage": {
      "type": "number",
      "description": "Results per page"
    }
  },
  "required": [
    "q"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
search_issuesSearch for issues and merge requests across GitLab repositories
Input schema
{
  "type": "object",
  "properties": {
    "q": {
      "type": "string",
      "description": "Search query for issues/merge requests"
    },
    "page": {
      "type": "number",
      "description": "Page number"
    },
    "perPage": {
      "type": "number",
      "description": "Results per page"
    }
  },
  "required": [
    "q"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
search_repositoriesSearch for GitLab projects
Input schema
{
  "type": "object",
  "properties": {
    "query": {
      "type": "string",
      "description": "Search query (see GitLab search syntax)"
    },
    "page": {
      "type": "number",
      "description": "Page number for pagination (default: 1)"
    },
    "perPage": {
      "type": "number",
      "description": "Number of results per page (default: 30, max: 100)"
    }
  },
  "required": [
    "query"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
search_usersSearch for users on GitLab
Input schema
{
  "type": "object",
  "properties": {
    "q": {
      "type": "string",
      "description": "Search query for users"
    },
    "page": {
      "type": "number",
      "description": "Page number"
    },
    "perPage": {
      "type": "number",
      "description": "Results per page"
    }
  },
  "required": [
    "q"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
update_issueUpdate an existing issue in a GitLab repository
Input schema
{
  "type": "object",
  "properties": {
    "owner": {
      "type": "string",
      "description": "Project namespace/path (e.g. 'pro/portal/frontends') or numeric Project ID"
    },
    "repo": {
      "type": "string",
      "description": "Project path/name (e.g. 'pro-portal-onboarding-and-retention')"
    },
    "issueIid": {
      "type": "number",
      "description": "The IID (Internal ID) of the issue"
    },
    "title": {
      "type": "string",
      "description": "New title for the issue"
    },
    "body": {
      "type": "string",
      "description": "New description/body for the issue"
    },
    "state": {
      "type": "string",
      "description": "State to update the issue to (opened or closed)"
    },
    "labels": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Array of labels to set"
    }
  },
  "required": [
    "owner",
    "repo",
    "issueIid"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —
update_merge_request_branchUpdate a merge request branch with the latest changes from the target branch (rebase)
Input schema
{
  "type": "object",
  "properties": {
    "owner": {
      "type": "string",
      "description": "Project namespace/path (e.g. 'pro/portal/frontends') or numeric Project ID"
    },
    "repo": {
      "type": "string",
      "description": "Project path/name (e.g. 'pro-portal-onboarding-and-retention')"
    },
    "mergeRequestIid": {
      "type": "number",
      "description": "The IID of the merge request"
    }
  },
  "required": [
    "owner",
    "repo",
    "mergeRequestIid"
  ],
  "additionalProperties": false,
  "$schema": "http://json-schema.org/draft-07/schema#"
}
— · —

Resources 0

Resource templates 0

Prompts 0

Let’s talk about MCP security.

Share your details and our security team will contact you.