MCP-Gemini

MCP-Gemini

A prompt management system for Google Gemini Pro that includes caching, security filtering, logging, and metrics collection.

Category
Visit Server

README

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

  1. Clonar el repositorio:
git clone https://github.com/tu-usuario/mcp-gemini.git
cd mcp-gemini
  1. Configurar variables de entorno:
cp .env.example .env
# Editar .env con tus credenciales
  1. Instalar dependencias:
pip install -r requirements.txt
  1. Ejecutar con Docker:
docker-compose up -d

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

  1. Fork el repositorio
  2. Crear una rama para tu feature (git checkout -b feature/amazing-feature)
  3. Commit tus cambios (git commit -m 'Add some amazing feature')
  4. Push a la rama (git push origin feature/amazing-feature)
  5. 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

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured