productivity
GitLab MCP Integration for LangChain
Connect GitLab to LangChain through the local KosmoKrator MCP gateway with scoped tools, credentials, and write policy.
Connect GitLab to LangChain
Bridge LangChain agents to local KosmoKrator integration tools through MCP or headless CLI calls.
Use the MCP gateway when the agent should discover tools, or wrap kosmo integrations:call for fixed chains. The gateway is local, scoped to this integration, and starts with
--write=deny so LangChain can inspect read-capable tools without receiving write access by default.
GitLab MCP Config for LangChain
Keep the gateway scoped to the integration and operation class needed by the chain.
{
"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 LangChain
LangChain 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. |