DAVS Gmail MCP Server

DAVS Gmail MCP Server

Enables an LLM to interact with a Gmail account via MCP, supporting email listing, sending, profile access, and PDF resource injection for context, with OAuth2 authentication and a Streamlit interface.

Category
Visit Server

README

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

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
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
E2B

E2B

Using MCP to run code via e2b.

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