Git MCP Server

Un servidor MCP para realizar operaciones de Git.

Documentación

Git MCP Server

Un servidor de Model Context Protocol (MCP) para operaciones de Git que proporciona funcionalidad integral de Git a clientes MCP como Claude Desktop.

Características

  • Consciente del contexto: Detecta automáticamente el proyecto actual según el directorio de trabajo
  • Operaciones completas de Git: estado, ramas, diferencias, registros, contenido de archivos, confirmaciones y más
  • Soporte multiproyecto: Funciona sin problemas en diferentes directorios de proyecto
  • Manejo de errores: Respuestas de error MCP apropiadas
  • Gestión de ramas: Crear, cambiar y gestionar ramas
  • Operaciones remotas: Empujar, traer y obtener desde repositorios remotos

Instalación

Opción 1: Instalación global (recomendada)

npm install -g git-mcp-server

Opción 2: Configuración de desarrollo local

  1. Clonar e instalar:

    git clone https://github.com/yourusername/git-mcp-server.git
    cd git-mcp-server
    npm install
    
  2. Construir el proyecto:

    npm run build
    

Configuración

Claude Desktop

Agrega este servidor a tu archivo de configuración de Claude Desktop:

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "git": {
      "command": "git-mcp-server",
      "args": []
    }
  }
}

Otros clientes MCP

Para otros clientes MCP, usa el binario del servidor directamente:

git-mcp-server

El servidor usará automáticamente el directorio de trabajo actual como contexto del repositorio Git.

Uso

Una vez configurado, puedes usar operaciones de Git a través de tu cliente MCP. El servidor detecta automáticamente el repositorio Git en tu directorio de trabajo actual.

Ejemplos de comandos

Pídele a tu cliente MCP (como Claude) que realice operaciones de Git:

  • "¿Cuál es el estado actual de git?"
  • "Muéstrame la diferencia con la rama principal"
  • "Crea una nueva rama llamada feature/nueva-funcionalidad"
  • "Confirma estos cambios con el mensaje 'Corregir error en el analizador'"
  • "Empuja la rama actual al origen"

Probando el servidor

Puedes probar el servidor manualmente desde cualquier repositorio Git:

cd /path/to/your/git/repo
git-mcp-server

Herramientas disponibles

Información del repositorio

  • git_status - Obtener el estado actual de git
  • git_current_branch - Obtener el nombre de la rama actual
  • git_staged_changes - Obtener los cambios en el área de preparación
  • git_working_directory - Obtener información del directorio de trabajo actual

Operaciones de archivos e historial

  • git_diff - Mostrar diferencias entre ramas/confirmaciones
  • git_log - Obtener el historial de confirmaciones
  • git_show_file - Mostrar el contenido de un archivo en una confirmación específica

Operaciones de ramas

  • git_branches - Listar todas las ramas
  • git_checkout - Cambiar a una rama diferente o crear una nueva

Operaciones de preparación y confirmación

  • git_add - Agregar archivos al área de preparación
  • git_commit - Crear confirmaciones con mensaje y archivos

Operaciones remotas

  • git_pull - Traer cambios desde un repositorio remoto
  • git_fetch - Obtener cambios desde el remoto sin fusionar

Gestión del repositorio

  • git_init - Inicializar un nuevo repositorio Git

Requisitos previos

  • Node.js 18+
  • npm o yarn
  • Git instalado en tu sistema

Contribuciones

  1. Haz un fork del repositorio
  2. Crea una rama de características
  3. Realiza tus cambios
  4. Agrega pruebas si corresponde
  5. Envía una solicitud de extracción

Licencia

Licencia MIT: consulta el archivo LICENSE para obtener más detalles.

Estructura del proyecto

git-mcp-server/
├── package.json          # Project dependencies and scripts
├── tsconfig.json         # TypeScript configuration
├── src/
│   └── index.ts         # Main server implementation
├── build/
│   └── index.js         # Compiled JavaScript (generated)
└── README.md            # This file

Desarrollo

  • npm run build - Compilar el código TypeScript
  • npm run dev - Modo de observación para desarrollo
  • npm start - Ejecutar el servidor compilado