FastMCP GitHub Automation Server
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
Related MCP server: GitHub MCP Server
🚀 Primeros pasos
Prerrequisitos
Python 3.12 o superior
Cuenta de GitHub
Token de acceso personal de GitHub
CLI de FastMCP (opcional)
Instalación
Clonar el repositorio:
git clone https://github.com/yourusername/GIT-Pilot.git
cd GIT-PilotInstalar uv (si aún no está instalado):
curl -LsSf https://astral.sh/uv/install.sh | shCrear y activar un entorno virtual:
uv venv
source .venv/bin/activate # On Windows: .venv\Scripts\activateInstalar el paquete usando uv:
uv pip install -e .Configurar variables de entorno: Cree un archivo
.enven la raíz del proyecto:
GITHUB_TOKEN=your_github_token_hereUso básico
Configuración de la integración de Claude Desktop
Inicie el servidor GIT-Pilot:
uv run main.pyDescargue e instale Claude Desktop
Configurar Claude Desktop:
Abra Claude Desktop
Vaya a
File > Settings > Developer > Edit ConfigAgregue la siguiente configuración:
{
"mcpServers": {
"GIT-Pilot": {
"command": "uv",
"args": [
"--directory",
"path\\to\\repo",
"run",
"main.py"
]
}
}
}Reiniciar Claude Desktop
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:
Bifurcar el repositorio
Crear una rama de características
Confirme sus cambios
Empujar hacia la rama
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
This server cannot be deployed
Maintenance
Related MCP Connectors
GitHub MCP — wraps the GitHub public REST API (no auth required for public endpoints)
Access the GitHub API, enabling file operations, repository management, search functionality, and…
Manage repositories, users, releases, and automate GitHub workflows
Create, deploy, and operate MCP servers directly from your GitHub repositories.
Related MCP Servers
- AlicenseBqualityDmaintenanceProvides tools for interacting with GitHub's API through the MCP protocol, allowing users to create repositories, push content, and retrieve user information.378 npmMIT
- FlicenseNot gradedqualityDmaintenanceEnables interaction with GitHub repositories through the GitHub API using fastMCP. Supports repository information retrieval and management with secure token-based authentication.-
- AlicenseNot gradedqualityDmaintenanceAn MCP server that wraps the GitHub CLI to provide comprehensive access to repository management, pull requests, issues, and workflows. It enables users to perform complex GitHub operations and interact with the GitHub API through a standardized interface.2 npm1ISC
- FlicenseNot gradedqualityDmaintenanceProvides access to GitHub v3 REST API functionality through STDIO mode with FastMCP, enabling users to interact with GitHub resources.-