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
git_statusMuestra 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
git_diff_unstagedMuestra los cambios en el directorio de trabajo que aún no se han preparado (staged)
Entradas:
repo_path(cadena): Ruta al repositorio Gitcontext_lines(número, opcional): Número de líneas de contexto a mostrar (predeterminado: 3)
Devuelve: Salida diff de los cambios no preparados
git_diff_stagedMuestra los cambios que están preparados para el commit
Entradas:
repo_path(cadena): Ruta al repositorio Gitcontext_lines(número, opcional): Número de líneas de contexto a mostrar (predeterminado: 3)
Devuelve: Salida diff de los cambios preparados
git_diffMuestra las diferencias entre ramas o commits
Entradas:
repo_path(cadena): Ruta al repositorio Gittarget(cadena): Rama o commit de destino con el que compararcontext_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
git_commitRegistra los cambios en el repositorio
Entradas:
repo_path(cadena): Ruta al repositorio Gitmessage(cadena): Mensaje del commit
Devuelve: Confirmación con el nuevo hash del commit
git_addAñade el contenido de los archivos al área de preparación (staging area)
Entradas:
repo_path(cadena): Ruta al repositorio Gitfiles(cadena[]): Matriz de rutas de archivos a preparar
Devuelve: Confirmación de los archivos preparados
git_resetDesprepara todos los cambios preparados
Entrada:
repo_path(cadena): Ruta al repositorio Git
Devuelve: Confirmación de la operación de reinicio
git_logMuestra los registros de commits con filtrado de fecha opcional
Entradas:
repo_path(cadena): Ruta al repositorio Gitmax_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
git_create_branchCrea una nueva rama
Entradas:
repo_path(cadena): Ruta al repositorio Gitbranch_name(cadena): Nombre de la nueva ramabase_branch(cadena, opcional): Rama base desde la que crear (predeterminado: rama actual)
Devuelve: Confirmación de la creación de la rama
git_checkout
Cambia de rama
Entradas:
repo_path(cadena): Ruta al repositorio Gitbranch_name(cadena): Nombre de la rama a la que cambiar
Devuelve: Confirmación del cambio de rama
git_show
Muestra el contenido de un commit
Entradas:
repo_path(cadena): Ruta al repositorio Gitrevision(cadena): La revisión (hash de commit, nombre de rama, etiqueta) a mostrar
Devuelve: Contenido del commit especificado
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 commitnot_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: GitLab 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-gitDespués de la instalación, puedes ejecutarlo como un script usando:
python -m mcp_server_gitConfiguració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
Ve al menú de Zencoder (...)
Desde el menú desplegable, selecciona
Agent ToolsHaz clic en
Add Custom MCPAñ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-gitO 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-gitEjecutar 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:
Ejecuta el inspector MCP para probar tus cambios. Consulta Depuración para ver las instrucciones de ejecución.
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.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Appeared in Searches
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
