Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
GITLAB_URLNoThe URL of your GitLab instance (e.g., https://gitlab.com or a self-hosted instance).https://gitlab.com
GITLAB_TOKENYesYour GitLab Personal Access Token. Requires 'api', 'read_repository', 'write_repository', and 'read_user' scopes.

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
create_projectB

Create a new GitLab project.

Args:
    name: Project name
    description: Project description (optional)
    visibility: Project visibility (private, internal, public)
    token: GitLab Personal Access Token (optional)
    ctx: MCP context (automatically injected)
delete_projectC

Delete a GitLab project.

Args:
    project_id: GitLab project ID
    token: GitLab Personal Access Token (optional)
    ctx: MCP context (automatically injected)
list_projectsA

List GitLab projects.

Args:
    owned: If True, only show owned projects. If False, show all accessible projects.
    per_page: Number of projects per page (max 100)
    token: GitLab Personal Access Token (optional)
    ctx: MCP context (automatically injected)
get_project_issuesB

Get issues for a GitLab project.

Args:
    project_id: GitLab project ID
    state: Issue state (opened, closed, all)
    token: GitLab Personal Access Token (optional)
    ctx: MCP context (automatically injected)
get_merge_requestsA

Get merge requests for a GitLab project.

Args:
    project_id: GitLab project ID
    state: MR state (opened, closed, merged, all)
    token: GitLab Personal Access Token (optional)
    ctx: MCP context (automatically injected)
create_issueB

Create a new issue in a GitLab project.

Args:
    project_id: GitLab project ID
    title: Issue title
    description: Issue description (optional)
    token: GitLab Personal Access Token (optional)
    ctx: MCP context (automatically injected)
get_pipelinesA

Get CI/CD pipelines for a GitLab project.

Args:
    project_id: GitLab project ID
    status: Pipeline status (running, pending, success, failed, canceled, skipped)
    token: GitLab Personal Access Token (optional)
    ctx: MCP context (automatically injected)
get_project_branchesB

Get branches for a GitLab project.

Args:
    project_id: GitLab project ID
    token: GitLab Personal Access Token (optional)
    ctx: MCP context (automatically injected)
list_groupsA

List GitLab groups.

Args:
    per_page: Number of groups per page (max 100)
    token: GitLab Personal Access Token (optional)
    ctx: MCP context (automatically injected)
get_group_membersB

Get members of a GitLab group.

Args:
    group_id: GitLab group ID
    token: GitLab Personal Access Token (optional)
    ctx: MCP context (automatically injected)
get_repository_filesC

Get repository files and directories.

Args:
    project_id: GitLab project ID
    path: Directory path (optional)
    ref: Branch/tag reference (default: main)
    token: GitLab Personal Access Token (optional)
    ctx: MCP context (automatically injected)
get_file_contentA

Get content of a repository file.

Args:
    project_id: GitLab project ID
    file_path: Path to the file
    ref: Branch/tag reference (default: main)
    token: GitLab Personal Access Token (optional)
    ctx: MCP context (automatically injected)
get_commitsC

Get recent commits for a project.

Args:
    project_id: GitLab project ID
    ref_name: Branch name (default: main)
    token: GitLab Personal Access Token (optional)
    ctx: MCP context (automatically injected)
create_commitA

Create a commit with file changes.

Args:
    project_id: GitLab project ID
    branch: Target branch
    commit_message: Commit message
    file_path: Path to the file
    file_content: File content
    action: Action (create, update, delete)
    token: GitLab Personal Access Token (optional)
    ctx: MCP context (automatically injected)
create_branchB

Create a new branch.

Args:
    project_id: GitLab project ID
    branch_name: New branch name
    ref: Source branch/commit (default: main)
    token: GitLab Personal Access Token (optional)
    ctx: MCP context (automatically injected)
delete_branchC

Delete a branch.

Args:
    project_id: GitLab project ID
    branch_name: Branch name to delete
    token: GitLab Personal Access Token (optional)
    ctx: MCP context (automatically injected)
create_merge_requestC

Create a merge request.

Args:
    project_id: GitLab project ID
    source_branch: Source branch
    target_branch: Target branch
    title: MR title
    description: MR description (optional)
    token: GitLab Personal Access Token (optional)
    ctx: MCP context (automatically injected)
merge_merge_requestB

Merge a merge request.

Args:
    project_id: GitLab project ID
    merge_request_iid: Merge request IID
    merge_commit_message: Custom merge commit message (optional)
    token: GitLab Personal Access Token (optional)
    ctx: MCP context (automatically injected)
create_tagC

Create a new tag.

Args:
    project_id: GitLab project ID
    tag_name: Tag name
    ref: Source branch/commit
    message: Tag message (optional)
    token: GitLab Personal Access Token (optional)
    ctx: MCP context (automatically injected)
get_pipeline_jobsC

Get jobs for a specific pipeline.

Args:
    project_id: GitLab project ID
    pipeline_id: Pipeline ID
    token: GitLab Personal Access Token (optional)
    ctx: MCP context (automatically injected)
trigger_pipelineA

Trigger a new pipeline.

Args:
    project_id: GitLab project ID
    ref: Branch/tag to run pipeline on (default: main)
    token: GitLab Personal Access Token (optional)
    ctx: MCP context (automatically injected)
get_current_userB

Get current user information.

Args:
    token: GitLab Personal Access Token (optional)
    ctx: MCP context (automatically injected)
search_projectsC

Search for projects.

Args:
    query: Search query
    token: GitLab Personal Access Token (optional)
    ctx: MCP context (automatically injected)
get_project_milestonesB

Get project milestones.

Args:
    project_id: GitLab project ID
    state: Milestone state (active, closed, all)
    token: GitLab Personal Access Token (optional)
    ctx: MCP context (automatically injected)
get_project_labelsC

Get project labels.

Args:
    project_id: GitLab project ID
    token: GitLab Personal Access Token (optional)
    ctx: MCP context (automatically injected)
list_project_hooksC

List project webhooks.

Args:
    project_id: GitLab project ID
    token: GitLab Personal Access Token (optional)
    ctx: MCP context (automatically injected)
update_projectB

Update project settings.

Args:
    project_id: GitLab project ID
    name: New project name (optional)
    description: New description (optional)
    visibility: New visibility (private, internal, public) (optional)
    token: GitLab Personal Access Token (optional)
    ctx: MCP context (automatically injected)
fork_projectA

Fork a project.

Args:
    project_id: GitLab project ID to fork
    namespace: Target namespace (optional)
    token: GitLab Personal Access Token (optional)
    ctx: MCP context (automatically injected)
archive_projectB

Archive a project.

Args:
    project_id: GitLab project ID
    token: GitLab Personal Access Token (optional)
    ctx: MCP context (automatically injected)
unarchive_projectC

Unarchive a project.

Args:
    project_id: GitLab project ID
    token: GitLab Personal Access Token (optional)
    ctx: MCP context (automatically injected)
create_fileC

Create a new file in repository.

Args:
    project_id: GitLab project ID
    file_path: Path for the new file
    content: File content
    branch: Target branch
    commit_message: Commit message
    token: GitLab Personal Access Token (optional)
    ctx: MCP context (automatically injected)
update_fileB

Update an existing file in repository.

Args:
    project_id: GitLab project ID
    file_path: Path to the file
    content: New file content
    branch: Target branch
    commit_message: Commit message
    token: GitLab Personal Access Token (optional)
    ctx: MCP context (automatically injected)
delete_fileB

Delete a file from repository.

Args:
    project_id: GitLab project ID
    file_path: Path to the file
    branch: Target branch
    commit_message: Commit message
    token: GitLab Personal Access Token (optional)
    ctx: MCP context (automatically injected)
get_repository_tagsC

Get repository tags.

Args:
    project_id: GitLab project ID
    token: GitLab Personal Access Token (optional)
    ctx: MCP context (automatically injected)
delete_tagC

Delete a tag.

Args:
    project_id: GitLab project ID
    tag_name: Tag name to delete
    token: GitLab Personal Access Token (optional)
    ctx: MCP context (automatically injected)
compare_branchesC

Compare two branches.

Args:
    project_id: GitLab project ID
    from_branch: Source branch
    to_branch: Target branch
    token: GitLab Personal Access Token (optional)
    ctx: MCP context (automatically injected)
revert_commitB

Revert a commit.

Args:
    project_id: GitLab project ID
    commit_sha: Commit SHA to revert
    branch: Target branch for revert
    token: GitLab Personal Access Token (optional)
    ctx: MCP context (automatically injected)
cherry_pick_commitC

Cherry-pick a commit.

Args:
    project_id: GitLab project ID
    commit_sha: Commit SHA to cherry-pick
    branch: Target branch for cherry-pick
    token: GitLab Personal Access Token (optional)
    ctx: MCP context (automatically injected)
update_issueA

Update an issue.

Args:
    project_id: GitLab project ID
    issue_iid: Issue IID
    title: New title (optional)
    description: New description (optional)
    state_event: State change (close, reopen) (optional)
    token: GitLab Personal Access Token (optional)
    ctx: MCP context (automatically injected)
close_issueB

Close an issue.

Args:
    project_id: GitLab project ID
    issue_iid: Issue IID
    token: GitLab Personal Access Token (optional)
    ctx: MCP context (automatically injected)
clone_repositoryB

Clone a GitLab repository to local path.

Args:
    project_id: GitLab project ID
    local_path: Local directory path (optional, defaults to project name)
    use_ssh: Use SSH URL instead of HTTPS (default: False)
    token: GitLab Personal Access Token (optional)
    ctx: MCP context (automatically injected)
clone_group_repositoriesA

Clone all repositories from a GitLab group.

Args:
    group_id: GitLab group ID
    base_path: Base directory for cloned repos (default: ./repos)
    token: GitLab Personal Access Token (optional)
    ctx: MCP context (automatically injected)
get_projectB

Get detailed information about a specific project.

Args:
    project_id: GitLab project ID
    token: GitLab Personal Access Token (optional)
    ctx: MCP context (automatically injected)
star_projectB

Star a project.

Args:
    project_id: GitLab project ID
    token: GitLab Personal Access Token (optional)
    ctx: MCP context (automatically injected)
unstar_projectA

Unstar a project.

Args:
    project_id: GitLab project ID
    token: GitLab Personal Access Token (optional)
    ctx: MCP context (automatically injected)
list_user_projectsC

List projects owned by a specific user.

Args:
    user_id: GitLab user ID
    token: GitLab Personal Access Token (optional)
    ctx: MCP context (automatically injected)
list_starred_projectsB

List projects starred by a specific user.

Args:
    user_id: GitLab user ID
    token: GitLab Personal Access Token (optional)
    ctx: MCP context (automatically injected)
get_project_languagesB

Get programming languages used in a project.

Args:
    project_id: GitLab project ID
    token: GitLab Personal Access Token (optional)
    ctx: MCP context (automatically injected)
get_project_forksC

List forks of a project.

Args:
    project_id: GitLab project ID
    token: GitLab Personal Access Token (optional)
    ctx: MCP context (automatically injected)
transfer_projectB

Transfer a project to a new namespace.

Args:
    project_id: GitLab project ID
    namespace: Target namespace (user or group)
    token: GitLab Personal Access Token (optional)
    ctx: MCP context (automatically injected)
get_project_usersB

Get users with access to a project.

Args:
    project_id: GitLab project ID
    token: GitLab Personal Access Token (optional)
    ctx: MCP context (automatically injected)
share_project_with_groupC

Share project with a group.

Args:
    project_id: GitLab project ID
    group_id: Group ID to share with
    group_access: Access level (10=Guest, 20=Reporter, 30=Developer, 40=Maintainer, 50=Owner)
    expires_at: Expiration date (YYYY-MM-DD) (optional)
    token: GitLab Personal Access Token (optional)
    ctx: MCP context (automatically injected)
unshare_project_with_groupC

Remove project sharing with a group.

Args:
    project_id: GitLab project ID
    group_id: Group ID to unshare from
    token: GitLab Personal Access Token (optional)
    ctx: MCP context (automatically injected)
list_group_projectsB

List projects in a group by group name.

Args:
    group_name: GitLab group name or path
    per_page: Number of projects per page (max 100)
    token: GitLab Personal Access Token (optional)
    ctx: MCP context (automatically injected)

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/skmprb/gitlab-clone-mcp-server'

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