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
create_or_update_fileCrear o actualizar un solo archivo en un proyecto
Entradas:
project_id(cadena): ID del proyecto o ruta codificada en URLfile_path(cadena): Ruta donde 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 a mover/renombrar
Devuelve: Contenido del archivo y detalles de confirmación
push_filesInsertar varios archivos en una sola confirmación
Entradas:
project_id(cadena): ID del proyecto o ruta codificada en URLbranch(cadena): Rama a la que enviarfiles(matriz): archivos para enviar, cada uno confile_pathycontentcommit_message(cadena): Mensaje de confirmación
Devoluciones: Referencia de rama actualizada
search_repositoriesBuscar proyectos de GitLab
Entradas:
search(cadena): consulta de búsquedapage(número opcional): Número de página para paginaciónper_page(número opcional): Resultados por página (predeterminado 20)
Devoluciones: Resultados de la búsqueda del proyecto
create_repositoryCrear un nuevo proyecto de GitLab
Entradas:
name(cadena): nombre del proyectodescription(cadena opcional): Descripción del proyectovisibility(cadena opcional): 'privada', 'interna' o 'pública'initialize_with_readme(booleano opcional): Inicializar con README
Devoluciones: Detalles del proyecto creado
get_file_contentsObtener el contenido de un archivo o directorio
Entradas:
project_id(cadena): ID del proyecto o ruta codificada en URLfile_path(cadena): Ruta al archivo/directorioref(cadena opcional): rama/etiqueta/confirmación de la que obtener el contenido
Devuelve: Contenido del archivo/directorio
create_issueCrear un nuevo problema
Entradas:
project_id(cadena): ID del proyecto o ruta codificada en URLtitle(cadena): Título del problemadescription(cadena opcional): Descripción del problemaassignee_ids(número opcional[]): ID de usuario para asignarlabels(cadena opcional[]): etiquetas para agregarmilestone_id(número opcional): ID del hito
Devoluciones: Detalles del problema creado
create_merge_requestCrear una nueva solicitud de fusión
Entradas:
project_id(cadena): ID del proyecto o ruta codificada en URLtitle(cadena): título de MRdescription(cadena opcional): descripción de MRsource_branch(cadena): rama que contiene los cambiostarget_branch(cadena): rama en la que fusionarsedraft(booleano opcional): Crear como borrador MRallow_collaboration(booleano opcional): Permitir confirmaciones de miembros ascendentes
Devoluciones: Detalles de la solicitud de fusión creada
fork_repositoryBifurcar un proyecto
Entradas:
project_id(cadena): ID del proyecto o ruta codificada en URLnamespace(cadena opcional): espacio de nombres al que bifurcar
Devoluciones: Detalles del proyecto bifurcado
create_branchCrear una nueva rama
Entradas:
project_id(cadena): ID del proyecto o ruta codificada en URLbranch(cadena): Nombre de la nueva ramaref(cadena opcional): rama de origen/confirmación para la nueva rama
Devuelve: Referencia de rama creada
Related MCP server: GitHub MCP Server Plus
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:
apipara acceso completo a la APIread_apipara acceso de solo lecturaread_repositoryywrite_repositorypara 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
}
}
}
}Uso con VS Code
Para una instalación rápida, utilice uno de los botones de instalación de un solo clic que aparecen a continuación...
Para la instalación manual, agregue el siguiente bloque JSON a su archivo de configuración de usuario (JSON) en VS Code. Para ello, presione Ctrl + Shift + P y escriba Preferences: Open User Settings (JSON) .
Opcionalmente, puede agregarlo a un archivo llamado .vscode/mcp.json en su espacio de trabajo. Esto le permitirá compartir la configuración con otros.
Tenga en cuenta que la clave
mcpno es necesaria en el archivo.vscode/mcp.json.
Estibador
{
"mcp": {
"inputs": [
{
"type": "promptString",
"id": "gitlab_token",
"description": "GitLab Personal Access Token",
"password": true
},
{
"type": "promptString",
"id": "gitlab_url",
"description": "GitLab API URL (optional)",
"default": "https://gitlab.com/api/v4"
}
],
"servers": {
"gitlab": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"mcp/gitlab"
],
"env": {
"GITLAB_PERSONAL_ACCESS_TOKEN": "${input:gitlab_token}",
"GITLAB_API_URL": "${input:gitlab_url}"
}
}
}
}
}NPX
{
"mcp": {
"inputs": [
{
"type": "promptString",
"id": "gitlab_token",
"description": "GitLab Personal Access Token",
"password": true
},
{
"type": "promptString",
"id": "gitlab_url",
"description": "GitLab API URL (optional)",
"default": "https://gitlab.com/api/v4"
}
],
"servers": {
"gitlab": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-gitlab"
],
"env": {
"GITLAB_PERSONAL_ACCESS_TOKEN": "${input:gitlab_token}",
"GITLAB_API_URL": "${input:gitlab_url}"
}
}
}
}
}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 eshttps://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.
Resources
Looking for Admin?
Admins can modify the Dockerfile, update the server description, and track usage metrics. If you are the server author, to access the admin panel.