Ir al contenido

Visión general de herramientas

GitLab MCP Server expone las operaciones de GitLab como herramientas MCP que los asistentes de IA pueden invocar directamente. El servidor ofrece dos modos de operación para equilibrar capacidad con eficiencia de tokens.

En modo individual, el servidor registra 1006 herramientas individuales, cada una mapeada a una sola operación de la API de GitLab. Esto proporciona la máxima granularidad pero consume una cantidad significativa de tokens de contexto del LLM para el descubrimiento de herramientas.

En modo meta-herramientas (META_TOOLS=true), las operaciones relacionadas se consolidan en meta-herramientas a nivel de dominio. Cada meta-herramienta acepta un parámetro action que enruta al handler apropiado. Esto reduce el recuento de herramientas a 42 meta-herramientas base (o 57 con funciones enterprise), mejorando drásticamente la eficiencia de tokens del LLM mientras se preserva toda la funcionalidad.

{
"tool": "gitlab_issue",
"arguments": {
"action": "create",
"project": "my-group/my-project",
"title": "Fix login redirect",
"description": "Users are redirected to 404 after login",
"labels": "bug,priority::high"
}
}

Todas las herramientas siguen un patrón de nomenclatura consistente:

  • Herramientas individuales: gitlab_{action}_{resource} (p. ej., gitlab_create_issue, gitlab_list_projects)
  • Meta-herramientas: gitlab_{domain} (p. ej., gitlab_issue, gitlab_project)
Meta-herramientaDescripciónAcciones principales
gitlab_projectCRUD y configuración de proyectoslist, get, create, update, delete, archive, unarchive, fork, star, unstar, transfer
gitlab_issueGestión del ciclo de vida de issueslist, get, create, update, delete, close, reopen, subscribe, move, clone
gitlab_milestoneGestión de milestoneslist, get, create, update, delete
gitlab_labelGestión de etiquetaslist, get, create, update, delete
gitlab_issue_linkRelaciones entre issueslist, create, delete
gitlab_issue_noteComentarios en issueslist, get, create, update, delete
gitlab_todoGestión de tareas pendienteslist, mark_done, mark_all_done
Meta-herramientaDescripciónAcciones principales
gitlab_branchGestión de ramaslist, get, create, delete
gitlab_protected_branchReglas de protección de ramaslist, get, protect, unprotect
gitlab_commitOperaciones con commitslist, get, diff, refs, cherry_pick, revert
gitlab_tagGestión de tagslist, get, create, delete
gitlab_fileOperaciones con archivos del repositorioget, create, update, delete, raw
gitlab_repositoryÁrbol del repositorio y comparacióntree, compare, archive, contributors
gitlab_merge_requestCiclo de vida de merge requestslist, get, create, update, merge, close, reopen, rebase, approve, unapprove
gitlab_mr_noteComentarios en MRslist, get, create, update, delete
gitlab_mr_discussionHilos de discusión en MRslist, get, create, reply, resolve, unresolve
gitlab_mr_draft_noteNotas borrador en MRslist, get, create, update, delete, publish
gitlab_mr_changesDiffs y cambios de MRslist, summary
gitlab_mr_approvalReglas de aprobación de MRsget, approve, unapprove, configuration
gitlab_wikiGestión de páginas wikilist, get, create, update, delete
Meta-herramientaDescripciónAcciones principales
gitlab_pipelineGestión de pipelineslist, get, create, cancel, retry, delete, wait
gitlab_jobGestión de jobs de CIlist, get, play, cancel, retry, trace, artifacts, wait
gitlab_pipeline_schedulePipelines programadoslist, get, create, update, delete, trigger
gitlab_ci_lintValidación de configuración CIvalidate, project_lint
gitlab_ci_variableVariables de CI/CDlist, get, create, update, delete
gitlab_environmentGestión de entornoslist, get, create, update, delete, stop
gitlab_deploymentSeguimiento de despliegueslist, get
gitlab_packageRegistro de paqueteslist, get, delete
Meta-herramientaDescripciónAcciones principales
gitlab_memberGestión de miembros del proyectolist, get, add, update, remove
gitlab_groupGestión de gruposlist, get, create, update, delete, projects, subgroups
gitlab_searchBúsqueda entre recursoscode, issues, merge_requests, projects, users, commits, blobs
gitlab_userInformación de usuariosget, current, list, status
gitlab_releaseGestión de releaseslist, get, create, update, delete
gitlab_release_linkEnlaces de assets de releaseslist, get, create, update, delete
gitlab_uploadSubida de archivosupload
Meta-herramientaDescripciónAcciones principales
gitlab_healthComprobación de salud del servidorcheck, version
gitlab_server_updateGestión de autoactualizacióncheck, apply
gitlab_resolve_projectResolución de remote Git a proyectoresolve
Meta-herramientaDescripción
gitlab_analyze_mr_changesAnálisis con IA de cambios en merge requests
gitlab_summarize_issueResumen de issues impulsado por IA
gitlab_generate_release_notesGeneración automatizada de notas de release
gitlab_analyze_pipeline_failureAnálisis de causa raíz de fallos en pipelines
gitlab_summarize_mr_reviewResumen de revisiones de MRs
gitlab_generate_milestone_reportInformes de progreso de milestones
gitlab_analyze_ci_configurationAnálisis de calidad de la configuración CI
gitlab_analyze_issue_scopeEstimación de alcance y complejidad de issues
gitlab_review_mr_securityRevisión de seguridad de cambios en MRs
gitlab_find_technical_debtIdentificación de deuda técnica
gitlab_analyze_deployment_historyAnálisis de patrones de despliegue

Cuando GITLAB_ENTERPRISE=true, el servidor registra 15 meta-herramientas adicionales para las funciones de GitLab Premium y Ultimate:

gitlab_merge_train, gitlab_audit_event, gitlab_dora_metrics, gitlab_dependency, gitlab_external_status_check, gitlab_group_scim, gitlab_member_role, gitlab_enterprise_user, gitlab_attestation, gitlab_compliance_policy, gitlab_project_alias, gitlab_geo, gitlab_storage_move, gitlab_vulnerability, gitlab_security_finding