DAVS Gmail MCP Server
by davsdevelop
README.md
# 📧 Gmail AI Assistant con Model Context Protocol (MCP)
Este proyecto implementa un asistente inteligente capaz de interactuar directamente con una cuenta de Gmail utilizando el **Model Context Protocol (MCP)**.
Demuestra la integración segura de un LLM local (Ollama) con APIs externas (Google Workspace), permitiendo al modelo leer, resumir y enviar correos, además de consumir recursos estáticos (PDFs) mediante plantillas dinámicas, todo bajo una arquitectura cliente-servidor estandarizada.
## 🏗️ Arquitectura del Sistema
* **Servidor MCP (`gmail_mcp_server.py`):** Expone herramientas (`Tools`), recursos estáticos y dinámicos (`Resources` / `Resource Templates`), y prompts predefinidos hacia el cliente. Maneja la autenticación OAuth2 con Google Cloud.
* **Cliente MCP (`client.py`):** Se conecta al servidor MCP, descubre las capacidades disponibles y las formatea dinámicamente para que el modelo de lenguaje (Llama 3.1) pueda utilizarlas como *Function Calling*.
* **Interfaz Gráfica (`app.py`):** Aplicación interactiva construida con Streamlit que maneja el historial de la conversación, renderiza componentes UI dinámicos según la respuesta del servidor y facilita el uso de prompts rápidos.
* **Seguridad:** Manejo estricto de credenciales. La autenticación se realiza localmente y los tokens de sesión se mantienen en el entorno de ejecución, sin exposición al exterior.
## ✨ Capacidades del Agente
- **Herramientas (Tools):** `list_emails` (Búsqueda y filtrado) y `send_email` (Redacción y envío).
- **Recursos (Resources):** Acceso al perfil de Gmail del usuario.
- **Plantillas (Resource Templates):** Lectura e inyección de contexto desde manuales PDF locales (ej. `docs://setup-manual/{version}`) directamente al contexto del LLM.
- **Prompts:** Flujos pre-construidos para resúmenes diarios y redacción de correos profesionales.
## 🚀 Instalación y Configuración
### Prerrequisitos
- Python 3.10+
- [Ollama](https://ollama.com/) instalado con el modelo `llama3.1`.
- Una cuenta de Google Cloud Platform (GCP).
### 1. Configuración de Credenciales de Google (Obligatorio)
Por motivos de seguridad, este repositorio **no incluye** credenciales de acceso. Debes generar las tuyas:
1. Ve a [Google Cloud Console](https://console.cloud.google.com/).
2. Crea un nuevo proyecto y habilita la **Gmail API**.
3. Configura la pantalla de consentimiento OAuth (Añade tu correo como usuario de prueba).
4. Crea credenciales de tipo **ID de cliente de OAuth** (Aplicación de escritorio).
5. Descarga el archivo JSON, renómbralo a `credentials.json` y colócalo en la raíz de este proyecto.
### 2. Ejecución del Entorno
```bash
# Clonar repositorio
git clone [https://github.com/tu-usuario/gmail-mcp-server.git](https://github.com/tu-usuario/gmail-mcp-server.git)
cd gmail-mcp-server
# Crear entorno virtual e instalar dependencias
python -m venv venv
source venv/bin/activate # En Windows: venv\Scripts\activate
pip install -r requirements.txt
# Iniciar la interfaz gráfica
streamlit run app.pyThis server cannot be deployed
Maintenance
ActivityMaintained
ResponsivenessNo issues