productivity
GitLab MCP Integration for Codex
Connect GitLab to Codex through the local KosmoKrator MCP gateway with scoped tools, credentials, and write policy.
Connect GitLab to Codex
Use KosmoKrator as a local MCP proxy for Codex so coding sessions can reach selected integrations with explicit write policy.
Register kosmo mcp:serve as a local stdio server and choose the integration allowlist. The gateway is local, scoped to this integration, and starts with
--write=deny so Codex can inspect read-capable tools without receiving write access by default.
GitLab MCP Config for Codex
Keep write access denied or ask-based unless the workspace is trusted.
{
"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 Codex
Codex 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. |