Gmail MCP Server
Gmail MCP Server
Dieses Projekt implementiert einen Model Context Protocol (MCP) Server, der die Interaktion mit Gmail-Konten über IMAP und SMTP ermöglicht. Es bietet Werkzeuge zum Durchsuchen von E-Mails, Abrufen von Inhalten, Verwalten von Labels (Erstellen, Löschen, Umbenennen, Anwenden, Entfernen) sowie zum Senden und Weiterleiten von E-Mails.
Funktionen
E-Mail-Suche: Durchsuchen Sie E-Mails nach Datumsbereich, Stichwort oder roher Gmail-Abfragezeichenfolge. Unterstützt die Suche in bestimmten Ordnern (Posteingang, Gesendet) und die Begrenzung der Ergebnisse. Verwendet die
X-GM-RAW-Erweiterung von Gmail für effiziente Posteingangssuche (z. B. Filtern nachcategory:primary).E-Mail-Inhalt abrufen: Rufen Sie den vollständigen Inhalt (Kopfzeilen, Textkörper, Anhänge) einer bestimmten E-Mail anhand ihrer Sequenz-ID ab.
Label-Verwaltung (CRUD):
Alle verfügbaren Gmail-Labels (Ordner) auflisten.
Neue benutzerdefinierte Labels erstellen.
Vorhandene benutzerdefinierte Labels umbenennen.
Vorhandene benutzerdefinierte Labels löschen (Systemlabels können nicht gelöscht werden).
Labels auf einzelne E-Mails anwenden.
Labels von einzelnen E-Mails entfernen.
Stapeloperationen:
Labels gleichzeitig auf mehrere E-Mails anwenden (mithilfe von Sequenz-IDs).
Labels gleichzeitig von mehreren E-Mails entfernen (mithilfe von Sequenz-IDs).
Mehrere E-Mails in ein bestimmtes Label/einen bestimmten Ordner verschieben.
E-Mail senden: Neue E-Mails senden (erfordert SMTP-Konfiguration).
E-Mail weiterleiten: Vorhandene E-Mails inklusive Anhängen weiterleiten (erfordert SMTP-Konfiguration).
Tägliche E-Mail-Anzahl: Anzahl der pro Tag innerhalb eines bestimmten Datumsbereichs empfangenen E-Mails zählen.
Related MCP server: Gmail MCP Server
Projektstruktur
.
├── .gitignore # Specifies intentionally untracked files that Git should ignore
├── .python-version # Specifies Python version (used by pyenv)
├── LICENSE # Project license file
├── pyproject.toml # Python project configuration (dependencies, build system)
├── README.md # This file
├── task_list.md # Tracks development progress
├── uv.lock # Lock file for uv package manager
├── src/
│ └── email_client/
│ ├── __init__.py
│ ├── config.py # Handles loading configuration from environment variables (.env)
│ ├── handlers.py # Implements the logic for handling MCP tool calls
│ ├── imap_client.py # Contains functions for interacting with IMAP server
│ ├── server.py # Main MCP server script using @modelcontextprotocol/sdk
│ ├── smtp_client.py # Contains functions for interacting with SMTP server
│ ├── tool_definitions.py # Defines the available MCP tools and their schemas
│ └── utils.py # Utility functions (e.g., email parsing, date formatting)
└── ... (other potential files like test scripts, helper scripts)Einrichtung
Repository klonen (falls zutreffend):
git clone https://github.com/david-strejc/gmail-mcp-server.git cd gmail-mcp-serverAbhängigkeiten installieren: Dieses Projekt verwendet
uvfür die Paketverwaltung.# Ensure uv is installed (e.g., pip install uv) uv venv # Create virtual environment (.venv) uv sync # Install dependencies from pyproject.toml and uv.lock source .venv/bin/activate # Activate the virtual environment(Falls Sie
uvnicht verwenden, erstellen Sie eine virtuelle Umgebung und installieren Sie die Abhängigkeiten mitpip install -r requirements.txt, sofern einerequirements.txterstellt wird).Umgebungsvariablen konfigurieren: Erstellen Sie eine
.env-Datei im Projektstammverzeichnis und fügen Sie Ihre Gmail-Anmeldedaten und Servereinstellungen hinzu:# .env file GMAIL_EMAIL=your_email@gmail.com GMAIL_PASSWORD=your_app_password # Use an App Password if 2FA is enabled GMAIL_IMAP_SERVER=imap.gmail.com GMAIL_SMTP_SERVER=smtp.gmail.com GMAIL_SMTP_PORT=587 # Or 465 for SSLWichtig: Für Gmail müssen Sie bei aktivierter Zwei-Faktor-Authentifizierung unbedingt ein "App-Passwort" generieren und verwenden. Standardkennwörter funktionieren nicht. Siehe Googles Dokumentation zu App-Passwörtern.
Stellen Sie sicher, dass "Weniger sichere App-Zugriffe" aktiviert ist, falls Sie keine Zwei-Faktor-Authentifizierung verwenden (dies wird jedoch generell nicht empfohlen).
Ausführen des MCP-Servers
Aktivieren Sie die virtuelle Umgebung und führen Sie das Serverskript aus:
source .venv/bin/activate
python src/email_client/server.pyDer Server startet und lauscht auf MCP-Anfragen über Standardeingabe/-ausgabe.
Integration mit einem MCP-Client (z. B. Cline)
Fügen Sie die Serverkonfiguration zur Einstellungsdatei Ihres MCP-Clients hinzu (z. B. cline_mcp_settings.json oder claude_desktop_config.json).
Beispieleintrag für cline_mcp_settings.json:
{
"mcpServers": {
"gmail": {
"command": "/path/to/your/project/gmail-mcp-server/.venv/bin/python",
"args": ["/path/to/your/project/gmail-mcp-server/src/email_client/server.py"],
"env": {}, // Environment variables are loaded from .env by the script
"enabled": true, // Set to true to enable
"autoApprove": [] // Configure auto-approval if desired
}
// ... other servers
}
}Ersetzen Sie
/path/to/your/project/gmail-mcp-serverdurch den tatsächlichen absoluten Pfad zu diesem Projektverzeichnis.Stellen Sie sicher, dass der
commandauf die Python-Datei in der virtuellen Umgebung des Projekts verweist (.venv/bin/python).
Sobald die Konfiguration abgeschlossen und der Client aktiviert ist, verbindet sich der Client mit dem Server und die definierten Werkzeuge werden verfügbar.
Verfügbare Werkzeuge (Zusammenfassung)
search-emails: E-Mails durchsuchen.get-email-content: Vollständige E-Mail-Details abrufen.count-daily-emails: Tägliche E-Mail-Anzahl zählen.list-labels: Alle Labels/Ordner auflisten.create-label: Ein neues Label erstellen.rename-label: Ein vorhandenes Label umbenennen.delete-label: Ein Label löschen.apply-label: Ein Label auf eine E-Mail anwenden.remove-label: Ein Label von einer E-Mail entfernen.apply-label-batch: Ein Label auf mehrere E-Mails anwenden.remove-label-batch: Ein Label von mehreren E-Mails entfernen.move-email: Eine einzelne E-Mail in ein Label verschieben.move-email-batch: Mehrere E-Mails in ein Label verschieben.send-email: Eine neue E-Mail senden.forward-email: Eine vorhandene E-Mail weiterleiten.
Detaillierte Eingabeschemata für jedes Werkzeug finden Sie in src/email_client/tool_definitions.py.
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Manage Gmail end-to-end: search, read, send, draft, label, and organize threads. Automate workflow…
Manage Gmail messages, threads, labels, drafts, and settings from your workflows. Send and organiz…
Email infrastructure for AI agents — send, receive, search, and reply to email over MCP.
Connect any mailbox to Claude, ChatGPT & AI: read, send, reply, schedule & search emails.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables interaction with Gmail through the Gmail API to read, send, and manage emails. Supports multiple Gmail accounts with real-time monitoring and advanced features for email search and attachment handling.17Apache 2.0
- FlicenseNot gradedqualityDmaintenanceEnables interaction with Gmail through the Gmail API with OAuth2 authentication. Supports reading, sending, searching emails, and managing read status through natural language.
- AlicenseNot gradedqualityNot gradedmaintenanceEnables AI assistants to interact with Gmail accounts through IMAP/SMTP, supporting reading, sending, replying to emails, managing threads, downloading attachments, and searching with Gmail syntax using simple app password authentication.
- FlicenseNot gradedqualityNot gradedmaintenanceEnables interaction with Gmail through the Gmail API, allowing users to list, read, search emails, create and send drafts, and get email summaries through natural language commands with OAuth2 authentication.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/aakashlokhande99/Gmail_MCP_Server'
If you have feedback or need assistance with the MCP directory API, please join our Discord server