Skip to main content
Glama

Git Repo Browser MCP

Una implementación de Node.js de un navegador de repositorio Git utilizando el Protocolo de Contexto de Modelo (MCP).

Instalación

NPM (Recomendado)

npm install -g git-commands-mcp

Instalación manual

git clone https://github.com/bsreeram08/git-commands-mcp.git cd git-commands-mcp npm install

Configuración

Agregue esto a su archivo de configuración de MCP:

{ "mcpServers": { "git-commands-mcp": { "command": "git-commands-mcp" } } }

Para la instalación manual, utilice:

{ "mcpServers": { "git-commands-mcp": { "command": "node", "args": ["/path/to/git-commands-mcp/src/index.js"] } } }

Características

El servidor proporciona las siguientes herramientas:

Operaciones básicas del repositorio

  1. git_directory_structure : Devuelve una representación en forma de árbol de la estructura de directorios de un repositorio
    • Entrada: URL del repositorio
    • Salida: Representación en árbol ASCII de la estructura del repositorio
  2. git_read_files : lee y devuelve el contenido de los archivos especificados en un repositorio
    • Entrada: URL del repositorio y lista de rutas de archivos
    • Salida: Diccionario que asigna rutas de archivos a sus contenidos
  3. git_search_code : busca patrones en el código del repositorio
    • Entrada: 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

  1. git_branch_diff : Compara dos ramas y muestra los archivos modificados entre ellas
    • Entrada: 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

  1. git_commit_history : obtiene el historial de confirmaciones de una rama con filtrado opcional
    • Entrada: 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
  2. git_commits_details : Obtenga información detallada sobre las confirmaciones, incluidos mensajes completos y diferencias
    • Entrada: 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
  3. git_local_changes : Obtener cambios no confirmados en el directorio de trabajo
    • Entrada: Ruta del repositorio local
    • Salida: JSON con información de estado y diferencias

Estructura del proyecto

git-commands-mcp/ ├── src/ │ ├── index.js # Entry point │ ├── server.js # Main server implementation │ ├── handlers/ # Tool handlers │ │ └── index.js # Tool implementation functions │ └── utils/ # Utility functions │ └── git.js # Git-related helper functions ├── package.json └── readme.md

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:

git-commands-mcp

Si se instala manualmente:

node src/index.js

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):

  1. 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
  2. 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_TOKEN
    • Valor: 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

-
security - not tested
A
license - permissive license
-
quality - not tested

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.

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.

  1. Instalación
    1. NPM (Recomendado)
    2. Instalación manual
  2. Configuración
    1. Características
      1. Operaciones básicas del repositorio
      2. Operaciones de sucursal
      3. Operaciones de confirmación
    2. Estructura del proyecto
      1. Detalles de implementación
        1. Requisitos
          1. Uso
            1. CI/CD
              1. Publicación automática de NPM
            2. Licencia
              1. Campo de golf

                Related MCP Servers

                • -
                  security
                  A
                  license
                  -
                  quality
                  A 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 -
                  12
                  50,522
                  Python
                  MIT License
                • -
                  security
                  F
                  license
                  -
                  quality
                  Enables interaction with GitHub through the GitHub API, supporting file operations, repository management, advanced search, and issue tracking with comprehensive error handling and automatic branch creation.
                  Last updated -
                  9
                  1
                  TypeScript
                • A
                  security
                  A
                  license
                  A
                  quality
                  A Node.js server that allows browsing Git repositories through MCP, providing tools to view directory structures and read important files from repositories.
                  Last updated -
                  2
                  JavaScript
                  MIT License
                  • Linux
                  • Apple
                • A
                  security
                  A
                  license
                  A
                  quality
                  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 -
                  21
                  482
                  65
                  TypeScript
                  Apache 2.0

                View all related MCP servers

                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/bsreeram08/git-commands-mcp'

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