GitLab MCP Server

remote-capable server

The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.

Integrations

  • Allows interaction with GitLab repositories including project management, file operations, branch creation, issue tracking, merge request management, repository forking, and project search capabilities through the GitLab API

Servidor MCP de GitLab

Servidor MCP para la API de GitLab, que permite la gestión de proyectos, operaciones de archivos y más.

Características

  • Creación automática de ramas : al crear o actualizar archivos o enviar cambios, las ramas se crean automáticamente si no existen.
  • Manejo integral de errores : mensajes de error claros para problemas comunes
  • Preservación del historial de Git : las operaciones mantienen el historial de Git adecuado sin forzar el envío.
  • Operaciones por lotes : compatibilidad con operaciones de un solo archivo y de varios archivos

Herramientas

  1. create_or_update_file
    • Crear o actualizar un solo archivo en un proyecto
    • Entradas:
      • project_id (cadena): ID del proyecto o ruta codificada en URL
      • file_path (cadena): Ruta donde crear/actualizar el archivo
      • content (cadena): Contenido del archivo
      • commit_message (cadena): Mensaje de confirmación
      • branch (cadena): Rama para crear/actualizar el archivo en
      • previous_path (cadena opcional): Ruta del archivo a mover/renombrar
    • Devuelve: Contenido del archivo y detalles de confirmación
  2. push_files
    • Insertar varios archivos en una sola confirmación
    • Entradas:
      • project_id (cadena): ID del proyecto o ruta codificada en URL
      • branch (cadena): Rama a la que enviar
      • files (matriz): archivos para enviar, cada uno con file_path y content
      • commit_message (cadena): Mensaje de confirmación
    • Devoluciones: Referencia de rama actualizada
  3. search_repositories
    • Buscar proyectos de GitLab
    • Entradas:
      • search (cadena): consulta de búsqueda
      • page (número opcional): Número de página para paginación
      • per_page (número opcional): Resultados por página (predeterminado 20)
    • Devoluciones: Resultados de la búsqueda del proyecto
  4. create_repository
    • Crear un nuevo proyecto de GitLab
    • Entradas:
      • name (cadena): nombre del proyecto
      • description (cadena opcional): Descripción del proyecto
      • visibility (cadena opcional): 'privada', 'interna' o 'pública'
      • initialize_with_readme (booleano opcional): Inicializar con README
    • Devoluciones: Detalles del proyecto creado
  5. get_file_contents
    • Obtener el contenido de un archivo o directorio
    • Entradas:
      • project_id (cadena): ID del proyecto o ruta codificada en URL
      • file_path (cadena): Ruta al archivo/directorio
      • ref (cadena opcional): rama/etiqueta/confirmación de la que obtener el contenido
    • Devuelve: Contenido del archivo/directorio
  6. create_issue
    • Crear un nuevo problema
    • Entradas:
      • project_id (cadena): ID del proyecto o ruta codificada en URL
      • title (cadena): Título del problema
      • description (cadena opcional): Descripción del problema
      • assignee_ids (número opcional[]): ID de usuario para asignar
      • labels (cadena opcional[]): etiquetas para agregar
      • milestone_id (número opcional): ID del hito
    • Devoluciones: Detalles del problema creado
  7. create_merge_request
    • Crear una nueva solicitud de fusión
    • Entradas:
      • project_id (cadena): ID del proyecto o ruta codificada en URL
      • title (cadena): título de MR
      • description (cadena opcional): descripción de MR
      • source_branch (cadena): rama que contiene los cambios
      • target_branch (cadena): rama en la que fusionarse
      • draft (booleano opcional): Crear como borrador MR
      • allow_collaboration (booleano opcional): Permitir confirmaciones de miembros ascendentes
    • Devoluciones: Detalles de la solicitud de fusión creada
  8. fork_repository
    • Bifurcar un proyecto
    • Entradas:
      • project_id (cadena): ID del proyecto o ruta codificada en URL
      • namespace (cadena opcional): espacio de nombres al que bifurcar
    • Devoluciones: Detalles del proyecto bifurcado
  9. create_branch
    • Crear una nueva rama
    • Entradas:
      • project_id (cadena): ID del proyecto o ruta codificada en URL
      • branch (cadena): Nombre de la nueva rama
      • ref (cadena opcional): rama de origen/confirmación para la nueva rama
    • Devuelve: Referencia de rama creada

Configuración

Token de acceso personal

Cree un token de acceso personal de GitLab con los permisos adecuados:

  • Vaya a Configuración de usuario > Tokens de acceso en GitLab
  • Seleccione los ámbitos requeridos:
    • api para acceso completo a la API
    • read_api para acceso de solo lectura
    • read_repository y write_repository para operaciones de repositorio
  • Crea el token y guárdalo de forma segura

Uso con Claude Desktop

Agregue lo siguiente a su claude_desktop_config.json :

Estibador

{ "mcpServers": { "gitlab": { "command": "docker", "args": [ "run", "--rm", "-i", "-e", "GITLAB_PERSONAL_ACCESS_TOKEN", "-e", "GITLAB_API_URL", "mcp/gitlab" ], "env": { "GITLAB_PERSONAL_ACCESS_TOKEN": "<YOUR_TOKEN>", "GITLAB_API_URL": "https://gitlab.com/api/v4" // Optional, for self-hosted instances } } } }

NPX

{ "mcpServers": { "gitlab": { "command": "npx", "args": [ "-y", "@modelcontextprotocol/server-gitlab" ], "env": { "GITLAB_PERSONAL_ACCESS_TOKEN": "<YOUR_TOKEN>", "GITLAB_API_URL": "https://gitlab.com/api/v4" // Optional, for self-hosted instances } } } }

Construir

Compilación de Docker:

docker build -t vonwig/gitlab:mcp -f src/gitlab/Dockerfile .

Variables de entorno

  • GITLAB_PERSONAL_ACCESS_TOKEN : Su token de acceso personal de GitLab (obligatorio)
  • GITLAB_API_URL : URL base para la API de GitLab (opcional, el valor predeterminado es https://gitlab.com/api/v4 )

Licencia

Este servidor MCP cuenta con la licencia MIT. Esto significa que puede usar, modificar y distribuir el software libremente, sujeto a los términos y condiciones de la licencia MIT. Para más detalles, consulte el archivo de LICENCIA en el repositorio del proyecto.

You must be authenticated.

A
security – no known vulnerabilities
A
license - permissive license
A
quality - confirmed to work

Servidor MCP para la API de GitLab, que permite la gestión de proyectos, operaciones de archivos y más.

  1. Features
    1. Tools
      1. Setup
        1. Personal Access Token
        2. Usage with Claude Desktop
        3. NPX
      2. Build
        1. Environment Variables
          1. License
            ID: mim928vohs