Skip to main content
Glama
modelcontextprotocol

git MCP server

Official

mcp-server-git: Un servidor MCP de git

Descripción general

Un servidor del Protocolo de Contexto de Modelo (MCP) para la interacción y automatización de repositorios Git. Este servidor proporciona herramientas para leer, buscar y manipular repositorios Git a través de Modelos de Lenguaje Extensos.

Ten en cuenta que mcp-server-git se encuentra actualmente en una fase inicial de desarrollo. La funcionalidad y las herramientas disponibles están sujetas a cambios y expansiones a medida que continuamos desarrollando y mejorando el servidor.

Herramientas

  1. git_status

    • Muestra el estado del árbol de trabajo

    • Entrada:

      • repo_path (cadena): Ruta al repositorio Git

    • Devuelve: Estado actual del directorio de trabajo como salida de texto

  2. git_diff_unstaged

    • Muestra los cambios en el directorio de trabajo que aún no se han preparado (staged)

    • Entradas:

      • repo_path (cadena): Ruta al repositorio Git

      • context_lines (número, opcional): Número de líneas de contexto a mostrar (predeterminado: 3)

    • Devuelve: Salida diff de los cambios no preparados

  3. git_diff_staged

    • Muestra los cambios que están preparados para el commit

    • Entradas:

      • repo_path (cadena): Ruta al repositorio Git

      • context_lines (número, opcional): Número de líneas de contexto a mostrar (predeterminado: 3)

    • Devuelve: Salida diff de los cambios preparados

  4. git_diff

    • Muestra las diferencias entre ramas o commits

    • Entradas:

      • repo_path (cadena): Ruta al repositorio Git

      • target (cadena): Rama o commit de destino con el que comparar

      • context_lines (número, opcional): Número de líneas de contexto a mostrar (predeterminado: 3)

    • Devuelve: Salida diff comparando el estado actual con el destino

  5. git_commit

    • Registra los cambios en el repositorio

    • Entradas:

      • repo_path (cadena): Ruta al repositorio Git

      • message (cadena): Mensaje del commit

    • Devuelve: Confirmación con el nuevo hash del commit

  6. git_add

    • Añade el contenido de los archivos al área de preparación (staging area)

    • Entradas:

      • repo_path (cadena): Ruta al repositorio Git

      • files (cadena[]): Matriz de rutas de archivos a preparar

    • Devuelve: Confirmación de los archivos preparados

  7. git_reset

    • Desprepara todos los cambios preparados

    • Entrada:

      • repo_path (cadena): Ruta al repositorio Git

    • Devuelve: Confirmación de la operación de reinicio

  8. git_log

    • Muestra los registros de commits con filtrado de fecha opcional

    • Entradas:

      • repo_path (cadena): Ruta al repositorio Git

      • max_count (número, opcional): Número máximo de commits a mostrar (predeterminado: 10)

      • start_timestamp (cadena, opcional): Marca de tiempo de inicio para filtrar commits. Acepta formato ISO 8601 (ej., '2024-01-15T14:30:25'), fechas relativas (ej., '2 weeks ago', 'yesterday') o fechas absolutas (ej., '2024-01-15', 'Jan 15 2024')

      • end_timestamp (cadena, opcional): Marca de tiempo de fin para filtrar commits. Acepta formato ISO 8601 (ej., '2024-01-15T14:30:25'), fechas relativas (ej., '2 weeks ago', 'yesterday') o fechas absolutas (ej., '2024-01-15', 'Jan 15 2024')

    • Devuelve: Matriz de entradas de commit con hash, autor, fecha y mensaje

  9. git_create_branch

    • Crea una nueva rama

    • Entradas:

      • repo_path (cadena): Ruta al repositorio Git

      • branch_name (cadena): Nombre de la nueva rama

      • base_branch (cadena, opcional): Rama base desde la que crear (predeterminado: rama actual)

    • Devuelve: Confirmación de la creación de la rama

  10. git_checkout

  • Cambia de rama

  • Entradas:

    • repo_path (cadena): Ruta al repositorio Git

    • branch_name (cadena): Nombre de la rama a la que cambiar

  • Devuelve: Confirmación del cambio de rama

  1. git_show

  • Muestra el contenido de un commit

  • Entradas:

    • repo_path (cadena): Ruta al repositorio Git

    • revision (cadena): La revisión (hash de commit, nombre de rama, etiqueta) a mostrar

  • Devuelve: Contenido del commit especificado

  1. git_branch

  • Lista las ramas de Git

  • Entradas:

    • repo_path (cadena): Ruta al repositorio Git.

    • branch_type (cadena): Si listar ramas locales ('local'), ramas remotas ('remote') o todas las ramas ('all').

    • contains (cadena, opcional): El sha del commit que la rama debe contener. No pase nada a este parámetro si no se especifica un sha de commit

    • not_contains (cadena, opcional): El sha del commit que la rama NO debe contener. No pase nada a este parámetro si no se especifica un sha de commit

  • Devuelve: Lista de ramas

Related MCP server: GitHub Tools MCP Server

Instalación

Usando uv (recomendado)

Al usar uv no se necesita ninguna instalación específica. Usaremos uvx para ejecutar mcp-server-git directamente.

Usando PIP

Alternativamente, puedes instalar mcp-server-git a través de pip:

pip install mcp-server-git

Después de la instalación, puedes ejecutarlo como un script usando:

python -m mcp_server_git

Configuración

Uso con Claude Desktop

Añade esto a tu claude_desktop_config.json:

"mcpServers": {
  "git": {
    "command": "uvx",
    "args": ["mcp-server-git", "--repository", "path/to/git/repo"]
  }
}
  • Nota: reemplaza '/Users/username' con una ruta a la que quieras que esta herramienta tenga acceso

