Integrations
Provides Git-related functionality, specifically a tool to generate the diff for a Git merge commit against its first parent by running 'git show -m --first-parent' on a specified commit hash.
Servidor de cosas Git
Este repositorio contiene una aplicación Node.js que actúa como servidor MCP (Protocolo de Contexto de Modelo) para proporcionar funcionalidades relacionadas con Git. Actualmente, ofrece una herramienta para generar la diferencia de una confirmación de fusión de Git con su primer padre.
Características
- Servidor MCP: se ejecuta como un servidor MCP estándar utilizando stdio para la comunicación.
- Herramienta
get_git_merge_diff
:- Acepta un hash de confirmación de fusión de Git.
- Ejecuta el script de PowerShell
GenerateMergeDiff.ps1
. - Devuelve el contenido de diferencia textual generado por
git show -m --first-parent <commitHash>
.
Prerrequisitos
- Node.js (versión compatible con módulos ES, verifique
engines
en package.json si se especifica; de lo contrario, verifique el destinotsconfig.json
- ES2022) - npm (normalmente viene con Node.js)
- Git instalado y accesible en el PATH del sistema.
- PowerShell (Windows) o
pwsh
(Linux/macOS) instalado y accesible en la RUTA del sistema.
Instalación
- Clonar el repositorio:Copy
- Instalar dependencias:Copy
Uso
- Construya el código TypeScript:Esto compila el código TypeScript deCopy
src/
a JavaScript enbuild/
. - Ejecutar el servidor:
- Para ejecutar el código compilado:Copy
- Para compilar y ejecutar en modo de desarrollo:Copy
- Para ejecutar el código compilado:
El servidor se iniciará y escuchará las solicitudes MCP en la entrada/salida estándar.
Uso de la herramienta get_git_merge_diff
Cuando se conecta a través de un cliente MCP, puede llamar a la herramienta get_git_merge_diff
con la siguiente entrada:
commitHash
(cadena): el hash de confirmación de Git (SHA) de la confirmación de fusión que desea comparar.
La herramienta devolverá el contenido diferente como texto.
Cómo funciona
- El servidor MCP (
src/index.ts
) recibe una solicitud para la herramientaget_git_merge_diff
. - Valida la entrada
commitHash
. - Ejecuta el script de PowerShell
GenerateMergeDiff.ps1
, pasando elcommitHash
. - El script de PowerShell ejecuta
git show -m --first-parent <commitHash>
y guarda la salida (incluidos los errores) en un archivo temporal llamadomerge_changes.diff
en el directorio de trabajo actual del servidor. - El servidor Node.js lee el contenido de
merge_changes.diff
. - El servidor elimina el archivo temporal
merge_changes.diff
. - El servidor devuelve el contenido de la diferencia (o un mensaje de error) al cliente MCP.
Configuración
Los puntos de configuración clave se definen como constantes dentro de src/index.ts
:
SERVER_NAME
: El nombre registrado por el servidor MCP.SCRIPT_NAME
: El nombre del archivo del script de PowerShell a ejecutar.OUTPUT_DIFF_FILE
: El nombre del archivo de diferencias temporal creado por el script.
Licencia
Este proyecto está licenciado bajo la licencia MIT: consulte el archivo package.json para obtener más detalles.
You must be authenticated.
local-only server
The server can only run on the client's local machine because it depends on local resources.
Servidor MCP que proporciona funcionalidades relacionadas con Git, principalmente una herramienta para generar diferencias para las confirmaciones de fusión de Git con respecto a su primer padre.
Related MCP Servers
- AsecurityFlicenseAqualityMCP Server for the GitHub API, providing features for file operations, repository management, and advanced search, with automatic branch creation and comprehensive error handling.Last updated -1841TypeScript
- -securityAlicense-qualityA specialized MCP server for in-depth analysis of git repositories, offering tools for branch overview, time period analysis, file changes, and merge recommendations.Last updated -41JavaScriptApache 2.0
- AsecurityAlicenseAqualityMCP Tool Server for Gitee, supporting the management of repository files/branches, Issues, and Pull Requests.Last updated -20104TypeScriptMIT License
- AsecurityFlicenseAqualityMCP server for managing Git operations on local repositories, allowing users to list repositories, get and create tags, list commits, push tags, and refresh repositories through a standardized interface.Last updated -6Python