Gitingest

Analiza repositorios de Git y proporciona contenido optimizado para modelos de lenguaje de gran escala.

Documentación

Servidor MCP de Gitingest

Un servidor MCP para gitingest que proporciona acceso al análisis de repositorios Git a través del Model Context Protocol (MCP). Este servidor utiliza la biblioteca gitingest para analizar repositorios Git y poner su contenido a disposición en un formato optimizado para LLMs.

[!WARNING] El soporte para repositorios privados en gitingest aún no está en PyPI a partir del 25 de junio de 2025. Una vez que se publique, este MCP lo admitirá automáticamente.

Resumen

Este servidor MCP proporciona una única herramienta unificada para acceder a los datos de repositorios Git. Gestiona automáticamente la ingesta de repositorios según sea necesario, por lo que los usuarios pueden consultar inmediatamente el contenido del repositorio sin un paso explícito de ingesta.

Herramienta: gitingest

El servidor proporciona una única herramienta llamada gitingest que se puede utilizar para analizar repositorios Git. La herramienta acepta los siguientes parámetros:

  • repo_uri (obligatorio): URL o ruta local al repositorio Git
  • resource_type: Tipo de datos a recuperar (summary, tree, content o all). El valor predeterminado es summary.
  • max_file_size: Tamaño máximo de archivo en bytes a incluir en el análisis. El valor predeterminado es 10MB.
  • include_patterns: Patrones de archivos separados por comas para incluir en el análisis.
  • exclude_patterns: Patrones de archivos separados por comas para excluir del análisis.
  • branch: Rama específica a analizar.
  • output: Ruta de archivo para guardar la salida.
  • max_tokens: Trunca la respuesta a un número específico de tokens.

Acceso a Repositorios Privados

Puede ingerir repositorios privados de GitHub proporcionando un Token de Acceso Personal (PAT) de GitHub.

Recomendado: Establezca una Variable de Entorno en su Configuración de MCP

Este es el mejor enfoque para una configuración persistente. Agregue un bloque env a la definición de su servidor en su archivo de configuración de MCP. La biblioteca gitingest utilizará automáticamente la variable de entorno GITHUB_TOKEN.

"mcpServers": {
  "trelis-gitingest-mcp": {
    "command": "uvx",
    "args": [
      "trelis-gitingest-mcp"
    ],
    "env": {
      "GITHUB_TOKEN": "github_pat_..."
    }
  }
}

Tipos de Recursos y Repositorios Grandes

Para repositorios grandes, se recomienda solicitar primero solo el summary (que es el valor predeterminado). Después de la ingesta, puede acceder a información más detallada a través de los recursos:

  • Utilice el recurso tree para explorar la estructura del repositorio
  • Utilice el recurso content para acceder al contenido completo (si no es demasiado grande)

Si el repositorio es demasiado grande, considere usar include_patterns y/o exclude_patterns para limitar el alcance de la ingesta.

Acceso a Recursos Después de una Llamada a la Herramienta

Después de llamar a la herramienta gitingest para un repositorio, el servidor define recursos para ese repositorio:

  • Resumen: Un resumen de alto nivel del repositorio
  • Árbol: La estructura de archivos/directorios
  • Contenido: El contenido completo (sujeto a límites de tamaño)

Se puede acceder a estos recursos individualmente a través de la interfaz de recursos en cualquier cliente compatible con MCP. Esto es útil para navegar u obtener aspectos específicos de un repositorio después de la ingesta.

Configuración del Servidor MCP

Para usar este servidor MCP desde PyPI, agregue lo siguiente a su configuración de MCP:

"mcpServers": {
  "trelis-gitingest-mcp": {
    "command": "uvx",
    "args": [
      "trelis-gitingest-mcp"
    ]
  }
}

Para ejecutarlo directamente desde el repositorio de GitHub:

"mcpServers": {
  "trelis-gitingest-mcp": {
    "command": "uvx",
    "args": [
      "git+https://github.com/TrelisResearch/trelis-gitingest-mcp"
    ]
  }
}

Desarrollo

Compilación y Publicación

Para preparar el paquete para su distribución:

  1. Sincronice las dependencias y actualice el lockfile:
    uv sync
    
  2. Compile las distribuciones del paquete:
    uv build
    
  3. Publique en PyPI:
    uv publish
    

Depuración

La mejor manera de depurar servidores MCP es con el MCP Inspector.

Puede iniciar el Inspector con su servidor local usando este comando:

npx @modelcontextprotocol/inspector uv --directory /Users/RonanMcGovern/TR/trelis-gitingest-mcp run trelis-gitingest-mcp

o usando uvx para el servidor mcp:

npx @modelcontextprotocol/inspector uvx https://github.com/TrelisResearch/trelis-gitingest-mcp.git

o usando el paquete de PyPI:

npx @modelcontextprotocol/inspector uvx trelis-gitingest-mcp

Al iniciarse, el Inspector mostrará una URL a la que puede acceder en su navegador para comenzar a depurar.