The named tools cover merge requests, project search and user search; files, branches, pipelines and issues are reachable only through Gitlab Raw API Tool, which takes an endpoint, a method, params and a body and returns whatever GitLab answers. The fields parameter runs through the lookup and MR tools alike, which matters more than it sounds: a GitLab project payload is large, and naming the fields keeps it out of the context window.
A GitLab REST client built around merge requests, with project and user lookup beside them and a raw API tool for endpoints the named tools do not cover.
- The merge-request lifecycle: Gitlab Create MR Tool opens one with source and target branch, title, description, labels, assignee and reviewers; Gitlab Update MR Tool changes those afterwards; Gitlab Create MR Comment Tool adds a comment; Gitlab Accept MR Tool merges it with custom merge options.
- Gitlab Get User Tasks Tool returns the current user's to-do items, filtered by task type.
- Lookup that stays small: Gitlab Search Project Details Tool finds a project by name and Gitlab Search User Projects Tool finds a user and their active projects — both take a fields filter so only the fields you name come back.
- Gitlab Raw API Tool calls any GitLab REST endpoint with your own method, params and body, for debugging and for the calls the named tools do not make.
A GitLab instance and its API base URL in GITLAB_API_URL, plus an account with access to the projects and merge requests you name.
One command plus a key — npx -y @zephyr-mcp/gitlab, then supply credentials
