← GitLab Review MCP

GitLab Review MCP 1.0.27

npm · gitlab-review-mcp · current release

15
Tools
0
Resources
0
Templates
0
Prompts

Observation

Observed 2026-08-21T21:24:15.543Z using mcpSecurity-inventory. Status: succeeded. Negotiated protocol: 2025-06-18.

Server capabilities
{
  "tools": {}
}

Tools 15

ToolCategoryAnnotationsRisk
add_review_commentAdd a review comment to a pull request
Input schema
{
  "type": "object",
  "properties": {
    "repository": {
      "type": "string",
      "description": "Repository in format \"owner/repo\""
    },
    "pullRequestNumber": {
      "type": "number",
      "description": "Pull request number"
    },
    "body": {
      "type": "string",
      "description": "Comment body"
    },
    "filePath": {
      "type": "string",
      "description": "File path for line comment (optional)"
    },
    "line": {
      "type": "number",
      "description": "Line number for line comment (optional)"
    },
    "provider": {
      "type": "string",
      "enum": [
        "github",
        "gitlab"
      ],
      "description": "Git provider (github or gitlab)",
      "default": "gitlab"
    }
  },
  "required": [
    "repository",
    "pullRequestNumber",
    "body"
  ]
}
— · —
analyze_code_qualityAnalyze code quality and provide suggestions with detailed metrics
Input schema
{
  "type": "object",
  "properties": {
    "code": {
      "type": "string",
      "description": "Code content to analyze"
    },
    "language": {
      "type": "string",
      "description": "Programming language (javascript, typescript, python, java, go, etc.)"
    },
    "rules": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Specific rules to check (optional)"
    }
  },
  "required": [
    "code",
    "language"
  ]
}
— · —
analyze_files_batchAnalyze multiple files for code quality issues
Input schema
{
  "type": "object",
  "properties": {
    "files": {
      "type": "array",
      "items": {
        "type": "object",
        "properties": {
          "path": {
            "type": "string"
          },
          "content": {
            "type": "string"
          },
          "language": {
            "type": "string"
          }
        },
        "required": [
          "path",
          "content",
          "language"
        ]
      },
      "description": "Array of files to analyze"
    },
    "rules": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Specific rules to apply to all files (optional)"
    }
  },
  "required": [
    "files"
  ]
}
— · —
create_merge_requestCreate a new GitLab merge request from a source branch
Input schema
{
  "type": "object",
  "properties": {
    "projectId": {
      "type": "string",
      "description": "GitLab project ID or path (aliases: project_id, project_path; e.g., \"12345\" or \"group/project\")"
    },
    "sourceBranch": {
      "type": "string",
      "description": "Source branch name (aliases: source_branch; e.g., \"feature/new-feature\")"
    },
    "targetBranch": {
      "type": "string",
      "description": "Target branch name (aliases: target_branch; defaults to \"main\")",
      "default": "main"
    },
    "title": {
      "type": "string",
      "description": "Merge request title (auto-generated from branch name if not provided)"
    },
    "description": {
      "type": "string",
      "description": "Merge request description"
    },
    "assigneeId": {
      "type": "number",
      "description": "User ID to assign the merge request to"
    },
    "reviewerIds": {
      "type": "array",
      "items": {
        "type": "number"
      },
      "description": "Array of user IDs to request reviews from"
    },
    "deleteSourceBranch": {
      "type": "boolean",
      "description": "Whether to delete source branch when MR is merged",
      "default": false
    },
    "squash": {
      "type": "boolean",
      "description": "Whether to squash commits when merging",
      "default": false
    },
    "workingDirectory": {
      "type": "string",
      "description": "Local repository path for auto-detecting project ID (aliases: working_directory, cwd)"
    },
    "remoteName": {
      "type": "string",
      "description": "Git remote name used for auto-detecting the project ID",
      "default": "origin"
    }
  },
  "required": [
    "sourceBranch"
  ]
}
— · —
fetch_code_diffFetch code diff for a pull request or commit
Input schema
{
  "type": "object",
  "properties": {
    "repository": {
      "type": "string",
      "description": "Repository in format \"owner/repo\""
    },
    "pullRequestNumber": {
      "type": "number",
      "description": "Pull request number (optional if commitSha is provided)"
    },
    "commitSha": {
      "type": "string",
      "description": "Commit SHA (optional if pullRequestNumber is provided)"
    },
    "filePath": {
      "type": "string",
      "description": "Specific file path to get diff for (optional)"
    },
    "provider": {
      "type": "string",
      "enum": [
        "github",
        "gitlab"
      ],
      "description": "Git provider (github or gitlab)",
      "default": "gitlab"
    }
  },
  "required": [
    "repository"
  ]
}
— · —
fetch_pull_requestFetch pull request details from GitHub/GitLab
Input schema
{
  "type": "object",
  "properties": {
    "repository": {
      "type": "string",
      "description": "Repository in format \"owner/repo\""
    },
    "pullRequestNumber": {
      "type": "number",
      "description": "Pull request number"
    },
    "provider": {
      "type": "string",
      "enum": [
        "github",
        "gitlab"
      ],
      "description": "Git provider (github or gitlab)",
      "default": "gitlab"
    }
  },
  "required": [
    "repository",
    "pullRequestNumber"
  ]
}
— · —
get_current_branchGet current Git branch and repository information
Input schema
{
  "type": "object",
  "properties": {
    "workingDirectory": {
      "type": "string",
      "description": "Working directory path (defaults to current directory)"
    }
  }
}
— · —
get_language_rulesGet available analysis rules for a specific language
Input schema
{
  "type": "object",
  "properties": {
    "language": {
      "type": "string",
      "description": "Programming language"
    }
  },
  "required": [
    "language"
  ]
}
— · —
get_merge_requestGet information about a specific GitLab merge request
Input schema
{
  "type": "object",
  "properties": {
    "projectId": {
      "type": "string",
      "description": "GitLab project ID or path (aliases: project_id, project_path; e.g., \"12345\" or \"group/project\")"
    },
    "mergeRequestIid": {
      "type": "string",
      "description": "Merge request IID (aliases: merge_request_iid; the number in the MR URL, not the database ID)"
    },
    "workingDirectory": {
      "type": "string",
      "description": "Local repository path for auto-detecting project ID (aliases: working_directory, cwd)"
    },
    "remoteName": {
      "type": "string",
      "description": "Git remote name used for auto-detecting the project ID",
      "default": "origin"
    }
  },
  "required": [
    "mergeRequestIid"
  ]
}
— · —
get_merge_request_changesGet merge request changes (GitLab compatibility alias)
Input schema
{
  "type": "object",
  "properties": {
    "repository": {
      "type": "string",
      "description": "Repository/project identifier (e.g., \"group/project\"). Optional if workingDirectory is provided."
    },
    "pullRequestNumber": {
      "type": [
        "number",
        "string"
      ],
      "description": "Pull/MR number (IID). Optional if mergeRequestIid is provided."
    },
    "mergeRequestIid": {
      "type": [
        "number",
        "string"
      ],
      "description": "Merge request IID (GitLab). Optional if pullRequestNumber is provided."
    },
    "provider": {
      "type": "string",
      "enum": [
        "github",
        "gitlab"
      ],
      "description": "Git provider (default gitlab)",
      "default": "gitlab"
    },
    "workingDirectory": {
      "type": "string",
      "description": "Local repository path for auto-detecting project ID (aliases: working_directory, cwd)"
    },
    "remoteName": {
      "type": "string",
      "description": "Git remote name used for auto-detecting the project ID",
      "default": "origin"
    }
  },
  "required": []
}
— · —
get_project_infoGet current GitLab project information from Git remotes
Input schema
{
  "type": "object",
  "properties": {
    "workingDirectory": {
      "type": "string",
      "description": "Working directory path (defaults to current directory)"
    },
    "remoteName": {
      "type": "string",
      "description": "Git remote name (defaults to \"origin\")",
      "default": "origin"
    }
  }
}
— · —
get_pull_request_filesGet list of files changed in a pull request or merge request
Input schema
{
  "type": "object",
  "properties": {
    "repository": {
      "type": "string",
      "description": "Repository/project identifier (e.g., \"owner/repo\" or \"group/project\"). Optional if workingDirectory is provided."
    },
    "pullRequestNumber": {
      "type": [
        "number",
        "string"
      ],
      "description": "Pull request number (IID). Optional if mergeRequestIid is provided."
    },
    "mergeRequestIid": {
      "type": [
        "number",
        "string"
      ],
      "description": "Merge request IID (GitLab). Optional if pullRequestNumber is provided."
    },
    "provider": {
      "type": "string",
      "enum": [
        "github",
        "gitlab"
      ],
      "description": "Git provider (github or gitlab)",
      "default": "gitlab"
    },
    "workingDirectory": {
      "type": "string",
      "description": "Local repository path for auto-detecting project ID (aliases: working_directory, cwd)"
    },
    "remoteName": {
      "type": "string",
      "description": "Git remote name used for auto-detecting the project ID",
      "default": "origin"
    }
  },
  "required": []
}
— · —
get_repository_infoGet repository information
Input schema
{
  "type": "object",
  "properties": {
    "repository": {
      "type": "string",
      "description": "Repository in format \"owner/repo\""
    },
    "provider": {
      "type": "string",
      "enum": [
        "github",
        "gitlab"
      ],
      "description": "Git provider (github or gitlab)",
      "default": "gitlab"
    }
  },
  "required": [
    "repository"
  ]
}
— · —
get_server_configGet current server configuration
Input schema
{
  "type": "object",
  "properties": {}
}
— · —
get_supported_languagesGet list of supported programming languages for code analysis
Input schema
{
  "type": "object",
  "properties": {}
}
— · —

Resources 0

Resource templates 0

Prompts 0

Let’s talk about MCP security.

Share your details and our security team will contact you.