gitlab mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| GITLAB_API_URL | No | Your GitLab API URL. Defaults to https://gitlab.com/api/v4 | https://gitlab.com/api/v4 |
| GITLAB_PERSONAL_ACCESS_TOKEN | Yes | Your GitLab personal access token. |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| merge_merge_request | Merge a merge request |
| approve_merge_request | Approve a merge request |
| unapprove_merge_request | Unapprove a merge request |
| get_merge_request_approval_state | Get merge request approval details including approvers |
| get_merge_request_conflicts | Get the conflicts of a merge request |
| create_or_update_file | Create or update a file in a GitLab project |
| search_repositories | Search for GitLab projects |
| create_repository | Create a new GitLab project |
| get_file_contents | Get contents of a file or directory from a GitLab project |
| push_files | Push multiple files in a single commit |
| create_issue | Create a new issue |
| create_merge_request | Create a new merge request |
| fork_repository | Fork a project to your account or specified namespace |
| create_branch | Create a new branch |
| get_merge_request | Get details of a merge request (mergeRequestIid or branchName required) |
| get_merge_request_diffs | Get the changes/diffs of a merge request (mergeRequestIid or branchName required) |
| list_merge_request_changed_files | List changed file paths in a merge request without diff content (mergeRequestIid or branchName required) |
| list_merge_request_diffs | List merge request diffs with pagination (mergeRequestIid or branchName required) |
| get_merge_request_file_diff | Get diffs for specific files from a merge request (mergeRequestIid or branchName required) |
| list_merge_request_versions | List all versions of a merge request |
| get_merge_request_version | Get a specific version of a merge request |
| get_branch_diffs | Get diffs between two branches or commits |
| update_merge_request | Update a merge request (mergeRequestIid or branchName required) |
| create_note | Create a new note (comment) to an issue or merge request |
| create_merge_request_thread | Create a new thread on a merge request |
| resolve_merge_request_thread | Resolve a thread on a merge request |
| mr_discussions | List discussion items for a merge request |
| delete_merge_request_discussion_note | Delete a discussion note on a merge request |
| update_merge_request_discussion_note | Update a discussion note on a merge request |
| create_merge_request_discussion_note | Add a new discussion note to an existing merge request thread |
| create_merge_request_note | Add a new note to a merge request |
| delete_merge_request_note | Delete an existing merge request note |
| get_merge_request_note | Get a specific note for a merge request |
| get_merge_request_notes | List notes for a merge request |
| update_merge_request_note | Modify an existing merge request note |
| get_draft_note | Get a single draft note from a merge request |
| list_draft_notes | List draft notes for a merge request |
| create_draft_note | Create a draft note for a merge request |
| update_draft_note | Update an existing draft note |
| delete_draft_note | Delete a draft note |
| publish_draft_note | Publish a single draft note |
| bulk_publish_draft_notes | Publish all draft notes for a merge request |
| list_merge_request_emoji_reactions | List all emoji reactions on a merge request |
| list_merge_request_note_emoji_reactions | List all emoji reactions on a merge request note. Pass discussion_id for discussion thread replies. |
| create_merge_request_emoji_reaction | Add an emoji reaction to a merge request (e.g. thumbsup, rocket, eyes) |
| delete_merge_request_emoji_reaction | Remove an emoji reaction from a merge request |
| create_merge_request_note_emoji_reaction | Add an emoji reaction to a merge request note. Pass discussion_id for discussion thread replies. |
| delete_merge_request_note_emoji_reaction | Remove an emoji reaction from a merge request note. Pass discussion_id for discussion thread replies. |
| update_issue_note | Modify an existing issue thread note |
| create_issue_note | Add a note to an issue, optionally replying to a discussion thread |
| list_issue_emoji_reactions | List all emoji reactions on an issue |
| list_issue_note_emoji_reactions | List all emoji reactions on an issue note. Pass discussion_id for discussion thread replies. |
| create_issue_emoji_reaction | Add an emoji reaction to an issue (e.g. thumbsup, rocket, eyes) |
| delete_issue_emoji_reaction | Remove an emoji reaction from an issue |
| create_issue_note_emoji_reaction | Add an emoji reaction to an issue note. Pass discussion_id for discussion thread replies. |
| delete_issue_note_emoji_reaction | Remove an emoji reaction from an issue note. Pass discussion_id for discussion thread replies. |
| list_issues | List issues (default: created by current user; use scope='all' for all) |
| my_issues | List issues assigned to the authenticated user |
| get_issue | Get details of a specific issue |
| update_issue | Update an issue |
| delete_issue | Delete an issue |
| list_todos | List GitLab to-do items for the current user |
| mark_todo_done | Mark a GitLab to-do item as done |
| mark_all_todos_done | Mark all pending GitLab to-do items as done for the current user |
| list_issue_links | List all issue links for a specific issue |
| list_issue_discussions | List discussions for an issue |
| get_issue_link | Get a specific issue link |
| create_issue_link | Create an issue link between two issues |
| delete_issue_link | Delete an issue link |
| list_namespaces | List all namespaces available to the current user |
| get_namespace | Get details of a namespace by ID or path |
| verify_namespace | Verify if a namespace path exists |
| get_project | Get details of a specific project |
| list_projects | List projects accessible by the current user |
| list_project_members | List members of a GitLab project |
| list_labels | List labels for a project |
| get_label | Get a single label from a project |
| create_label | Create a new label in a project |
| update_label | Update an existing label in a project |
| delete_label | Delete a label from a project |
| list_group_projects | List projects in a group |
| get_repository_tree | List files and directories in a repository |
| validate_ci_lint | Validate provided GitLab CI/CD YAML content for a project |
| validate_project_ci_lint | Validate an existing .gitlab-ci.yml configuration for a project |
| list_merge_requests | List merge requests (without project_id: user's MRs; with project_id: project MRs) |
| get_users | Get GitLab user details by usernames |
| list_commits | List repository commits with filtering options |
| get_commit | Get details of a specific commit |
| get_commit_diff | Get changes/diffs of a specific commit |
| list_commit_statuses | List statuses for a commit |
| create_commit_status | Create or update the status of a commit |
| list_group_iterations | List group iterations with filtering options |
| upload_markdown | Upload a file for use in markdown content |
| download_attachment | Download an uploaded file from a project (images returned as base64; use local_path to save to disk) |
| list_events | List events for the authenticated user (before/after: YYYY-MM-DD) |
| get_project_events | List events for a project (before/after: YYYY-MM-DD) |
| discover_tools | Discover and activate additional tool categories for this session. Available categories: merge_requests, issues, repositories, branches, projects, labels, ci, pipelines, milestones, wiki, releases, tags, users, workitems, webhooks, search. Already-active categories are listed in the response. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/zereight/gitlab-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server