Gitea MCP Adapter 🦊🔌
Un proxy ligero que envuelve la API REST de Gitea como un servidor de Model Context Protocol (MCP) compatible con la especificación Agent-to-Agent (A2A) de Capataz.
Permite que cualquier agente de IA o cliente compatible con MCP interactúe directamente con tu instancia de Gitea (listar issues, commits, estados de CI/CD, crear comentarios, PRs, etc.) usando lenguaje natural.
🚀 Características
- Tarjeta de Agente (A2A Manifest): Expuesta en
/.well-known/agent.jsoncon URLs dinámicas basadas en la petición. - Servidor MCP nativo: Soporta el transporte estándar de SSE (Server-Sent Events) sobre HTTP.
- Herramientas (Tools) incluidas:
issues_abiertos: Listar issues abiertos con filtros opcionales de etiquetas.commits_recientes: Listar los últimos commits de cualquier rama.estado_actions: Consultar el estado de las ejecuciones de Gitea Actions (CI/CD).crear_issue: Crear un issue con etiquetas.comentar_issue: Añadir comentarios a issues existentes.crear_pull_request: Crear un nuevo PR entre ramas.
- Autenticación flexible: Soporta configuración global mediante variable de entorno o paso de token dinámico mediante cabecera
Authorization: Bearer <token_de_gitea>.
🛠️ Configuración y Variables de Entorno
Crea un archivo .env basado en .env.example:
# URL de tu instancia de Gitea
GITEA_URL=https://git.carmona.digital
# Token de acceso personal de Gitea (opcional si usas cabeceras dinámicas)
GITEA_TOKEN=tu_token_de_gitea
# Configuración del servidor
PORT=8000
HOST=0.0.0.0
📦 Ejecución Local
Con Python
-
Instala las dependencias:
pip install -r requirements.txt -
Inicia el servidor:
python main.py
El adaptador estará disponible en http://localhost:8000.
Con Docker
-
Construye la imagen:
docker build -t gitea-mcp-adapter . -
Ejecuta el contenedor:
docker run -d -p 8000:8000 --env-file .env gitea-mcp-adapter
🔌 Integración con Capataz (A2A)
Para registrar este adaptador en Capataz, simplemente añade la URL de despliegue en la interfaz de Capataz (ej. https://gitea-mcp-adapter.estamos.com.ar).
Capataz leerá automáticamente:
/.well-known/agent.jsonpara descubrir las capacidades y skills del adaptador.- Se conectará al endpoint MCP en
/mcp/ssepara interactuar con las herramientas.
📝 Licencia
MIT - Libre para usar en cualquier instalación de Gitea y ecosistemas agénticos.