Skip to main content
Glama
davsdevelop

DAVS Gmail MCP Server

by davsdevelop

📧 Gmail KI-Assistent mit Model Context Protocol (MCP)

Dieses Projekt implementiert einen intelligenten Assistenten, der direkt mit einem Gmail-Konto über das Model Context Protocol (MCP) interagieren kann.

Es demonstriert die sichere Integration eines lokalen LLM (Ollama) mit externen APIs (Google Workspace) und ermöglicht es dem Modell, E-Mails zu lesen, zusammenzufassen und zu senden sowie statische Ressourcen (PDFs) über dynamische Vorlagen zu nutzen – alles unter einer standardisierten Client-Server-Architektur.

🏗️ Systemarchitektur

  • MCP-Server (gmail_mcp_server.py): Stellt Tools, statische und dynamische Ressourcen (Resources / Resource Templates) sowie vordefinierte Prompts für den Client bereit. Übernimmt die OAuth2-Authentifizierung mit Google Cloud.

  • MCP-Client (client.py): Stellt eine Verbindung zum MCP-Server her, erkennt die verfügbaren Fähigkeiten und formatiert sie dynamisch, damit das Sprachmodell (Llama 3.1) sie als Function Calling nutzen kann.

  • Grafische Oberfläche (app.py): Interaktive Anwendung, die mit Streamlit erstellt wurde, den Gesprächsverlauf verwaltet, dynamische UI-Komponenten basierend auf der Serverantwort rendert und die Verwendung von Schnellprompts erleichtert.

  • Sicherheit: Strenge Handhabung von Anmeldedaten. Die Authentifizierung erfolgt lokal und die Sitzungstokens verbleiben in der Laufzeitumgebung, ohne Offenlegung nach außen.

Related MCP server: Gmail Streamable MCP Server

✨ Fähigkeiten des Agenten

  • Werkzeuge (Tools): list_emails (Suche und Filterung) und send_email (Verfassen und Senden).

  • Ressourcen (Resources): Zugriff auf das Gmail-Profil des Benutzers.

  • Vorlagen (Resource Templates): Lesen und Einfügen von Kontext aus lokalen PDF-Handbüchern (z. B. docs://setup-manual/{version}) direkt in den LLM-Kontext.

  • Prompts: Vorgefertigte Abläufe für tägliche Zusammenfassungen und das Verfassen professioneller E-Mails.

🚀 Installation und Konfiguration

Voraussetzungen

  • Python 3.10+

  • Ollama mit dem Modell llama3.1 installiert.

  • Ein Google Cloud Platform (GCP)-Konto.

1. Einrichtung der Google-Anmeldedaten (Erforderlich)

Aus Sicherheitsgründen enthält dieses Repository keine Zugangsdaten. Du musst deine eigenen erstellen:

  1. Gehe zur Google Cloud Console.

  2. Erstelle ein neues Projekt und aktiviere die Gmail API.

  3. Richte den OAuth-Zustimmungsbildschirm ein (Füge deine E-Mail-Adresse als Testbenutzer hinzu).

  4. Erstelle Anmeldedaten vom Typ OAuth-Client-ID (Desktopanwendung).

  5. Lade die JSON-Datei herunter, benenne sie in credentials.json um und lege sie im Stammverzeichnis dieses Projekts ab.

2. Ausführen der Umgebung

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