Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
MCP_HOSTNoSSE listen address
MCP_PORTNoSSE listen port
GITLAB_URLYesGitLab instance base URL
GITLAB_TOKENYesPersonal or project access token
MCP_TRANSPORTNoTransport type: stdio (default) or ssestdio
GITLAB_DEFAULT_PROJECTNoDefault project path (e.g. group/project)

Capabilities

Features and capabilities supported by this server

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

Tools

Functions exposed to the LLM to take actions

NameDescription
gitlab_get_jobA

Get the current status of a GitLab CI job by ID.

Args: job_id: The numeric job ID (visible in the GitLab UI URL). project_path: GitLab project path, e.g. 'group/project'. Defaults to GITLAB_DEFAULT_PROJECT env var if not provided.

gitlab_poll_jobA

Poll a GitLab CI job until it reaches a terminal state.

Checks every interval_seconds and gives up after timeout_minutes. Returns the final job status summary.

Args: job_id: The numeric job ID. project_path: GitLab project path, e.g. 'group/project'. interval_seconds: How often to poll (default 30s). timeout_minutes: Stop polling after this many minutes (default 30).

gitlab_get_pipelineA

Get the status and summary of a GitLab CI pipeline.

Args: pipeline_id: The numeric pipeline ID. project_path: GitLab project path, e.g. 'group/project'.

gitlab_list_pipelinesA

List the most recent pipelines for a project.

Args: project_path: GitLab project path, e.g. 'group/project'. limit: Number of pipelines to return (default 10, max 100).

gitlab_list_jobsB

List all jobs in a specific pipeline with their statuses.

Args: pipeline_id: The numeric pipeline ID. project_path: GitLab project path, e.g. 'group/project'.

gitlab_get_job_logA

Fetch the raw log output of a CI job.

Args: job_id: The numeric job ID. project_path: GitLab project path, e.g. 'group/project'. tail: Return only the last N lines (default 100, 0 = all lines).

gitlab_retry_jobA

Retry a failed or cancelled CI job.

Args: job_id: The numeric job ID to retry. project_path: GitLab project path, e.g. 'group/project'.

gitlab_cancel_jobA

Cancel a running CI job.

Args: job_id: The numeric job ID to cancel. project_path: GitLab project path, e.g. 'group/project'.

gitlab_retry_pipelineC

Retry all failed jobs in a pipeline.

Args: pipeline_id: The numeric pipeline ID. project_path: GitLab project path, e.g. 'group/project'.

gitlab_trigger_pipelineA

Trigger a new CI pipeline on the given branch or tag.

Args: ref: Branch name, tag, or SHA to run the pipeline on. project_path: GitLab project path, e.g. 'group/project'. variables: Optional dict of CI variable key/value pairs to inject.

gitlab_list_projectsA

List GitLab projects accessible to the authenticated user.

Args: search: Optional keyword to filter projects by name. limit: Max projects to return (default 20, max 100).

gitlab_get_projectB

Get metadata for a GitLab project.

Args: project_path: GitLab project path, e.g. 'group/project'.

gitlab_list_branchesA

List branches in a project.

Args: project_path: GitLab project path, e.g. 'group/project'. search: Optional keyword to filter branch names. limit: Max branches to return (default 20, max 100).

gitlab_get_fileA

Retrieve the contents of a file from the repository.

Args: file_path: Path to the file within the repo, e.g. 'src/main.py'. ref: Branch, tag, or commit SHA (default 'HEAD'). project_path: GitLab project path, e.g. 'group/project'.

gitlab_list_merge_requestsA

List merge requests for a project.

Args: project_path: GitLab project path, e.g. 'group/project'. state: Filter by state: 'opened', 'closed', 'merged', or 'all' (default 'opened'). limit: Max MRs to return (default 20, max 100).

gitlab_get_merge_requestA

Get details of a merge request by its project-level IID.

Args: mr_iid: The merge request IID (shown in the GitLab UI as !123). project_path: GitLab project path, e.g. 'group/project'.

gitlab_create_merge_requestB

Create a new merge request.

Args: title: MR title. source_branch: Branch to merge from. target_branch: Branch to merge into. project_path: GitLab project path, e.g. 'group/project'. description: Optional MR description / body text. remove_source_branch: Delete source branch after merge (default False). squash: Squash commits on merge (default False).

gitlab_add_mr_noteB

Add a comment to a merge request.

Args: mr_iid: The merge request IID (e.g. 42 for !42). body: Comment text (markdown supported). project_path: GitLab project path, e.g. 'group/project'.

gitlab_list_commitsA

List commits on a branch or ref.

Args: project_path: GitLab project path, e.g. 'group/project'. ref: Branch, tag, or commit SHA (default 'HEAD'). limit: Max commits to return (default 20, max 100).

gitlab_get_commitB

Get details and diff stats for a specific commit.

Args: sha: Full or short commit SHA. project_path: GitLab project path, e.g. 'group/project'.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/LeonRLewis/gitlab-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server