Better GitLab MCP Server

Um servidor GitLab MCP aprimorado com correções de bugs, fornecendo acesso a projetos, issues e merge requests do GitLab.

Documentação

Better GitLab MCP Server

@zereight/mcp-gitlab

smithery badge

Servidor GitLab MCP (Model Context Protocol). Inclui correções de bugs e melhorias em relação ao servidor GitLab MCP original.

gitlab mcp MCP server

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 🛠️

+

  1. create_or_update_file - Criar ou atualizar um único arquivo em um projeto GitLab
  2. search_repositories - Pesquisar projetos GitLab
  3. create_repository - Criar um novo projeto GitLab
  4. get_file_contents - Obter o conteúdo de um arquivo ou diretório de um projeto GitLab
  5. push_files - Enviar vários arquivos para um projeto GitLab em um único commit
  6. create_issue - Criar uma nova issue em um projeto GitLab
  7. create_merge_request - Criar uma nova solicitação de merge em um projeto GitLab
  8. fork_repository - Bifurcar (fork) um projeto GitLab para sua conta ou namespace especificado
  9. create_branch - Criar um novo branch em um projeto GitLab
  10. get_merge_request - Obter detalhes de uma solicitação de merge (É necessário fornecer mergeRequestIid ou branchName)
  11. get_merge_request_diffs - Obter as alterações/diffs de uma solicitação de merge (É necessário fornecer mergeRequestIid ou branchName)
  12. get_branch_diffs - Obter as alterações/diffs entre dois branches ou commits em um projeto GitLab
  13. update_merge_request - Atualizar uma solicitação de merge (É necessário fornecer mergeRequestIid ou branchName)
  14. create_note - Criar uma nova nota (comentário) em uma issue ou solicitação de merge
  15. create_merge_request_thread - Criar uma nova thread em uma solicitação de merge
  16. mr_discussions - Listar itens de discussão de uma solicitação de merge
  17. update_merge_request_note - Modificar uma nota existente de thread de solicitação de merge
  18. create_merge_request_note - Adicionar uma nova nota a uma thread existente de solicitação de merge
  19. update_issue_note - Modificar uma nota existente de thread de issue
  20. create_issue_note - Adicionar uma nova nota a uma thread existente de issue
  21. list_issues - Listar issues em um projeto GitLab com opções de filtro
  22. get_issue - Obter detalhes de uma issue específica em um projeto GitLab
  23. update_issue - Atualizar uma issue em um projeto GitLab
  24. delete_issue - Excluir uma issue de um projeto GitLab
  25. list_issue_links - Listar todos os links de issue para uma issue específica
  26. list_issue_discussions - Listar discussões de uma issue em um projeto GitLab
  27. get_issue_link - Obter um link de issue específico
  28. create_issue_link - Criar um link de issue entre duas issues
  29. delete_issue_link - Excluir um link de issue
  30. list_namespaces - Listar todos os namespaces disponíveis para o usuário atual
  31. get_namespace - Obter detalhes de um namespace por ID ou caminho
  32. verify_namespace - Verificar se um caminho de namespace existe
  33. get_project - Obter detalhes de um projeto específico
  34. list_projects - Listar projetos acessíveis pelo usuário atual
  35. list_labels - Listar labels de um projeto
  36. get_label - Obter um único label de um projeto
  37. create_label - Criar um novo label em um projeto
  38. update_label - Atualizar um label existente em um projeto
  39. delete_label - Excluir um label de um projeto
  40. list_group_projects - Listar projetos em um grupo GitLab com opções de filtro
  41. list_wiki_pages - Listar páginas wiki em um projeto GitLab
  42. get_wiki_page - Obter detalhes de uma página wiki específica
  43. create_wiki_page - Criar uma nova página wiki em um projeto GitLab
  44. update_wiki_page - Atualizar uma página wiki existente em um projeto GitLab
  45. delete_wiki_page - Excluir uma página wiki de um projeto GitLab
  46. get_repository_tree - Obter a árvore do repositório de um projeto GitLab (listar arquivos e diretórios)
  47. list_pipelines - Listar pipelines em um projeto GitLab com opções de filtro
  48. get_pipeline - Obter detalhes de um pipeline específico em um projeto GitLab
  49. list_pipeline_jobs - Listar todos os jobs em um pipeline específico
  50. get_pipeline_job - Obter detalhes de um número de job de pipeline GitLab
  51. get_pipeline_job_output - Obter a saída/rastro de um número de job de pipeline GitLab
  52. create_pipeline - Criar um novo pipeline para um branch ou tag
  53. retry_pipeline - Tentar novamente um pipeline com falha ou cancelado
  54. cancel_pipeline - Cancelar um pipeline em execução
  55. list_merge_requests - Listar solicitações de merge em um projeto GitLab com opções de filtro
  56. list_milestones - Listar marcos em um projeto GitLab com opções de filtro
  57. get_milestone - Obter detalhes de um marco específico
  58. create_milestone - Criar um novo marco em um projeto GitLab
  59. edit_milestone - Editar um marco existente em um projeto GitLab
  60. delete_milestone - Excluir um marco de um projeto GitLab
  61. get_milestone_issue - Obter issues associadas a um marco específico
  62. get_milestone_merge_requests - Obter solicitações de merge associadas a um marco específico
  63. promote_milestone - Promover um marco para o próximo estágio
  64. get_milestone_burndown_events - Obter eventos de burndown para um marco específico
  65. get_users - Obter detalhes de usuário do GitLab por nomes de usuário