MCP server intelligence profile

md-gitlab-mcp Server

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

Local OnlyDrBoria
Awaiting current scanSource Git · 4d8482979987324af39d0a070942e53a9dd6ed06

The selected current version does not yet have completed public verification. Unknown does not mean clean or vulnerable.

1Distribution channel
27Independently observed tools
0Linked remote endpoints
AvailableVersion intelligence

Detailed security scan evidence is not public for this MCP yet. Public identity, registry metadata, and independently observed protocol inventory remain available.

Install and connect

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.

Identity

Canonical slugmd-gitlab-mcp-82ac3a2dDeploymentLocal Only
Canonical packageRepositoryDrBoria/md-gitlab-mcp
First publishedLatest release
Last security verificationClassification confidence90%
PublicationDraftOfficial distributionNot verified

Distributions

ChannelIdentifierCurrent versionVersionsSource
source_gitdrboria/md-gitlab-mcp4d8482979987324af39d0a070942e53a9dd6ed061Repository

Current release

PackageVersionPublished / observedInventorySecurity scan
source_gitdrboria/md-gitlab-mcp4d8482979987324af39d0a070942e53a9dd6ed06CurrentAug 25, 202627 toolsSucceeded · 0 resources · 0 promptsEvidence restricted
Enterprise protection

Continuously monitor this MCP for security risk

Independently scan the exact version your agents use, receive alerts when its risk changes, and investigate every finding with retained version evidence.

  • Independent exact-version security scans
  • Continuous release and vulnerability monitoring
  • Risk-change alerts with capability context
  • Historical evidence and API exports
Custom pricingContact salesTailored to your organization, integrations, data needs, and support requirements.

Current version evidence

No public current-version evidence is available yet.

Current protocol inventory

2025-06-18Negotiated protocol
md-gitlab-mcpServer-reported name
1Capability groups
Aug 25, 2026Observed

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

  • None observed.

Resource templates 0

  • None observed.

Prompts 0

  • None observed.

Remote endpoints

EndpointTransportAuthenticationHealthObserved
No verified remote endpoint is linked.

md-gitlab-mcp Server questions

How do I install md-gitlab-mcp Server?

No verified package installation command is available in the retained catalog evidence.

What tools does md-gitlab-mcp Server provide?

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.

Is md-gitlab-mcp Server secure?

The selected current version does not yet have completed public verification. Unknown does not mean clean or vulnerable.

Company and product intelligence

These internal links are derived from strong identity fields such as the implementation name, package, repository, vendor, and listing name—not generic description prose.

Associated company landscape

GitLab intelligence →

Association is based on retained identity fields; it does not by itself prove first-party publication.

Explore related MCP server guides

Curated product and capability guides containing this catalog record.

Official vs Community MCP Servers

Let’s talk about MCP security.

Share your details and our security team will contact you.