"mcpServers": {
  "git": {
    "command": "docker",
    "args": ["run", "--rm", "-i", "--mount", "type=bind,src=/Users/username,dst=/Users/username", "mcp/git"]
  }
}
"mcpServers": {
  "git": {
    "command": "python",
    "args": ["-m", "mcp_server_git", "--repository", "path/to/git/repo"]
  }
}

Uso con VS Code

Para una instalación rápida, usa uno de los botones de instalación con un clic a continuación...

Instalar con UV en VS Code Instalar con UV en VS Code Insiders

Instalar con Docker en VS Code Instalar con Docker en VS Code Insiders

Para la instalación manual, puedes configurar el servidor MCP usando uno de estos métodos:

Método 1: Configuración de usuario (Recomendado) Añade la configuración a tu archivo de configuración MCP a nivel de usuario. Abre la Paleta de comandos (Ctrl + Shift + P) y ejecuta MCP: Open User Configuration. Esto abrirá tu archivo mcp.json de usuario donde puedes añadir la configuración del servidor.

Método 2: Configuración del espacio de trabajo Alternativamente, puedes añadir la configuración a un archivo llamado .vscode/mcp.json en tu espacio de trabajo. Esto te permitirá compartir la configuración con otros.

Para más detalles sobre la configuración de MCP en VS Code, consulta la documentación oficial de MCP de VS Code.

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

Para la instalación con Docker:

{
  "mcp": {
    "servers": {
      "git": {
        "command": "docker",
        "args": [
          "run",
          "--rm",
          "-i",
          "--mount", "type=bind,src=${workspaceFolder},dst=/workspace",
          "mcp/git"
        ]
      }
    }
  }
}

Uso con Zed

Añade a tu settings.json de Zed:

"context_servers": [
  "mcp-server-git": {
    "command": {
      "path": "uvx",
      "args": ["mcp-server-git"]
    }
  }
],
"context_servers": {
  "mcp-server-git": {
    "command": {
      "path": "python",
      "args": ["-m", "mcp_server_git"]
    }
  }
},

Uso con Zencoder

  1. Ve al menú de Zencoder (...)

  2. Desde el menú desplegable, selecciona Agent Tools

  3. Haz clic en Add Custom MCP

  4. Añade el nombre (ej. git) y la configuración del servidor de abajo, y asegúrate de pulsar el botón Install

{
    "command": "uvx",
    "args": ["mcp-server-git", "--repository", "path/to/git/repo"]
}

Depuración

Puedes usar el inspector MCP para depurar el servidor. Para instalaciones con uvx:

npx @modelcontextprotocol/inspector uvx mcp-server-git

O si has instalado el paquete en un directorio específico o estás desarrollando en él:

cd path/to/servers/src/git
npx @modelcontextprotocol/inspector uv run mcp-server-git

Ejecutar tail -n 20 -f ~/Library/Logs/Claude/mcp*.log mostrará los registros del servidor y puede ayudarte a depurar cualquier problema.

Desarrollo

Si estás realizando desarrollo local, hay dos formas de probar tus cambios:

  1. Ejecuta el inspector MCP para probar tus cambios. Consulta Depuración para ver las instrucciones de ejecución.

  2. Prueba usando la aplicación de escritorio de Claude. Añade lo siguiente a tu claude_desktop_config.json:

Docker

{
  "mcpServers": {
    "git": {
      "command": "docker",
      "args": [
        "run",
        "--rm",
        "-i",
        "--mount", "type=bind,src=/Users/username/Desktop,dst=/projects/Desktop",
        "--mount", "type=bind,src=/path/to/other/allowed/dir,dst=/projects/other/allowed/dir,ro",
        "--mount", "type=bind,src=/path/to/file.txt,dst=/projects/path/to/file.txt",
        "mcp/git"
      ]
    }
  }
}

UVX

{
"mcpServers": {
  "git": {
    "command": "uv",
    "args": [
      "--directory",
      "/<path to mcp-servers>/mcp-servers/src/git",
      "run",
      "mcp-server-git"
    ]
    }
  }
}

Construcción

Construcción de Docker:

cd src/git
docker build -t mcp/git .

Licencia

Este servidor MCP está bajo la Licencia MIT. Esto significa que eres libre de usar, modificar y distribuir el software, sujeto a los términos y condiciones de la Licencia MIT. Para más detalles, consulta el archivo LICENSE en el repositorio del proyecto.

Install Server
A
license - permissive license
B
quality
B
maintenance

Maintenance

Maintainers
17dResponse time
7wRelease cycle
8Releases (12mo)
Commit activity
Issues opened vs closed

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    A Model Context Protocol server that enables Large Language Models to interact with Git repositories through a robust API, supporting operations like repository initialization, cloning, file staging, committing, and branch management.
    Last updated
    28
    4,730
    229
    Apache 2.0
  • A
    license
    B
    quality
    D
    maintenance
    A Model Context Protocol server that enables LLMs to interact with Git repositories, providing tools to read, search, and manipulate Git repositories through commands like status, diff, commit, and branch management.
    Last updated
    12
    MIT
  • A
    license
    C
    quality
    D
    maintenance
    A Model Context Protocol server that enables LLMs to interact with Git repositories, providing tools to read, search, and manipulate Git repositories through commands like status, diff, commit, and branch operations.
    Last updated
    22
    2
    MIT

View all related MCP servers

Related MCP Connectors

  • A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…

  • An MCP server that gives your AI access to the source code and docs of all public github repos

  • A Model Context Protocol server for Wix AI tools

View all MCP Connectors

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/modelcontextprotocol/git'

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