Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
GITLAB_URLYesGitLab instance URLhttps://gitlab.com
GITLAB_PRIVATE_TOKENYesYour GitLab personal access token
GITLAB_REVIEW_MCP_SHOW_LOGSNoSet to 'true' to enable detailed loggingfalse

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
search_projectsB

Search for GitLab projects by keyword.

The search performs substring matching across project name, path, namespace, and description. Note: Does not support regex or exact matching - it's a simple keyword search.

Args: search: Search keyword (substring match in name/path/namespace/description) owned: Only return projects owned by the authenticated user membership: Only return projects the user is a member of (default: True) page: Page number for pagination (default: 1) per_page: Number of results per page (default: 20, max: 100) order_by: Sort by field: 'id', 'name', 'created_at', 'star_count', 'last_activity_at' (default) sort: Sort order: 'asc' or 'desc' (default)

Returns: Formatted string with project search results including pagination info

list_merge_requestsA

List merge requests for a specific project.

Args: project_id: GitLab project ID state: Filter by state ('opened', 'closed', 'merged', 'all') author_id: Filter by author user ID assignee_id: Filter by assignee user ID labels: Comma-separated label names (e.g., "bug,urgent") page: Page number for pagination (default: 1) per_page: Number of results per page (default: 20, max: 100)

Returns: Formatted string with merge request list including pagination info

get_merge_requestA

Fetch merge request details.

Args: project_id: GitLab project ID mr_iid: Merge request IID (internal ID shown in GitLab UI as !123)

Returns: Formatted string with MR details

get_merge_request_diffsA

Get merge request diffs showing code changes.

Args: project_id: GitLab project ID mr_iid: Merge request IID page: Page number for pagination (default: 1) per_page: Number of results per page (default: 20, max: 100)

Returns: Formatted string with diff information including pagination info

get_merge_request_commentsA

Get all comments/discussions from a merge request, including suggestions.

Args: project_id: GitLab project ID mr_iid: Merge request IID page: Page number for pagination (default: 1) per_page: Number of results per page (default: 20, max: 100)

Returns: Formatted string with all comments, including note_id, discussion_id, suggestions, and pagination info

get_merge_request_commitsA

Get commits in a merge request.

Args: project_id: GitLab project ID mr_iid: Merge request IID page: Page number for pagination (default: 1) per_page: Number of results per page (default: 20, max: 100)

Returns: Formatted string with commit list and pagination info

add_merge_request_commentC

Add a general comment to a merge request.

Args: project_id: GitLab project ID mr_iid: Merge request IID comment: Comment text to add

Returns: Confirmation message with comment details

update_merge_request_commentC

Update an existing merge request comment.

Args: project_id: GitLab project ID mr_iid: Merge request IID note_id: Note ID to update comment: Updated comment text

Returns: Confirmation message with updated comment details

reply_to_merge_request_commentA

Reply to an existing merge request discussion/comment.

Args: project_id: GitLab project ID mr_iid: Merge request IID discussion_id: Discussion ID to reply to comment: Reply comment text

Returns: Confirmation message with reply details

add_merge_request_line_commentB

Add a line-specific comment to a merge request diff.

Args: project_id: GitLab project ID mr_iid: Merge request IID file_path: Path to the file in the repository line_number: Line number in the new version of the file comment: Comment text to add base_sha: Base commit SHA (from diff) head_sha: Head commit SHA (from diff) start_sha: Start commit SHA (from diff) old_line: Line number in the old version (optional, for modified lines)

Returns: Confirmation message with comment details

get_issueA

Fetch issue details.

Args: project_id: GitLab project ID issue_iid: Issue IID (internal ID shown in GitLab UI as #123)

Returns: Formatted string with issue details

update_merge_requestC

Update merge request title and/or description.

Args: project_id: GitLab project ID mr_iid: Merge request IID title: New title (optional) description: New description (optional)

Returns: Confirmation message with updated MR details

apply_suggestionA

Apply a single suggestion to the merge request.

Args: suggestion_id: Suggestion ID to apply

Returns: Confirmation message with apply details

apply_suggestionsB

Apply multiple suggestions in batch to the merge request.

Args: suggestion_ids: List of suggestion IDs to apply

Returns: Confirmation message with batch apply details

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

A3.6/5.0

Scored across 14 tools

Disambiguation4/5

The tools are mostly distinct: retrieval, listing, commenting, and suggestion application each have clear targets. The only potential confusion is apply_suggestion vs apply_suggestions, but the singular/batch distinction is documented.

Naming Consistency5/5

All tools follow a snake_case verb_noun pattern with clear prefixes like get_, list_, search_, add_, update_, reply_, and apply_. The consistent structure makes the action and resource predictable.

Tool Count5/5

14 tools is within the ideal range for a focused GitLab MR review server. Each tool addresses a specific aspect of browsing, updating, or commenting on merge requests without bloat.

Completeness4/5

The surface covers the core MR review workflow: fetching MRs/diffs/commits/comments, posting and updating comments, and applying suggestions. Missing capabilities like deleting comments, resolving threads, or approving MRs are minor gaps rather than fatal omissions.

Maintenance

ActivityInactive
ResponsivenessNo issues