Skip to main content
Glama

Git MCP

insignia de herrería 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 :

npx -y @smithery/cli install @kjozsa/git-mcp --client claude

Instalación manual

uvx install git-mcp

Related MCP server: GitHub MCP Server Plus

Configuración

Agregue el servidor MCP utilizando el siguiente fragmento de configuración JSON:

{ "mcpServers": { "git-mcp": { "command": "uvx", "args": ["git-mcp"], "env": { "GIT_REPOS_PATH": "/path/to/your/git/repositories" } } } }

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) y date (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 Git

    • max_count (opcional): Número máximo de confirmaciones a devolver

  • Devuelve: Lista de diccionarios con hash , author , date y message

crear_etiqueta_git

Crea una nueva etiqueta git en el repositorio especificado.

  • Parámetros:

    • repo_name : Nombre del repositorio git

    • tag_name : Nombre de la etiqueta a crear

    • message (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) y type (anotado o ligero)

etiqueta_de_git_push

Envía una etiqueta git existente al repositorio remoto predeterminado.

  • Parámetros:

    • repo_name : Nombre del repositorio git

    • tag_name : Nombre de la etiqueta a enviar

  • Devuelve: Diccionario con status , remote (nombre del control remoto), tag (nombre de la etiqueta) y message (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 y pull_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

# Install dependencies uv pip install -r requirements.txt # Run in dev mode with Inspector mcp dev git_mcp/server.py

Pruebas

El proyecto incluye dos scripts de prueba:

  1. test_git_mcp.py : prueba la funcionalidad del comando Git subyacente directamente, sin utilizar el servidor MCP.

  2. test_mcp_server.py : prueba la funcionalidad del servidor MCP iniciando una instancia de servidor y realizándole llamadas.

Para ejecutar las pruebas:

# Test the Git command functionality python test_git_mcp.py # Test the MCP server (requires the git-mcp package to be installed) python test_mcp_server.py

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/kjozsa/git-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server