FastMCP GitHub Automation Server

Integrations

  • Supports environment variables management through .env files for storing configuration like GitHub tokens securely.

  • Enables interaction with Git version control system for repository operations, branch management, and commit handling.

  • Provides a comprehensive API wrapper for GitHub operations, enabling automation and management of repositories, pull requests, issues, branches, commits, and file operations. Includes features for secure token management, merge strategies, status checks, label management, and repository search.

Piloto de GIT

GIT-Pilot es una potente herramienta de automatización y gestión de GitHub que proporciona un completo contenedor de API para las operaciones de GitHub. Simplifica las interacciones de GitHub mediante un servidor basado en FastMCP, lo que facilita la gestión de repositorios, solicitudes de extracción, incidencias y más.

🌟 Características

🔐 Autenticación y seguridad

  • Gestión segura de tokens con cifrado mediante Fernet
  • Caducidad del token y limpieza automática
  • Manejo de límite de velocidad y reintentos automáticos
  • Tiempos de espera de autenticación configurables

📦 Gestión de repositorios

  • Crear y administrar repositorios
  • Manejar ramas y confirmaciones
  • Operaciones de archivo (crear, actualizar, eliminar)
  • Búsqueda y filtrado de repositorios
  • Comparación e historial de confirmaciones

🔄 Operaciones de solicitud de extracción

  • Crear y gestionar solicitudes de extracción
  • Estrategias de fusión (fusión, squash, rebase)
  • Validación de verificación de estado
  • Detección y gestión de conflictos
  • Proyecto de apoyo a las relaciones públicas

📝 Gestión de problemas

  • Crear y actualizar problemas
  • Gestión de etiquetas
  • Manejo de cesionarios
  • Gestión de comentarios
  • Búsqueda y filtrado de problemas

🛠 Características técnicas

  • Operaciones seguras para subprocesos
  • Gestión de recursos
  • Manejo integral de errores
  • Registro detallado
  • Seguridad de tipos
  • Gestión de la configuración
  • Integración del servidor FastMCP

🚀 Primeros pasos

Prerrequisitos

  • Python 3.12 o superior
  • Cuenta de GitHub
  • Token de acceso personal de GitHub
  • CLI de FastMCP (opcional)

Instalación

  1. Clonar el repositorio:
git clone https://github.com/yourusername/GIT-Pilot.git cd GIT-Pilot
  1. Instalar uv (si aún no está instalado):
curl -LsSf https://astral.sh/uv/install.sh | sh
  1. Crear y activar un entorno virtual:
uv venv source .venv/bin/activate # On Windows: .venv\Scripts\activate
  1. Instalar el paquete usando uv:
uv pip install -e .
  1. Configurar variables de entorno: Cree un archivo .env en la raíz del proyecto:
GITHUB_TOKEN=your_github_token_here

Uso básico

Configuración de la integración de Claude Desktop
  1. Inicie el servidor GIT-Pilot:
uv run main.py
  1. Descargue e instale Claude Desktop
  2. Configurar Claude Desktop:
    • Abra Claude Desktop
    • Vaya a File > Settings > Developer > Edit Config
    • Agregue la siguiente configuración:
{ "mcpServers": { "GIT-Pilot": { "command": "uv", "args": [ "--directory", "path\\to\\repo", "run", "main.py" ] } } }
  1. Reiniciar Claude Desktop
  2. Busque el ícono del martillo en la ventana de chat: esto indica que el servidor MCP está listo para usarse

Ejemplos de API

# Create a repository await call_tool("create_repository", name="my-repo", description="My awesome repository", private=True, has_issues=True, has_wiki=True, has_projects=True, auto_init=True ) # Create a pull request await call_tool("create_pull_request", repo_path="owner/repo", title="New feature", head="feature-branch", base="main", body="Description of changes", draft=False ) # List commits with filtering await call_tool("list_commits", repo_path="owner/repo", branch="main", author="username", since="2024-01-01", until="2024-04-21", max_results=30 )

🔧 Configuración

