py-mcp-google-toolbox
Ein MCP-Server, der KI-Assistenten leistungsstarke Tools zur Interaktion mit Google-Diensten wie Gmail, Google Kalender, Google Drive und Google Suche bereitstellt.
Überblick
py-mcp-google-toolbox bietet die folgenden Google-bezogenen Funktionen:
Gmail-Vorgänge (Lesen, Suchen, Senden, Ändern)
Google Kalenderverwaltung (Erstellen, Auflisten, Aktualisieren, Löschen von Ereignissen)
Google Drive-Interaktionen (suchen, Dateien lesen)
Google Search-Integration (Websuche)
Related MCP server: Algolia
Inhaltsverzeichnis
Voraussetzungen
Python : Installieren Sie Python 3.12 oder höher
Einrichtung der Google Cloud Console :
Gehen Sie zur Google Cloud Console
Erstellen Sie ein neues Projekt oder wählen Sie ein vorhandenes aus
Aktivieren Sie die Service-API:
Gehen Sie zu „APIs & Dienste“ > „Bibliothek“
Suchen und aktivieren Sie „Gmail API“
Suchen und aktivieren Sie „Google Calendar API“
Suchen und aktivieren Sie „Google Drive API“
Suchformular und „Custom Search API“ aktivieren
Richten Sie OAuth 2.0-Anmeldeinformationen von GCP ein:
Gehen Sie zu „APIs & Dienste“ > „Anmeldeinformationen“
Klicken Sie auf „Anmeldeinformationen erstellen“ > „OAuth-Client-ID“.
Wählen Sie „Webanwendung“
Notieren Sie sich die Client-ID und das Client-Geheimnis
Client-ID
Clientgeheimnis
Laden Sie das geheime JSON herunter und benennen Sie es in credentials.json um
Generieren eines API-Schlüssels
Gehen Sie zur benutzerdefinierten Suchmaschine und holen Sie sich deren ID
Installation
Git-Klon
git clone https://github.com/jikime/py-mcp-google-toolbox.git
cd py-mcp-google-toolboxKonfiguration
Installieren Sie den UV-Paketmanager:
curl -LsSf https://astral.sh/uv/install.sh | shVirtuelle Umgebung erstellen und aktivieren:
uv venv -p 3.12
source .venv/bin/activate # On MacOS/Linux
# or
.venv\Scripts\activate # On WindowsInstallieren Sie Abhängigkeiten:
uv pip install -r requirements.txtAktualisierungstoken abrufen (wenn das Token abgelaufen ist, können Sie dies ausführen)
uv run get_refresh_token.pyDies wird:
Öffnen Sie Ihren Browser für die Google OAuth-Authentifizierung
Fordern Sie die folgenden Berechtigungen an:
https://www.googleapis.com/auth/gmail.modifyhttps://www.googleapis.com/auth/calendarhttps://www.googleapis.com/auth/gmail.sendhttps://www.googleapis.com/auth/gmail.readonlyhttps://www.googleapis.com/auth/drivehttps://www.googleapis.com/auth/drive.filehttps://www.googleapis.com/auth/drive.readonly
Speichern Sie die Anmeldeinformationen in
token.jsonZeigen Sie das Aktualisierungstoken in der Konsole an
Umgebungsvariablen:
cp env.example .env
vi .env
# change with your key
GOOGLE_API_KEY=your_google_api_key
GOOGLE_CSE_ID=your_custom_search_engine_id
GOOGLE_CLIENT_ID=your_google_client_id
GOOGLE_CLIENT_SECRET=your_google_client_secret
GOOGLE_REFRESH_TOKEN=your_google_refresh_tokenKopieren Sie credentials.json in den Stammordner des Projekts (py-mcp-google-toolbox).
Verwenden von Docker
Erstellen Sie das Docker-Image:
docker build -t py-mcp-google-toolbox .Führen Sie den Container aus:
docker run py-mcp-google-toolboxLokale Verwendung
Führen Sie den Server aus:
mcp run server.pyFühren Sie den MCP Inspector aus
mcp dev server.pyMCP-Einstellungen konfigurieren
Fügen Sie die Serverkonfiguration zu Ihrer MCP-Einstellungsdatei hinzu:
Claude Desktop-App
So installieren Sie es automatisch über Smithery :
npx -y @smithery/cli install @jikime/py-mcp-google-toolbox --client claudeZur manuellen Installation öffnen Sie
~/Library/Application Support/Claude/claude_desktop_config.json
Fügen Sie dies zum mcpServers -Objekt hinzu:
{
"mcpServers": {
"Google Toolbox": {
"command": "/path/to/bin/uv",
"args": [
"--directory",
"/path/to/py-mcp-google-toolbox",
"run",
"server.py"
]
}
}
}Cursor-IDE
Öffnen Sie ~/.cursor/mcp.json
Fügen Sie dies zum mcpServers -Objekt hinzu:
{
"mcpServers": {
"Google Toolbox": {
"command": "/path/to/bin/uv",
"args": [
"--directory",
"/path/to/py-mcp-google-toolbox",
"run",
"server.py"
]
}
}
}für Docker
{
"mcpServers": {
"Google Toolbox": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"py-mcp-google-toolbox"
]
}
}
}Tools-Dokumentation
Gmail-Tools
list_emails: Listet aktuelle E-Mails aus dem Gmail-Posteingang mit Filteroptionen aufsearch_emails: Führt erweiterte Gmail-Suchen mit detaillierter Abfrage von E-Mail-Inhalten durchsend_email: Verfasst und sendet E-Mails mit Unterstützung für CC- und BCC-Empfängermodify_email: Ändert den E-Mail-Status (gelesen/ungelesen, archiviert, in den Papierkorb verschoben) durch Ändern der Beschriftungen
Kalendertools
list_events: Ruft bevorstehende Kalenderereignisse innerhalb bestimmter Zeiträume abcreate_event: Erstellt neue Kalenderereignisse mit Teilnehmern, Ort und Beschreibungupdate_event: Ändert vorhandene Kalenderereignisse mit flexibler Parameteraktualisierungdelete_event: Entfernt Kalenderereignisse nach Ereignis-ID
Antriebswerkzeuge
read_gdrive_file: Liest und ruft Inhalte aus Google Drive-Dateien absearch_gdrive: Durchsucht Google Drive nach Dateien mit anpassbaren Abfragen
Suchwerkzeuge
search_google: Führt Google-Suchen durch und gibt formatierte Ergebnisse zurück
Entwicklung
Für lokale Tests können Sie das enthaltene Client-Skript verwenden:
# Example: List emails
uv run client.py list_emails max_results=5 query="is:unread"
# Example: Search emails
uv run client.py search_emails query="from:test@example.com"
# Example: Send email
uv run client.py send_email to="test@example.com" subject="test mail" body="Hello"
# Example: Modify email
uv run client.py modify_email id=MESSAGE_ID remove_labels=INBOX add_labels=ARCHIVED
# Example: List events
uv run client.py list_events time_min=2025-05-01T00:00:00+09:00 time_max=2025-05-02T23:59:59+09:00 max_results=5
# Example: Create event
uv run client.py create_event summary="new event" start=2025-05-02T10:00:00+09:00 end=2025-05-02T11:00:00+09:00 attendees="user1@example.com,user2@example.com"
# Example: Update event
uv run client.py update_event event_id=EVENT_ID summary="update event" start=2025-05-02T10:00:00+09:00 end=2025-05-02T11:00:00+09:00 attendees="user1@example.com,user2@example.com"
# Example Delete event
uv run client.py delete_event event_id=EVENT_ID
# Example: Search Google
uv run client.py search_google query="what is the MCP?"
# Example: Search Google Drive
uv run client.py search_gdrive query=mcp
# Example: Read file
uv run client.py read_gdrive_file file_id=1234567890Lizenz
MIT-Lizenz
Appeared in Searches
- Tools for finding trending keywords, ad costs, and storing data in Google Sheets
- How to Create Looker Dashboards
- Automating Workflow for File Processing and Communication
- A server for finding information using Google Search
- An analytics platform for tracking and understanding website and app performance