productivity
GitLab MCP Integration for Generic MCP Clients
Connect GitLab to Generic MCP Clients through the local KosmoKrator MCP gateway with scoped tools, credentials, and write policy.
Connect GitLab to Generic MCP Clients
Connect any stdio-compatible MCP client to local KosmoKrator integration tools.
Register kosmo mcp:serve as the command for a local stdio MCP server. The gateway is local, scoped to this integration, and starts with
--write=deny so MCP clients can inspect read-capable tools without receiving write access by default.
GitLab MCP Config for Generic MCP Clients
Start with read-only write policy and expand only for trusted projects.
{
"mcpServers": {
"kosmokrator-gitlab": {
"type": "stdio",
"command": "kosmo",
"args": [
"mcp:serve",
"--integration=gitlab",
"--write=deny"
]
}
}
} Run the Gateway Manually
kosmokrator mcp:serve --integration=gitlab --write=deny Why Use KosmoKrator Here
Expose only GitLab instead of a broad multi-service tool list.
Reuse credentials already configured for the KosmoKrator CLI and Lua runtime.
Start read-only, then opt into ask or allow for trusted workspaces.
GitLab Tools Visible to MCP clients
MCP clients sees stable MCP tool names generated from the GitLab integration catalog.
| MCP tool | Source function | Type | Description |
|---|---|---|---|
integration__gitlab__gitlab_create_issue | gitlab.gitlab_create_issue | Write | Create a new issue in a GitLab project. Requires a project ID and title. Optionally set description, labels, assignees, milestone, and weight. |
integration__gitlab__gitlab_get_issue | gitlab.gitlab_get_issue | Read | Get detailed information about a specific GitLab issue, including title, description, labels, assignees, milestone, and state. |
integration__gitlab__gitlab_update_issue | gitlab.gitlab_update_issue | Write | Update an existing issue in a GitLab project. Can change title, description, labels, state (close/reopen), and assignees. |
integration__gitlab__gitlab_list_issues | gitlab.gitlab_list_issues | Read | List issues in a GitLab project. Supports filtering by state (opened, closed, all), labels, and search text. Paginated. |
integration__gitlab__gitlab_search_issues | gitlab.gitlab_search_issues | Read | Search for issues in a GitLab project by keyword. Searches issue titles and descriptions. Optionally filter by state. |
integration__gitlab__gitlab_create_issue_comment | gitlab.gitlab_create_issue_comment | Write | Add a comment (note) to a GitLab issue. The comment body supports GitLab Markdown. |
integration__gitlab__gitlab_create_merge_request | gitlab.gitlab_create_merge_request | Write | Create a new merge request in a GitLab project. Requires source branch, target branch, and title. |
integration__gitlab__gitlab_get_merge_request | gitlab.gitlab_get_merge_request | Read | Get detailed information about a specific GitLab merge request, including title, description, source/target branches, and state. |
integration__gitlab__gitlab_list_merge_requests | gitlab.gitlab_list_merge_requests | Read | List merge requests in a GitLab project. Supports filtering by state (opened, closed, merged, all). Paginated. |
integration__gitlab__gitlab_update_merge_request | gitlab.gitlab_update_merge_request | Write | Update an existing merge request in a GitLab project. Can change title, description, labels, and state (close/reopen). |
integration__gitlab__gitlab_accept_merge_request | gitlab.gitlab_accept_merge_request | Write | Accept (merge) a GitLab merge request. Optionally set a custom merge commit message. |
integration__gitlab__gitlab_list_branches | gitlab.gitlab_list_branches | Read | List branches in a GitLab project repository. Supports searching by branch name and pagination. |
integration__gitlab__gitlab_create_branch | gitlab.gitlab_create_branch | Write | Create a new branch in a GitLab project repository. Requires a branch name and a ref (branch name or commit SHA) to create from. |
integration__gitlab__gitlab_list_commits | gitlab.gitlab_list_commits | Read | List commits in a GitLab project repository. Supports filtering by branch or tag name. Paginated. |
integration__gitlab__gitlab_get_file | gitlab.gitlab_get_file | Read | Get a file from a GitLab project repository. Returns file content (base64-encoded), file name, size, and encoding. |
integration__gitlab__gitlab_list_projects | gitlab.gitlab_list_projects | Read | List GitLab projects visible to the authenticated user. Supports filtering by membership, search text, and pagination. |
integration__gitlab__gitlab_get_project | gitlab.gitlab_get_project | Read | Get details for a specific GitLab project, including name, description, default branch, visibility, and statistics. |
integration__gitlab__gitlab_list_groups | gitlab.gitlab_list_groups | Read | List GitLab groups visible to the authenticated user. Paginated. |
integration__gitlab__gitlab_list_project_members | gitlab.gitlab_list_project_members | Read | List members of a GitLab project and their access levels. Paginated. |
integration__gitlab__gitlab_list_labels | gitlab.gitlab_list_labels | Read | List all labels for a GitLab project, including name, color, description, and open/closed issue counts. |