Better GitLab MCP Server
Um servidor GitLab MCP aprimorado com correções de bugs, fornecendo acesso a projetos, issues e merge requests do GitLab.
GitHub
1
Experimente este MCPPatrocinadoDocumentação
Better GitLab MCP Server
@zereight/mcp-gitlab
Servidor GitLab MCP (Model Context Protocol). Inclui correções de bugs e melhorias em relação ao servidor GitLab MCP original.
Uso
Usando com Claude App, Cline, Roo Code, Cursor
Ao usar com o Claude App, você precisa configurar sua chave de API e URLs diretamente.
npx
{
"mcpServers": {
"GitLab communication server": {
"command": "npx",
"args": ["-y", "@zereight/mcp-gitlab"],
"env": {
"GITLAB_PERSONAL_ACCESS_TOKEN": "your_gitlab_token",
"GITLAB_API_URL": "your_gitlab_api_url",
"GITLAB_READ_ONLY_MODE": "false",
"USE_GITLAB_WIKI": "false", // use wiki api?
"USE_MILESTONE": "false", // use milestone api?
"USE_PIPELINE": "false" // use pipeline api?
}
}
}
}
Docker
- stdio
{
"mcpServers": {
"GitLab communication server": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"GITLAB_PERSONAL_ACCESS_TOKEN",
"-e",
"GITLAB_API_URL",
"-e",
"GITLAB_READ_ONLY_MODE",
"-e",
"USE_GITLAB_WIKI",
"-e",
"USE_MILESTONE",
"-e",
"USE_PIPELINE",
"iwakitakuma/gitlab-mcp"
],
"env": {
"GITLAB_PERSONAL_ACCESS_TOKEN": "your_gitlab_token",
"GITLAB_API_URL": "https://gitlab.com/api/v4", // Optional, for self-hosted GitLab
"GITLAB_READ_ONLY_MODE": "false",
"USE_GITLAB_WIKI": "true",
"USE_MILESTONE": "true",
"USE_PIPELINE": "true"
}
}
}
}
- sse
docker run -i --rm \
-e GITLAB_PERSONAL_ACCESS_TOKEN=your_gitlab_token \
-e GITLAB_API_URL= "https://gitlab.com/api/v4"\
-e GITLAB_READ_ONLY_MODE=true \
-e USE_GITLAB_WIKI=true \
-e USE_MILESTONE=true \
-e USE_PIPELINE=true \
-e SSE=true \
-p 3333:3002 \
iwakitakuma/gitlab-mcp
{
"mcpServers": {
"GitLab communication server": {
"url": "http://localhost:3333/sse"
}
}
}
Docker Image Push
$ sh scripts/image_push.sh docker_user_name
Variáveis de Ambiente
GITLAB_PERSONAL_ACCESS_TOKEN: Seu token de acesso pessoal do GitLab.GITLAB_API_URL: Sua URL da API do GitLab. (Padrão:https://gitlab.com/api/v4)GITLAB_READ_ONLY_MODE: Quando definido como 'true', restringe o servidor a expor apenas operações somente leitura. Útil para segurança aprimorada ou quando o acesso de escrita não é necessário. Também útil para usar com o Cursor e seu limite de 40 ferramentas.USE_GITLAB_WIKI: Quando definido como 'true', habilita as ferramentas relacionadas a wiki (list_wiki_pages, get_wiki_page, create_wiki_page, update_wiki_page, delete_wiki_page). Por padrão, os recursos de wiki estão desabilitados.USE_MILESTONE: Quando definido como 'true', habilita as ferramentas relacionadas a marcos (list_milestones, get_milestone, create_milestone, edit_milestone, delete_milestone, get_milestone_issue, get_milestone_merge_requests, promote_milestone, get_milestone_burndown_events). Por padrão, os recursos de marcos estão desabilitados.USE_PIPELINE: Quando definido como 'true', habilita as ferramentas relacionadas a pipelines (list_pipelines, get_pipeline, list_pipeline_jobs, get_pipeline_job, get_pipeline_job_output, create_pipeline, retry_pipeline, cancel_pipeline). Por padrão, os recursos de pipeline estão desabilitados.
Ferramentas 🛠️
+
create_or_update_file- Criar ou atualizar um único arquivo em um projeto GitLabsearch_repositories- Pesquisar projetos GitLabcreate_repository- Criar um novo projeto GitLabget_file_contents- Obter o conteúdo de um arquivo ou diretório de um projeto GitLabpush_files- Enviar vários arquivos para um projeto GitLab em um único commitcreate_issue- Criar uma nova issue em um projeto GitLabcreate_merge_request- Criar uma nova solicitação de merge em um projeto GitLabfork_repository- Bifurcar (fork) um projeto GitLab para sua conta ou namespace especificadocreate_branch- Criar um novo branch em um projeto GitLabget_merge_request- Obter detalhes de uma solicitação de merge (É necessário fornecer mergeRequestIid ou branchName)get_merge_request_diffs- Obter as alterações/diffs de uma solicitação de merge (É necessário fornecer mergeRequestIid ou branchName)get_branch_diffs- Obter as alterações/diffs entre dois branches ou commits em um projeto GitLabupdate_merge_request- Atualizar uma solicitação de merge (É necessário fornecer mergeRequestIid ou branchName)create_note- Criar uma nova nota (comentário) em uma issue ou solicitação de mergecreate_merge_request_thread- Criar uma nova thread em uma solicitação de mergemr_discussions- Listar itens de discussão de uma solicitação de mergeupdate_merge_request_note- Modificar uma nota existente de thread de solicitação de mergecreate_merge_request_note- Adicionar uma nova nota a uma thread existente de solicitação de mergeupdate_issue_note- Modificar uma nota existente de thread de issuecreate_issue_note- Adicionar uma nova nota a uma thread existente de issuelist_issues- Listar issues em um projeto GitLab com opções de filtroget_issue- Obter detalhes de uma issue específica em um projeto GitLabupdate_issue- Atualizar uma issue em um projeto GitLabdelete_issue- Excluir uma issue de um projeto GitLablist_issue_links- Listar todos os links de issue para uma issue específicalist_issue_discussions- Listar discussões de uma issue em um projeto GitLabget_issue_link- Obter um link de issue específicocreate_issue_link- Criar um link de issue entre duas issuesdelete_issue_link- Excluir um link de issuelist_namespaces- Listar todos os namespaces disponíveis para o usuário atualget_namespace- Obter detalhes de um namespace por ID ou caminhoverify_namespace- Verificar se um caminho de namespace existeget_project- Obter detalhes de um projeto específicolist_projects- Listar projetos acessíveis pelo usuário atuallist_labels- Listar labels de um projetoget_label- Obter um único label de um projetocreate_label- Criar um novo label em um projetoupdate_label- Atualizar um label existente em um projetodelete_label- Excluir um label de um projetolist_group_projects- Listar projetos em um grupo GitLab com opções de filtrolist_wiki_pages- Listar páginas wiki em um projeto GitLabget_wiki_page- Obter detalhes de uma página wiki específicacreate_wiki_page- Criar uma nova página wiki em um projeto GitLabupdate_wiki_page- Atualizar uma página wiki existente em um projeto GitLabdelete_wiki_page- Excluir uma página wiki de um projeto GitLabget_repository_tree- Obter a árvore do repositório de um projeto GitLab (listar arquivos e diretórios)list_pipelines- Listar pipelines em um projeto GitLab com opções de filtroget_pipeline- Obter detalhes de um pipeline específico em um projeto GitLablist_pipeline_jobs- Listar todos os jobs em um pipeline específicoget_pipeline_job- Obter detalhes de um número de job de pipeline GitLabget_pipeline_job_output- Obter a saída/rastro de um número de job de pipeline GitLabcreate_pipeline- Criar um novo pipeline para um branch ou tagretry_pipeline- Tentar novamente um pipeline com falha ou canceladocancel_pipeline- Cancelar um pipeline em execuçãolist_merge_requests- Listar solicitações de merge em um projeto GitLab com opções de filtrolist_milestones- Listar marcos em um projeto GitLab com opções de filtroget_milestone- Obter detalhes de um marco específicocreate_milestone- Criar um novo marco em um projeto GitLabedit_milestone- Editar um marco existente em um projeto GitLabdelete_milestone- Excluir um marco de um projeto GitLabget_milestone_issue- Obter issues associadas a um marco específicoget_milestone_merge_requests- Obter solicitações de merge associadas a um marco específicopromote_milestone- Promover um marco para o próximo estágioget_milestone_burndown_events- Obter eventos de burndown para um marco específicoget_users- Obter detalhes de usuário do GitLab por nomes de usuário