Skip to main content
Glama
davsdevelop

DAVS Gmail MCP Server

by davsdevelop

📧 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.

Related MCP server: Gmail Streamable MCP Server

✨ 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 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.

  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

# 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.py

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables Gmail access through MCP, allowing LLMs to read, compose, and send emails.
    10
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Streamable HTTP MCP server for Gmail that enables AI agents to search threads, read messages, manage drafts, and organize the inbox via OAuth authentication.
    181 npm
    10
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    An MCP server that provides Gmail access for LLMs, enabling email composition, sending, searching, and label management via the Gmail API.
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables users to access and manage their Gmail and Google Drive data via a Streamlit UI or Claude Desktop, supporting email counts, searches, file listings, and storage queries using OAuth authentication.
    -