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 creating/updating files, pushing multiple files, searching repositories, creating repositories, getting file contents, creating issues, creating merge requests, forking repositories, creating branches, getting merge request details and diffs, updating merge requests, and creating notes/comments.
Mejor servidor MCP de GitLab
@zereight/mcp-gitlab
Servidor MCP (Protocolo de Contexto de Modelo) de GitLab. Incluye correcciones de errores y mejoras respecto al servidor MCP de GitLab original.
Uso
Uso con la aplicación Claude, Cline, Roo Code y Cursor
Al utilizar la aplicación Claude, debe configurar su clave API y las URL directamente.
Variables de entorno
GITLAB_PERSONAL_ACCESS_TOKEN
: Su token de acceso personal de GitLab.GITLAB_API_URL
: La URL de tu API de GitLab. (Predeterminado:https://gitlab.com/api/v4
)GITLAB_READ_ONLY_MODE
: Cuando se establece en 'true', restringe el servidor a solo operaciones de lectura. Útil para mayor seguridad o cuando no se requiere acceso de escritura. También es útil para usar con Cursor y su límite de 40 herramientas.
Herramientas 🛠️
create_or_update_file
- Crea o actualiza un solo archivo en un proyecto de GitLab. 📝
- Entradas:
project_id
(cadena): ID del proyecto o espacio de nombres/ruta del proyectofile_path
(cadena): Ruta para crear/actualizar el archivocontent
(cadena): contenido del archivocommit_message
(cadena): Mensaje de confirmaciónbranch
(cadena): Rama para crear/actualizar el archivo enprevious_path
(cadena opcional): Ruta del archivo anterior al cambiar el nombre de un archivo
- Devuelve: Contenido del archivo y detalles de confirmación
push_files
- Envía varios archivos en una sola confirmación. 📤
- Entradas:
project_id
(cadena): ID del proyecto o espacio de nombres/ruta del proyectobranch
(cadena): Rama a la que enviarfiles
(matriz): Matriz de archivos para enviar, cada uno con propiedadesfile_path
ycontent
commit_message
(cadena): Mensaje de confirmación
- Devoluciones: Referencia de rama actualizada
search_repositories
- Busca proyectos en GitLab. 🔍
- Entradas:
search
(cadena): consulta de búsquedapage
(número opcional): Número de página (predeterminado: 1)per_page
(número opcional): Resultados por página (predeterminado: 20, máximo: 100)
- Devoluciones: Resultados de la búsqueda del proyecto
create_repository
- Crea un nuevo proyecto de GitLab. ➕
- Entradas:
name
(cadena): nombre del proyectodescription
(cadena opcional): Descripción del proyectovisibility
(cadena opcional): Nivel de visibilidad del proyecto (público, privado, interno)initialize_with_readme
(booleano opcional): Inicializar con README
- Devuelve: Detalles del proyecto creado
get_file_contents
- Obtener el contenido de un archivo o directorio. 📂
- Entradas:
project_id
(cadena): ID del proyecto o espacio de nombres/ruta del proyectofile_path
(cadena): Ruta al archivo/directorioref
(cadena opcional): Rama, etiqueta o confirmación SHA (valor predeterminado: rama predeterminada)
- Devuelve: Contenido del archivo/directorio
create_issue
- Crea un nuevo problema. 🐛
- Entradas:
project_id
(cadena): ID del proyecto o espacio de nombres/ruta del proyectotitle
(cadena): Título del problemadescription
(cadena): Descripción del problemaassignee_ids
(número opcional[]): Matriz de identificaciones de cesionariosmilestone_id
(número opcional): ID del hitolabels
(cadena opcional[]): Matriz de etiquetas
- Devoluciones: Detalles del problema creado
create_merge_request
- Crea una nueva solicitud de fusión. 🚀
- Entradas:
project_id
(cadena): ID del proyecto o espacio de nombres/ruta del proyectotitle
(cadena): Título de la solicitud de fusióndescription
(cadena): Descripción de la solicitud de fusiónsource_branch
(cadena): Rama con cambiostarget_branch
(cadena): rama en la que fusionarseallow_collaboration
(booleano opcional): permitir que los colaboradores envíen confirmaciones a la rama de origendraft
(booleano opcional): crear como una solicitud de fusión de borrador
- Devoluciones: Detalles de la solicitud de fusión creada
fork_repository
- Bifurcar un proyecto. 🍴
- Entradas:
project_id
(cadena): ID del proyecto o espacio de nombres/ruta del proyecto a bifurcarnamespace
(cadena opcional): espacio de nombres en el que se bifurcará (predeterminado: espacio de nombres del usuario)
- Devoluciones: Detalles del proyecto bifurcado
create_branch
- Crea una nueva rama. 🌿
- Entradas:
project_id
(cadena): ID del proyecto o espacio de nombres/ruta del proyectoname
(cadena): nombre de la nueva ramaref
(cadena opcional): referencia para crear la rama desde (rama, etiqueta, SHA de confirmación, valor predeterminado: rama predeterminada)
- Devuelve: Referencia de rama creada
get_merge_request
- Obtenga detalles de una solicitud de fusión. ℹ️
- Entradas:
project_id
(cadena): ID del proyecto o espacio de nombres/ruta del proyectomerge_request_iid
(número): IID de la solicitud de fusión
- Devoluciones: Detalles de la solicitud de fusión
get_merge_request_diffs
- Obtener cambios (diffs) de una solicitud de fusión. diff
- Entradas:
project_id
(cadena): ID del proyecto o espacio de nombres/ruta del proyectomerge_request_iid
(número): IID de la solicitud de fusiónview
(cadena opcional): tipo de vista Diff ('en línea' o 'paralela')
- Devoluciones: Matriz de información de diferencia de solicitud de fusión
update_merge_request
- Actualizar una solicitud de fusión. 🔄
- Entradas:
project_id
(cadena): ID del proyecto o espacio de nombres/ruta del proyectomerge_request_iid
(número): IID de la solicitud de fusióntitle
(cadena opcional): Nuevo títulodescription
(cadena): Nueva descripcióntarget_branch
(cadena opcional): Nueva rama de destinostate_event
(cadena opcional): evento de cambio de estado de solicitud de fusión ('cerrar', 'reabrir')remove_source_branch
(booleano opcional): eliminar la rama de origen después de la fusiónallow_collaboration
(booleano opcional): permitir que los colaboradores envíen confirmaciones a la rama de origen
- Devoluciones: Detalles de la solicitud de fusión actualizados
create_note
- Crea una nueva nota (comentario) para un problema o una solicitud de fusión. 💬
- Entradas:
project_id
(cadena): ID del proyecto o espacio de nombres/ruta del proyectonoteable_type
(cadena): Tipo de nota destacable ("problema" o "solicitud de fusión")noteable_iid
(número): IID del problema o solicitud de fusiónbody
(cadena): contenido de la nota
- Devuelve: Detalles de la nota creada
list_projects
- Lista de proyectos accesibles con ricas opciones de filtrado 📊
- Entradas:
- Búsqueda/filtrado:
search
owned
membership
archived
visibility
- Filtrado de funciones:
with_issues_enabled
with_merge_requests_enabled
- Clasificación:
order_by
sort
- Control de acceso:
min_access_level
- Paginación:
page
per_page
simple
- Búsqueda/filtrado:
- Devoluciones: Matriz de proyectos
list_labels
- Listado de todas las etiquetas de un proyecto con opciones de filtrado 🏷️
- Entradas:
project_id
(cadena): ID del proyecto o rutawith_counts
(opcional): incluye recuentos de problemas y solicitudes de fusióninclude_ancestor_groups
(opcional): incluye grupos de ancestrossearch
(opcional): Filtrar etiquetas por palabra clave
- Devuelve: Matriz de etiquetas
get_label
- Obtener una sola etiqueta de un proyecto
- Entradas:
project_id
(cadena): ID del proyecto o rutalabel_id
(número/cadena): ID de etiqueta o nombreinclude_ancestor_groups
(opcional): incluye grupos de ancestros
- Devoluciones: detalles de la etiqueta
create_label
- Crear una nueva etiqueta en un objeto 🏷️➕
- Entradas:
project_id
(cadena): ID del proyecto o rutaname
(cadena): nombre de la etiquetacolor
(cadena): color en formato hexadecimal (por ejemplo, "#FF0000")description
(opcional): Descripción de la etiquetapriority
(opcional): Prioridad de la etiqueta
- Devoluciones: Detalles de la etiqueta creada
update_label
- Actualizar una etiqueta existente en un proyecto 🏷️✏️
- Entradas:
project_id
(cadena): ID del proyecto o rutalabel_id
(número/cadena): ID de etiqueta o nombrenew_name
(opcional): Nuevo nombre de etiquetacolor
(opcional): Nuevo color en formato hexadecimaldescription
(opcional): Nueva descripciónpriority
(opcional): Nueva prioridad
- Devoluciones: Detalles de etiqueta actualizados
delete_label
- Eliminar una etiqueta de un proyecto 🏷️❌
- Entradas:
project_id
(cadena): ID del proyecto o rutalabel_id
(número/cadena): ID de etiqueta o nombre
- Devoluciones: Mensaje de éxito
list_group_projects
- Enumera todos los proyectos en un grupo de GitLab. 📂
- Entradas:
group_id
(cadena): ID del proyecto o espacio de nombres/ruta del proyecto- Opciones de filtrado:
include_subgroups
(booleano opcional): incluye proyectos de subgrupossearch
(cadena opcional): término de búsqueda para filtrar proyectosarchived
(booleano opcional): filtro para proyectos archivadosvisibility
(cadena opcional): Filtrar por visibilidad del proyecto (pública/interna/privada)with_programming_language
(cadena opcional): Filtrar por lenguaje de programaciónstarred
(booleano opcional): Filtrar por proyectos destacados
- Filtrado de funciones:
with_issues_enabled
(booleano opcional): Filtrar proyectos con la función de problemas habilitadawith_merge_requests_enabled
(booleano opcional): Filtrar proyectos con la función de solicitudes de fusión habilitadamin_access_level
(número opcional): Filtrar por nivel de acceso mínimo
- Paginación:
page
(número opcional): Número de páginaper_page
(número opcional): Resultados por página
- Clasificación:
order_by
(cadena opcional): Campo por el que ordenarsort
(cadena opcional): Dirección de ordenamiento (asc/desc)
- Datos adicionales:
statistics
(booleano opcional): incluye estadísticas del proyectowith_custom_attributes
(booleano opcional): incluye atributos personalizadoswith_security_reports
(booleano opcional): incluye informes de seguridad
- Devoluciones: Lista de proyectos
Configuración de variables de entorno
Antes de ejecutar el servidor, debe configurar las siguientes variables de entorno:
Licencia
Licencia MIT
You must be authenticated.
Tools
mcp de gitlab