local-only server
The server can only run on the client’s local machine because it depends on local resources.
Integrations
Supports configuration through environment variables that can be set directly or through a .env file, particularly for specifying the path to Git repositories.
Provides tools for managing local Git repositories, including listing repositories, retrieving and creating tags, listing commits, pushing tags to remote repositories, and refreshing repositories by pulling from remotes.
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
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
,date
ymessage
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
,branch
ypull_results
(resultados para cada control remoto)
Solución de problemas
- Repositorio no encontrado : asegúrese de que
GIT_REPOS_PATH
esté configurado correctamente y que el repositorio exista - No 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:
You must be authenticated.
Tools
Servidor MCP para administrar operaciones de Git en repositorios locales, permitiendo a los usuarios enumerar repositorios, obtener y crear etiquetas, enumerar confirmaciones, enviar etiquetas y actualizar repositorios a través de una interfaz estandarizada.