Skip to main content
Glama

Google Toolbox

py-mcp-google-toolbox

VersionLizenz

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)

Inhaltsverzeichnis

Voraussetzungen

  1. Python : Installieren Sie Python 3.12 oder höher
  2. 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:
      1. Gehen Sie zu „APIs & Dienste“ > „Bibliothek“
      2. Suchen und aktivieren Sie „Gmail API“
      3. Suchen und aktivieren Sie „Google Calendar API“
      4. Suchen und aktivieren Sie „Google Drive API“
      5. Suchformular und „Custom Search API“ aktivieren
    • Richten Sie OAuth 2.0-Anmeldeinformationen von GCP ein:
      1. Gehen Sie zu „APIs & Dienste“ > „Anmeldeinformationen“
      2. Klicken Sie auf „Anmeldeinformationen erstellen“ > „OAuth-Client-ID“.
      3. Wählen Sie „Webanwendung“
      4. Notieren Sie sich die Client-ID und das Client-Geheimnis
        • Client-ID
        • Clientgeheimnis
      5. Laden Sie das geheime JSON herunter und benennen Sie es in credentials.json um
    • Generieren eines API-Schlüssels
  3. 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-toolbox
Konfiguration
  1. Installieren Sie den UV-Paketmanager:
curl -LsSf https://astral.sh/uv/install.sh | sh
  1. Virtuelle Umgebung erstellen und aktivieren:
uv venv -p 3.12 source .venv/bin/activate # On MacOS/Linux # or .venv\Scripts\activate # On Windows
  1. Installieren Sie Abhängigkeiten:
uv pip install -r requirements.txt
  1. Aktualisierungstoken abrufen (wenn das Token abgelaufen ist, können Sie dies ausführen)
uv run get_refresh_token.py

Dies wird:

  • Öffnen Sie Ihren Browser für die Google OAuth-Authentifizierung
  • Fordern Sie die folgenden Berechtigungen an:
    • https://www.googleapis.com/auth/gmail.modify
    • https://www.googleapis.com/auth/calendar
    • https://www.googleapis.com/auth/gmail.send
    • https://www.googleapis.com/auth/gmail.readonly
    • https://www.googleapis.com/auth/drive
    • https://www.googleapis.com/auth/drive.file
    • https://www.googleapis.com/auth/drive.readonly
  • Speichern Sie die Anmeldeinformationen in token.json
  • Zeigen Sie das Aktualisierungstoken in der Konsole an
  1. 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_token
  1. Kopieren Sie credentials.json in den Stammordner des Projekts (py-mcp-google-toolbox).
Verwenden von Docker
  1. Erstellen Sie das Docker-Image:
docker build -t py-mcp-google-toolbox .
  1. Führen Sie den Container aus:
docker run py-mcp-google-toolbox
Lokale Verwendung
  1. Führen Sie den Server aus:
mcp run server.py
  1. Führen Sie den MCP Inspector aus
mcp dev server.py

MCP-Einstellungen konfigurieren

Fügen Sie die Serverkonfiguration zu Ihrer MCP-Einstellungsdatei hinzu:

Claude Desktop-App
  1. So installieren Sie es automatisch über Smithery :
npx -y @smithery/cli install @jikime/py-mcp-google-toolbox --client claude
  1. Zur 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 auf
  • search_emails : Führt erweiterte Gmail-Suchen mit detaillierter Abfrage von E-Mail-Inhalten durch
  • send_email : Verfasst und sendet E-Mails mit Unterstützung für CC- und BCC-Empfänger
  • modify_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 ab
  • create_event : Erstellt neue Kalenderereignisse mit Teilnehmern, Ort und Beschreibung
  • update_event : Ändert vorhandene Kalenderereignisse mit flexibler Parameteraktualisierung
  • delete_event : Entfernt Kalenderereignisse nach Ereignis-ID

Antriebswerkzeuge

  • read_gdrive_file : Liest und ruft Inhalte aus Google Drive-Dateien ab
  • search_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=1234567890

Lizenz

MIT-Lizenz

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/jikime/py-mcp-google-toolbox'

If you have feedback or need assistance with the MCP directory API, please join our Discord server