productivity
GitLab MCP Integration for Vercel AI SDK
Connect GitLab to Vercel AI SDK through the local KosmoKrator MCP gateway with scoped tools, credentials, and write policy.
Connect GitLab to Vercel AI SDK
Use KosmoKrator as a local integration gateway for Vercel AI SDK agents and scripts.
Create an MCP client that starts or connects to the KosmoKrator gateway for the selected integration. The gateway is local, scoped to this integration, and starts with
--write=deny so Vercel AI SDK can inspect read-capable tools without receiving write access by default.
GitLab MCP Config for Vercel AI SDK
Prefer CLI JSON calls when a workflow only needs one deterministic integration operation.
{
"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 Vercel AI SDK
Vercel AI SDK 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. |