MCP-Gemini
Sistema de gestión de prompts para Google Gemini Pro.
Estado Actual
Implementado
- ✅ Estructura base del proyecto
- ✅ Configuración de Docker y Docker Compose
- ✅ Sistema de logs estandarizado
- ✅ Sistema de métricas con filtros de seguridad
- ✅ Pruebas unitarias para:
- ✅ GeminiClient
- ✅ FileSystemService
- ✅ SearchService
- ✅ CacheService
- ✅ Sistema de logs
- ✅ Sistema de métricas
- ✅ Servicios principales:
- ✅ Sistema de caché
- ✅ Sistema de búsqueda
- ✅ Sistema de archivos
- ✅ Sistema de logs
- ✅ Sistema de filtros de seguridad
- ✅ Sistema de métricas
En Progreso
- 🔄 Integración con API de Gemini
- 🔄 Sistema de gestión de prompts
- 🔄 Interfaz de usuario
Pendiente
- ⏳ Sistema de autenticación
- ⏳ Sistema de monitoreo en tiempo real
- ⏳ Documentación completa
- ⏳ Pruebas de integración
- ⏳ Pruebas de rendimiento
- ⏳ Despliegue en producción
Requisitos
- Python 3.10+
- Docker y Docker Compose
- API Key de Google Gemini
Instalación
- Clonar el repositorio:
git clone https://github.com/tu-usuario/mcp-gemini.git
cd mcp-gemini
- Configurar variables de entorno:
cp .env.example .env
# Editar .env con tus credenciales
- Instalar dependencias:
pip install -r requirements.txt
- Ejecutar con Docker:
Estructura del Proyecto
mcp-gemini/
├── app/
│ ├── api/
│ ├── core/
│ │ ├── config/
│ │ ├── logging/
│ │ └── security/
│ ├── models/
│ ├── services/
│ └── utils/
├── data/
│ ├── prompts/
│ ├── cache/
│ └── metrics/
├── docs/
├── logs/
│ ├── app/
│ ├── access/
│ ├── error/
│ └── safety/
├── tests/
│ ├── unit/
│ ├── integration/
│ └── e2e/
├── .env.example
├── docker-compose.yml
├── Dockerfile
└── requirements.txt
Uso
from app.services.gemini_client import GeminiClient
client = GeminiClient(api_key="tu-api-key")
response = client.generate("Tu prompt aquí")
print(response)
Pruebas
# Ejecutar todas las pruebas
pytest
# Ejecutar pruebas unitarias
pytest tests/unit
# Ejecutar pruebas de integración
pytest tests/integration
# Ejecutar pruebas e2e
pytest tests/e2e
Contribución
- Fork el repositorio
- Crear una rama para tu feature (
git checkout -b feature/amazing-feature
) - Commit tus cambios (
git commit -m 'Add some amazing feature'
) - Push a la rama (
git push origin feature/amazing-feature
) - Abrir un Pull Request
Licencia
Este proyecto está licenciado bajo la Licencia MIT - ver el archivo LICENSE para más detalles.
Características Implementadas
- Sistema de logging con rotación de archivos
- Sistema de métricas y monitoreo
- Filtros de seguridad para contenido dañino
- Procesamiento asíncrono de solicitudes
- Pruebas unitarias para servicios principales
En Desarrollo
- Integración con API de Gemini
- Sistema de gestión de prompts
- Interfaz de usuario
Tareas Pendientes
- Sistema de monitoreo en tiempo real
- Sistema de autenticación y autorización
- Pruebas de rendimiento y optimización
- Documentación de API
Estructura del Proyecto
mcp-gemini/
├── app/
│ ├── api/ # Endpoints de la API
│ ├── core/ # Funcionalidad central
│ │ ├── logging/ # Sistema de logging
│ │ └── config/ # Configuración
│ ├── services/ # Servicios de la aplicación
│ │ ├── metrics.py # Servicio de métricas
│ │ └── async_processor.py # Procesamiento asíncrono
│ └── utils/ # Utilidades
├── data/
│ ├── metrics/ # Datos de métricas
│ └── cache/ # Caché de respuestas
├── logs/ # Archivos de log
│ ├── app/
│ ├── access/
│ └── error/
├── tests/ # Pruebas
│ ├── unit/
│ └── integration/
├── requirements.txt # Dependencias
└── README.md