El servicio se puede configurar a través de la clase Config :

@dataclass class Config: TOKEN_TTL_HOURS: int = 24 MAX_STORED_TOKENS: int = 1000 CLEANUP_INTERVAL_SECONDS: int = 3600 MAX_RETRIES: int = 3 RETRY_DELAY_SECONDS: int = 5 MAX_RESULTS_PER_PAGE: int = 100 ENCRYPTION_KEY: bytes = Fernet.generate_key()

🛡 Seguridad

  • Los tokens se cifran en reposo mediante Fernet
  • Caducidad y limpieza automática de tokens
  • Protección de límite de velocidad con reintentos
  • Validación de entrada
  • Manejo integral de errores
  • Limpieza segura de tokens

🔄 Limitación de velocidad

El servicio incluye gestión de límite de velocidad integrada:

  • Reintento automático en el límite de velocidad
  • Intentos de reintento configurables
  • Retraso entre reintentos
  • Registro del estado del límite de velocidad
  • Retroceso exponencial

🧪 Manejo de errores

Manejo integral de errores para:

  • Errores de autenticación
  • Errores de API
  • Límites de velocidad
  • Entradas no válidas
  • Conflictos por recursos
  • Problemas de red
  • Validación de tokens
  • Operaciones con archivos

📈 Registro

Registro detallado con:

  • Marca de tiempo
  • Nivel de registro
  • Nombre de la función
  • Número de línea
  • Detalles del error
  • Rastreos de pila
  • Información sobre el límite de velocidad
  • Operaciones con tokens

🤝 Contribuyendo

¡Agradecemos sus contribuciones! Siga estos pasos:

  1. Bifurcar el repositorio
  2. Crear una rama de características
  3. Confirme sus cambios
  4. Empujar hacia la rama
  5. Crear una solicitud de extracción

📝 Licencia

Este proyecto está licenciado bajo la Licencia Pública General GNU v3.0 - consulte el archivo LICENCIA para obtener más detalles.

🙏 Agradecimientos

  • PyGithub para el contenedor de API de GitHub
  • FastMCP para el marco del servidor
  • Fernet para el cifrado seguro de tokens

Hecho con ❤️ por el equipo de GIT-Pilot

-
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.

Proporciona un contenedor de API integral para las operaciones de GitHub a través de un servidor basado en FastMCP, lo que simplifica la gestión de repositorios, solicitudes de extracción, problemas y otras interacciones de GitHub con autenticación segura.

  1. 🌟 Características
    1. 🔐 Autenticación y seguridad
    2. 📦 Gestión de repositorios
    3. 🔄 Operaciones de solicitud de extracción
    4. 📝 Gestión de problemas
    5. 🛠 Características técnicas
  2. 🚀 Primeros pasos
    1. Prerrequisitos
    2. Instalación
    3. Uso básico
    4. Ejemplos de API
  3. 🔧 Configuración
    1. 🛡 Seguridad
      1. 🔄 Limitación de velocidad
        1. 🧪 Manejo de errores
          1. 📈 Registro
            1. 🤝 Contribuyendo
              1. 📝 Licencia
                1. 🙏 Agradecimientos

                  Related MCP Servers

                  • A
                    security
                    F
                    license
                    A
                    quality
                    Provides tools for mapping and analyzing GitHub repositories. It allows users to set a GitHub Personal Access Token and retrieve detailed information about a specified repository, including its structure and summary statistics.
                    Last updated -
                    2
                    12
                    TypeScript
                  • -
                    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
                  • -
                    security
                    F
                    license
                    -
                    quality
                    Facilitates authentication with GitHub using OAuth protocol, allowing secure access and interaction with GitHub repositories and services.
                    Last updated -
                    2
                    Python
                    • Apple
                    • Linux
                  • -
                    security
                    F
                    license
                    -
                    quality
                    Enables interaction with GitHub issues via the Model Context Protocol, allowing users to list and create issues with secure authentication.
                    Last updated -
                    Python

                  View all related MCP servers

                  ID: 3uqvmqqorf