Git MCP Server

Un servidor MCP para realizar operaciones de Git e integrarse con GitHub.

Documentación

Git MCP Server

Un servidor de Protocolo de Contexto de Modelo (MCP) que proporciona operaciones Git mejoradas a través de una interfaz estandarizada. Este servidor se integra con el ecosistema MCP para proporcionar funcionalidad Git a asistentes de IA.

Características

  • Operaciones Git principales: init, clone, status, add, commit, push, pull
  • Gestión de ramas: listar, crear, eliminar, cambiar
  • Operaciones de etiquetas: listar, crear, eliminar
  • Gestión de remotos: listar, añadir, eliminar
  • Operaciones de stash: listar, guardar, aplicar
  • Acciones masivas: Ejecutar múltiples operaciones Git en secuencia
  • Integración con GitHub: Soporte integrado de GitHub mediante Token de Acceso Personal
  • Resolución de rutas: Manejo inteligente de rutas con configuración opcional de ruta predeterminada
  • Manejo de errores: Manejo integral de errores con tipos de error personalizados
  • Caché de repositorios: Gestión eficiente del estado del repositorio
  • Monitoreo de rendimiento: Seguimiento de rendimiento integrado

Instalación

  1. Clonar el repositorio:
git clone https://github.com/yourusername/git-mcp-v2.git
cd git-mcp-v2
  1. Instalar dependencias:
npm install
  1. Compilar el proyecto:
npm run build

Configuración

Añadir al archivo de configuración de MCP:

{
  "mcpServers": {
    "git-v2": {
      "command": "node",
      "args": ["path/to/git-mcp-v2/build/index.js"],
      "env": {
        "GIT_DEFAULT_PATH": "/path/to/default/git/directory",
        "GITHUB_PERSONAL_ACCESS_TOKEN": "your-github-pat"
      }
    }
  }
}

Variables de entorno

  • GIT_DEFAULT_PATH: (Opcional) Ruta predeterminada para operaciones Git
  • GITHUB_PERSONAL_ACCESS_TOKEN: (Opcional) Token de Acceso Personal de GitHub para operaciones de GitHub

Herramientas disponibles

Operaciones básicas

  • init: Inicializar un nuevo repositorio Git
  • clone: Clonar un repositorio
  • status: Obtener el estado del repositorio
  • add: Preparar archivos
  • commit: Crear un commit
  • push: Enviar commits al remoto
  • pull: Obtener cambios del remoto

Operaciones de ramas

  • branch_list: Listar todas las ramas
  • branch_create: Crear una nueva rama
  • branch_delete: Eliminar una rama
  • checkout: Cambiar de rama o restaurar archivos del árbol de trabajo

Operaciones de etiquetas

  • tag_list: Listar etiquetas
  • tag_create: Crear una etiqueta
  • tag_delete: Eliminar una etiqueta

Operaciones de remotos

  • remote_list: Listar remotos
  • remote_add: Añadir un remoto
  • remote_remove: Eliminar un remoto

Operaciones de stash

  • stash_list: Listar stashes
  • stash_save: Guardar cambios en el stash
  • stash_pop: Aplicar y eliminar un stash

Operaciones masivas

  • bulk_action: Ejecutar múltiples operaciones Git en secuencia

Desarrollo

# Run tests
npm test

# Run tests with coverage
npm run test:coverage

# Run linter
npm run lint

# Format code
npm run format

Licencia

MIT

Contribuciones

  1. Hacer un fork del repositorio
  2. Crear tu rama de características (git checkout -b feature/amazing-feature)
  3. Confirmar tus cambios (git commit -m 'Add some amazing feature')
  4. Enviar a la rama (git push origin feature/amazing-feature)
  5. Abrir una Solicitud de Extracción