GitLab intelligence →
Association is based on retained identity fields; it does not by itself prove first-party publication.
A fully-featured GitLab MCP server that provides 25 advanced capabilities for interacting with GitLab via REST API, including repositories, merge requests, issues, and global search
Detailed security scan evidence is not public for this MCP yet. Public identity, registry metadata, and independently observed protocol inventory remain available.
Installation and connection instructions are shown only when supported by retained package, repository, or endpoint evidence.
No verified installation or connection method is available in the retained evidence yet.
| Canonical slug | md-gitlab-mcp-82ac3a2d | Deployment | Local Only |
|---|---|---|---|
| Canonical package | — | Repository | DrBoria/md-gitlab-mcp |
| First published | — | Latest release | — |
| Last security verification | — | Classification confidence | 90% |
| Publication | Draft | Official distribution | Not verified |
| Channel | Identifier | Current version | Versions | Source |
|---|---|---|---|---|
| source_git | drboria/md-gitlab-mcp | 4d8482979987324af39d0a070942e53a9dd6ed06 | 1 | Repository |
| Package | Version | Published / observed | Inventory | Security scan |
|---|---|---|---|---|
| source_gitdrboria/md-gitlab-mcp | 4d8482979987324af39d0a070942e53a9dd6ed06Current | Aug 25, 2026 | 27 toolsSucceeded · 0 resources · 0 prompts | Evidence restricted |
Independently scan the exact version your agents use, receive alerts when its risk changes, and investigate every finding with retained version evidence.
No public current-version evidence is available yet.
| Tool | Category | Annotations | Risk |
|---|---|---|---|
add_issue_commentAdd a comment to an existing issueInput 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 repositoryInput 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 repositoryInput 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 repositoryInput 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 requestInput 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 namespaceInput 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 namespaceInput 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 repositoryInput 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 repositoryInput 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 requestInput 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 URLInput 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 requestInput 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 URLInput 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 requestInput 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 requestInput 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 requestInput 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 repositoryInput 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 optionsInput 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 requestsInput 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 requestInput 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 commitInput 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 repositoriesInput 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 repositoriesInput 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 projectsInput 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 GitLabInput 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 repositoryInput 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#"
} | — | — |
| Endpoint | Transport | Authentication | Health | Observed |
|---|---|---|---|---|
| No verified remote endpoint is linked. | ||||
No verified package installation command is available in the retained catalog evidence.
md-gitlab-mcp Server exposed 27 tools during independent protocol observation, including add_issue_comment, create_branch, create_issue, create_merge_request, create_merge_request_review, create_repository, fork_repository, get_file_contents, and others.
The selected current version does not yet have completed public verification. Unknown does not mean clean or vulnerable.
These internal links are derived from strong identity fields such as the implementation name, package, repository, vendor, and listing name—not generic description prose.
Association is based on retained identity fields; it does not by itself prove first-party publication.
Curated product and capability guides containing this catalog record.