Skip to content

Completions

Completions provide real-time autocomplete suggestions for tool parameters. Instead of memorizing project IDs, branch names, or user logins, you type a few characters and GitLab MCP Server queries GitLab for matching values, returning them through the MCP completion/complete protocol method. This transforms a multi-step lookup into a single, interactive selection.

GitLab MCP Server supports 17 completion argument types, organized into global completers that work anywhere and per-project completers that search within a chosen project. Every suggestion is fetched live, so results always reflect the current state of the connected GitLab instance.

Without completions, supplying an identifier means looking it up first — and that often costs an extra tool call. With completions, the assistant resolves the value inline as the user types, so a separate discovery step is no longer required.

Without completions:
User: "Create issue in project..." → What's the ID? → Must call list_projects first
With completions:
User types: "mcp" → Server suggests: "group/gitlab-mcp-server", "group/redmine-mcp-server"

This collapses a multi-step lookup into a single, interactive selection.

When the user starts typing an argument value, the MCP client sends a completion/complete request to the server. The server queries the matching GitLab endpoint, then returns the matches as suggestions the client renders in a dropdown. The whole round-trip happens as the user types.

sequenceDiagram
    participant U as User
    participant AI as AI Assistant
    participant S as MCP Server
    participant GL as GitLab API

    U->>AI: Starts typing argument value
    AI->>S: completion/complete (arg: "project_id", value: "mcp")
    S->>GL: GET /projects?search=mcp
    GL-->>S: Matching projects
    S-->>AI: Completion suggestions
    AI->>U: Shows dropdown with options

GitLab MCP Server supports 17 completion argument types, organized into global and per-project completers. Global completers resolve values that exist instance-wide, while per-project completers require a project context and search only within that project.

These work without a project context:

ArgumentCompletesExample
projectProject names/pathsmy-group/my-project
groupGroup names/pathsengineering
userUser names/loginsjohn.doe
namespaceNamespaces (groups + users)my-group

These require a project context and search within that project:

ArgumentCompletesExample
branchBranch namesfeature/login
tagTag namesv1.2.0
milestoneMilestone titlesSprint 14
labelLabel namespriority::high
merge_requestMR IIDs42
issueIssue IIDs100
pipelinePipeline IDs12345
environmentEnvironment namesproduction
releaseRelease tag namesv2.0.0
wiki_slugWiki page slugsgetting-started
versionVersion/milestone IDsv1.0
runnerRunner descriptionsshared-runner-1
boardBoard namesDevelopment

Completions reduce errors in AI tool calls in several concrete ways. Together they cut the number of failed calls caused by invalid identifiers:

  1. Eliminates typos — The assistant selects from validated suggestions instead of typing exact values.
  2. Reduces round-trips — No need to call list_projects before create_issue.
  3. Provides context — Suggestions include IDs alongside names, ensuring correct values.
  4. Real-time search — Results update as the user types, powered by GitLab’s search API.

Completions are real-time autocomplete suggestions for tool parameters. You type a few characters and GitLab MCP Server queries GitLab through the MCP completion/complete method, returning matching projects, branches, users, labels, and more. This turns a multi-step lookup — such as calling list_projects to find an ID before creating an issue — into a single interactive selection. GitLab MCP Server supports 17 completion argument types across global and per-project completers.

GitLab MCP Server supports 17 completion argument types. The four global completers need no project context: project, group, user, and namespace. The remaining per-project completers search within a selected project: branch, tag, milestone, label, merge_request, issue, pipeline, environment, release, wiki_slug, version, runner, and board. Each suggestion is fetched live from GitLab’s search API, so results reflect the current state of the instance.

How do completions improve AI assistant accuracy?

Section titled “How do completions improve AI assistant accuracy?”

Completions cut failed tool calls in four ways: they eliminate typos because the assistant picks from validated suggestions; they reduce round-trips by removing the need to call list_projects before create_issue; they provide context by pairing IDs with names; and they offer real-time search updated as characters are typed. The net effect is fewer errors caused by invalid identifiers.

What if my MCP client does not support completions?

Section titled “What if my MCP client does not support completions?”

Completions require the MCP client to support the completion/complete protocol method. If your client lacks it, GitLab MCP Server simply does not offer suggestions and tool functionality is unaffected. You can still discover valid values by calling the list action on any meta-tool — for example, listing projects, branches, or labels — and then supply the chosen value directly.