Git MCP
Servidor MCP para administrar operaciones de Git en repositorios locales.
Instalación
Instalación mediante herrería
Para instalar Git MCP para Claude Desktop automáticamente a través de Smithery :
Instalación manual
Related MCP server: GitHub MCP Server Plus
Configuración
Agregue el servidor MCP utilizando el siguiente fragmento de configuración JSON:
Características y uso
Variables de entorno
GIT_REPOS_PATH: Ruta al directorio que contiene sus repositorios Git (obligatorio)
Puede configurar esto en su entorno o crear un archivo .env en el directorio donde ejecuta el servidor.
Métodos disponibles
lista_de_repositorios
Enumera todos los repositorios Git en la ruta configurada.
Parámetros: Ninguno
Devuelve: Lista de nombres de repositorios
obtener_última_etiqueta_git
Encuentra la última etiqueta Git en el repositorio especificado.
Parámetros:
repo_name(nombre del repositorio Git)Devuelve: Diccionario con
version(nombre de la etiqueta) ydate(fecha de creación de la etiqueta)
lista_de_confirmaciones_desde_la_última_etiqueta
Enumera los mensajes de confirmación entre la última etiqueta Git y HEAD.
Parámetros:
repo_name: Nombre del repositorio Gitmax_count(opcional): Número máximo de confirmaciones a devolver
Devuelve: Lista de diccionarios con
hash,author,dateymessage
crear_etiqueta_git
Crea una nueva etiqueta git en el repositorio especificado.
Parámetros:
repo_name: Nombre del repositorio gittag_name: Nombre de la etiqueta a crearmessage(opcional): Mensaje para la etiqueta anotada (si no se proporciona, crea una etiqueta liviana)
Devuelve: Diccionario con
status,version(nombre de la etiqueta),date(fecha de creación de la etiqueta) ytype(anotado o ligero)
etiqueta_de_git_push
Envía una etiqueta git existente al repositorio remoto predeterminado.
Parámetros:
repo_name: Nombre del repositorio gittag_name: Nombre de la etiqueta a enviar
Devuelve: Diccionario con
status,remote(nombre del control remoto),tag(nombre de la etiqueta) ymessage(mensaje de éxito)
actualizar_repositorio
Actualiza un repositorio extrayendo la rama principal (o master como respaldo) y extrayendo desde todos los remotos.
Parámetros:
repo_name: Nombre del repositorio git
Devuelve: Diccionario con
status,repository,branchypull_results(resultados para cada control remoto)
Solución de problemas
Repositorio no encontrado : asegúrese de que
GIT_REPOS_PATHesté configurado correctamente y que el repositorio existaNo se encontraron etiquetas : el repositorio aún no tiene etiquetas
Desarrollo
Pruebas
El proyecto incluye dos scripts de prueba:
test_git_mcp.py: prueba la funcionalidad del comando Git subyacente directamente, sin utilizar el servidor MCP.test_mcp_server.py: prueba la funcionalidad del servidor MCP iniciando una instancia de servidor y realizándole llamadas.
Para ejecutar las pruebas: