Navegador de repositorios Git de MCP (Node.js)
Una implementación de Node.js de un navegador de repositorio Git utilizando el Protocolo de Contexto de Modelo (MCP).
Instalación
NPM (Recomendado)
Instalación manual
Configuración
Agregue esto a su archivo de configuración de MCP:
Para la instalación manual, utilice:
Características
El servidor proporciona las siguientes herramientas:
Operaciones básicas del repositorio
git_directory_structure: Devuelve una representación en forma de árbol de la estructura de directorios de un repositorioEntrada: URL del repositorio
Salida: Representación en árbol ASCII de la estructura del repositorio
git_read_files: lee y devuelve el contenido de los archivos especificados en un repositorioEntrada: URL del repositorio y lista de rutas de archivos
Salida: Diccionario que asigna rutas de archivos a sus contenidos
git_search_code: busca patrones en el código del repositorioEntrada: URL del repositorio, patrón de búsqueda, patrones de archivo opcionales, distinción entre mayúsculas y minúsculas y líneas de contexto
Salida: JSON con resultados de búsqueda que incluyen líneas coincidentes y contexto
Operaciones de sucursal
git_branch_diff: Compara dos ramas y muestra los archivos modificados entre ellasEntrada: URL del repositorio, rama de origen, rama de destino y bandera show_patch opcional
Salida: JSON con recuento de confirmaciones y resumen de diferencias
Operaciones de confirmación
git_commit_history: obtiene el historial de confirmaciones de una rama con filtrado opcionalEntrada: URL del repositorio, nombre de la rama, recuento máximo, filtro de autor, fecha de inicio, fecha de finalización y mensaje grep
Salida: JSON con detalles de confirmación
git_commits_details: Obtenga información detallada sobre las confirmaciones, incluidos mensajes completos y diferenciasEntrada: URL del repositorio, nombre de la rama, recuento máximo, indicador include_diff, filtro de autor, fecha de inicio, fecha de finalización y mensaje grep
Salida: JSON con información detallada de confirmación
git_local_changes: Obtener cambios no confirmados en el directorio de trabajoEntrada: Ruta del repositorio local
Salida: JSON con información de estado y diferencias
Estructura del proyecto
Detalles de implementación
Utiliza módulos nativos de Node.js (crypto, path, os) para la funcionalidad principal
Aprovecha fs-extra para mejorar las operaciones con archivos
Utiliza simple-git para operaciones del repositorio Git
Implementa un manejo limpio de errores y limpieza de recursos.
Crea directorios temporales deterministas basados en hashes de URL del repositorio
Reutiliza repositorios clonados cuando sea posible para mayor eficiencia
Estructura de código modular para una mejor mantenibilidad
Requisitos
Node.js 14.x o superior
Git instalado en el sistema
Uso
Si se instala globalmente a través de npm:
Si se instala manualmente:
El servidor se ejecuta en stdio, lo que lo hace compatible con los clientes MCP.
CI/CD
Este proyecto utiliza GitHub Actions para la integración y la implementación continuas:
Publicación automática de NPM
El repositorio está configurado con un flujo de trabajo de GitHub Actions que publica automáticamente el paquete en npm cuando se envían cambios a la rama maestra.
Configuración de NPM_AUTOMATION_TOKEN
Para habilitar la publicación automática, debes agregar un token de automatización npm como un secreto de GitHub (esto funciona incluso con cuentas que tienen 2FA habilitado):
Generar un token de automatización npm:
Inicie sesión en su cuenta npm en npmjs.com
Ve a la configuración de tu perfil
Seleccione "Tokens de acceso"
Haga clic en "Generar nuevo token"
Seleccione el tipo de token "Automatización"
Establezca los permisos adecuados (se requiere "Leer y escribir" para los paquetes)
Copiar el token generado
Añade el token a tu repositorio de GitHub:
Vaya a su repositorio de GitHub
Vaya a "Configuración" > "Secretos y variables" > "Acciones".
Haga clic en "Nuevo secreto del repositorio".
Nombre:
NPM_AUTOMATION_TOKENValor: Pegue su token de automatización npm
Haga clic en "Agregar secreto"
Una vez configurado, cualquier envío a la rama maestra activará el flujo de trabajo para publicar el paquete en npm.
Licencia
Licencia MIT: consulte el archivo LICENCIA para obtener más detalles.
Campo de golf
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Tools
Una implementación de Node.js que permite explorar repositorios de Git a través del Protocolo de Contexto de Modelo, proporcionando funciones como mostrar estructuras de directorios, leer archivos, buscar código, comparar ramas y ver el historial de confirmaciones.
- Instalación
- Configuración
- Características
- Estructura del proyecto
- Detalles de implementación
- Requisitos
- Uso
- CI/CD
- Licencia
- Campo de golf
Related Resources
Related MCP Servers
- Asecurity-licenseAqualityA Model Context Protocol server for Git repository interaction and automation. This server provides tools to read, search, and manipulate Git repositories via Large Language Models.Last updated -1371,513MIT License
- Asecurity-licenseAqualityA Node.js server that allows browsing Git repositories through MCP, providing tools to view directory structures and read important files from repositories.Last updated -22MIT License
- Asecurity-licenseAqualityNode.js server implementing Model Context Protocol for git operations, enabling AI assistants to manage git repositories through natural language commands.Last updated -1161
- Asecurity-licenseAqualityA 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 -12MIT License