MCP-Gemini
Prompt management system for Google Gemini Pro.
Current State
Implemented
- ✅ Base structure of the project
- ✅ Configuring Docker and Docker Compose
- ✅ Standardized log system
- ✅ Metrics system with security filters
- ✅ Unit tests for:
- ✅ GeminiClient
- ✅ FileSystemService
- ✅ SearchService
- ✅ CacheService
- ✅ Log system
- ✅ Metrics system
- ✅ Main services:
- ✅ Cache system
- ✅ Search system
- ✅ File system
- ✅ Log system
- ✅ Safety filter system
- ✅ Metrics system
In Progress
- 🔄 Integration with Gemini API
- 🔄 Prompt management system
- 🔄 User interface
Earring
- ⏳ Authentication system
- ⏳ Real-time monitoring system
- ⏳ Complete documentation
- ⏳ Integration testing
- ⏳ Performance tests
- ⏳ Deployment to production
Requirements
- Python 3.10+
- Docker and Docker Compose
- Google Gemini API Key
Facility
- Clone the repository:
git clone https://github.com/tu-usuario/mcp-gemini.git
cd mcp-gemini
- Configure environment variables:
cp .env.example .env
# Editar .env con tus credenciales
- Install dependencies:
pip install -r requirements.txt
- Run with Docker:
Project Structure
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
Use
from app.services.gemini_client import GeminiClient
client = GeminiClient(api_key="tu-api-key")
response = client.generate("Tu prompt aquí")
print(response)
Evidence
# 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
Contribution
- Fork the repository
- Create a branch for your feature (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add some amazing feature'
) - Push to branch (
git push origin feature/amazing-feature
) - Open a Pull Request
License
This project is licensed under the MIT License - see the LICENSE file for details.
Implemented Features
- Logging system with file rotation
- Metrics and monitoring system
- Security filters for harmful content
- Asynchronous request processing
- Unit tests for core services
In Development
- Integration with Gemini API
- Prompt management system
- User interface
Pending Tasks
- Real-time monitoring system
- Authentication and authorization system
- Performance testing and optimization
- API Documentation
Project Structure
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