# GitLab

SecureBarndoor ManagedDeveloper & Version Control

**Summary:** Manage repositories, issues, merge requests, and CI/CD pipelines on GitLab.

**How Teams Use It:** The Barndoor-managed GitLab MCP server enables agents to manage repositories, create and track issues, handle merge requests and code reviews, and orchestrate CI/CD pipelines—making it powerful for development workflows, release management, and collaborative code quality.

## Tools

| Tool Name                  | Tool Description                                                                                          | Tool Type |
|----------------------------|----------------------------------------------------------------------------------------------------------|-----------|
| approveMergeRequest         | Approve a merge request. The authenticated user must have permission to approve.                         | Update    |
| createBranch               | Create a new branch in the repository.                                                                  | Create    |
| createIssue                | Create a new issue in a GitLab project.                                                                 | Create    |
| createIssueNote            | Add a note/comment to an issue in a GitLab project.                                                     | Create    |
| createMergeRequest         | Create a new merge request in a GitLab project.                                                         | Create    |
| createMergeRequestNote     | Add a note/comment to a merge request in a GitLab project.                                               | Create    |
| editIssue                  | Update an existing issue. Use state_event to close or reopen.                                          | Update    |
| getCurrentUser             | Get the currently authenticated user's profile information including username, email, and account details.| Read      |
| getIssue                   | Get detailed information about a specific issue in a GitLab project.                                    | Read      |
| getIssueNotes              | Get notes (comments) on a specific issue in a GitLab project.                                          | Read      |
| getJobLog                  | Get the log (trace) output of a specific CI/CD job. Returns plain text.                                 | Read      |
| getMergeRequest            | Get detailed information about a specific merge request in a GitLab project.                            | Read      |
| getMergeRequestCommits     | Get the list of commits in a merge request.                                                             | Read      |
| getMergeRequestDiffs       | Get the diff/changes of a specific merge request.                                                      | Read      |
| getMergeRequestNotes       | Get notes (comments) on a specific merge request in a GitLab project.                                   | Read      |
| getMergeRequestPipelines   | Get the CI/CD pipelines associated with a merge request.                                                | Read      |
| getPipelineJobs            | Get the jobs in a CI/CD pipeline.                                                                         | Read      |
| getProject                 | Get detailed information about a specific project including description, visibility, and statistics.     | Read      |
| getRepositoryFile          | Get file metadata and content from the repository. The file_path must be URL-encoded. Content is returned base64-encoded. | Read      |
| listBranches               | Get a list of repository branches from a project, sorted by name alphabetically.                        | Read      |
