Integrations
Allows LLMs to read, create, and manage calendar events through a standardized interface, including listing calendars, listing events, creating events, updating events, deleting events, and processing events from screenshots and images.
Google Kalender MCP-Server
Dies ist ein Model Context Protocol (MCP)-Server, der die Integration mit Google Kalender ermöglicht. Er ermöglicht LLMs das Lesen, Erstellen, Aktualisieren und Suchen von Kalenderereignissen über eine standardisierte Schnittstelle.
Beispielverwendung
Neben den normalen Funktionen, die Sie von einer Kalenderintegration erwarten, können Sie auch wirklich dynamische, mehrstufige Prozesse durchführen, wie:
- Ereignisse aus Screenshots und Bildern hinzufügen:Unterstützte Bildformate: PNG, JPEG, GIF. Bilder können Ereignisdetails wie Datum, Uhrzeit, Ort und Beschreibung enthaltenCopy
- Kalenderanalyse:Copy
- Anwesenheitskontrolle:Copy
- Ereignisse automatisch koordinieren:Copy
- Geben Sie Ihre eigene Verfügbarkeit an:Copy
Anforderungen
- Node.js (neueste LTS empfohlen)
- TypeScript 5.3 oder höher
- Ein Google Cloud-Projekt mit aktivierter Kalender-API
- OAuth 2.0-Anmeldeinformationen (Client-ID und Client-Geheimnis)
Google Cloud-Setup
- Gehen Sie zur Google Cloud Console
- Erstellen Sie ein neues Projekt oder wählen Sie ein vorhandenes aus.
- Aktivieren Sie die Google Kalender-API für Ihr Projekt. Stellen Sie sicher, dass in der oberen Leiste das richtige Projekt ausgewählt ist, bevor Sie die API aktivieren.
- OAuth 2.0-Anmeldeinformationen erstellen:
- Gehe zu Anmeldeinformationen
- Klicken Sie auf „Anmeldeinformationen erstellen“ > „OAuth-Client-ID“.
- Wählen Sie „Benutzerdaten“ für den Datentyp, auf den die App zugreifen wird
- Fügen Sie Ihren App-Namen und Ihre Kontaktinformationen hinzu
- Fügen Sie die folgenden Bereiche hinzu (optional):
https://www.googleapis.com/auth/calendar.events
(oder allgemeinerhttps://www.googleapis.com/auth/calendar
, falls erforderlich)
- Wählen Sie als Anwendungstyp „Desktop-App“ aus (Wichtig!)
- Fügen Sie Ihre E-Mail-Adresse als Testbenutzer unter dem OAuth-Zustimmungsbildschirm hinzu
- Hinweis: Es dauert einige Minuten, bis der Testbenutzer hinzugefügt wird. Die OAuth-Zustimmung ermöglicht Ihnen erst dann das Fortfahren, wenn der Testbenutzer propagiert wurde.
- Hinweis zum Testmodus: Während sich eine App im Testmodus befindet, laufen die Authentifizierungstoken nach einer Woche ab und müssen durch Ausführen
npm run auth
aktualisiert werden.
Installation
- Klonen Sie das Repository
- Installieren Sie Abhängigkeiten (dadurch wird das JS auch per Postinstall erstellt):Copy
- Laden Sie Ihre Google OAuth-Anmeldeinformationen von der Google Cloud Console (unter „Anmeldeinformationen“) herunter, benennen Sie die Datei in
gcp-oauth.keys.json
um und platzieren Sie sie im Stammverzeichnis des Projekts.- Stellen Sie sicher, dass die Datei Anmeldeinformationen für eine „Desktop-App“ enthält.
- Alternativ können Sie die bereitgestellte Vorlagendatei kopieren:
cp gcp-oauth.keys.example.json gcp-oauth.keys.json
und füllen Sie sie mit Ihren Anmeldeinformationen aus der Google Cloud Console.
Verfügbare Skripte
npm run build
– Erstellen Sie den TypeScript-Code (kompiliertsrc
zumbuild
)npm run typecheck
- TypeScript-Typprüfung ohne Kompilierung ausführennpm run start
– Starten Sie den kompilierten MCP-Server (mitnode build/index.js
)npm run auth
– Führen Sie den Google OAuth-Authentifizierungsfluss manuell aus.npm test
- Führen Sie die Unit-/Integrationstestsuite mit Vitest ausnpm run test:watch
– Tests im Überwachungsmodus ausführennpm run coverage
- Führen Sie Tests aus und generieren Sie einen Abdeckungsbericht
Authentifizierung
Der Server übernimmt die Google OAuth 2.0-Authentifizierung für den Zugriff auf Ihre Kalenderdaten.
Automatischer Authentifizierungsablauf (beim Serverstart)
- Stellen Sie sicher, dass
gcp-oauth.keys.json
den richtigen Namen hat und im Projektstamm abgelegt ist. - Starten Sie den MCP-Server:
npm start
. - Der Server sucht in
.gcp-saved-tokens.json
nach vorhandenen, gültigen Authentifizierungstoken. - Wenn gültige Token gefunden werden, startet der Server normal.
- Wenn keine gültigen Token gefunden werden:
- Der Server versucht, einen temporären lokalen Webserver zu starten (er versucht es über die Ports 3000–3004).
- Ihr Standard-Webbrowser öffnet automatisch den Anmelde- und Zustimmungsbildschirm des Google-Kontos.
- Folgen Sie den Anweisungen im Browser, um die Anwendung zu autorisieren.
- Nach erfolgreicher Autorisierung werden Sie auf eine lokale Seite weitergeleitet (z. B.
http://localhost:3000/oauth2callback
). - Auf dieser Seite wird eine Erfolgsmeldung angezeigt, die bestätigt, dass die Token in
.gcp-saved-tokens.json
gespeichert wurden (und der genaue Dateipfad wird angezeigt). - Der temporäre Authentifizierungsserver wird automatisch heruntergefahren.
- Der Haupt-MCP-Server setzt seinen Startvorgang fort.
Manueller Authentifizierungsablauf
Wenn Sie eine erneute Authentifizierung durchführen müssen oder die Authentifizierung lieber separat durchführen möchten:
- Führen Sie den Befehl aus:
npm run auth
- Dieses Skript führt denselben browserbasierten Authentifizierungsablauf aus, der oben beschrieben wurde.
- Ihr Browser wird geöffnet, Sie autorisieren und Ihnen wird die Erfolgsseite angezeigt, die angibt, wo die Token gespeichert wurden.
- Das Skript wird nach erfolgreicher Authentifizierung automatisch beendet.
Token-Verwaltung
- Authentifizierungstoken werden in
.gcp-saved-tokens.json
im Projektstamm gespeichert. - Diese Datei wird automatisch erstellt und sollte nicht der Versionskontrolle übergeben werden (sie ist in
.gitignore
enthalten). - Der Server versucht, abgelaufene Zugriffstoken mithilfe des gespeicherten Aktualisierungstokens automatisch zu aktualisieren.
- Wenn das Aktualisierungstoken selbst abläuft (z. B. nach 7 Tagen, wenn sich die Google Cloud-App im Testmodus befindet) oder widerrufen wird, müssen Sie sich entweder über den automatischen Ablauf (durch Neustart des Servers) oder den manuellen Befehl
npm run auth
erneut authentifizieren.
Testen
Unit- und Integrationstests werden mit Vitest implementiert.
- Tests ausführen:
npm test
- Führen Sie Tests im Überwachungsmodus aus:
npm run test:watch
- Abdeckungsbericht generieren:
npm run coverage
Tests simulieren externe Abhängigkeiten (Google API, Dateisystem), um isolierte Tests der Serverlogik und -handler sicherzustellen.
Sicherheitshinweise
- Der Server läuft lokal und erfordert eine OAuth-Authentifizierung.
- OAuth-Anmeldeinformationen (
gcp-oauth.keys.json
) und gespeicherte Token (.gcp-saved-tokens.json
) sollten niemals in die Versionskontrolle übernommen werden. Stellen Sie sicher, dass sie Ihrer.gitignore
Datei hinzugefügt werden. - Erwägen Sie für den Produktionseinsatz, Ihre OAuth-Anwendung von Google verifizieren zu lassen.
Verwendung mit Claude Desktop
- Fügen Sie diese Konfiguration zu Ihrer Claude Desktop-Konfigurationsdatei hinzu. Beispiel
/Users/<user>/Library/Application Support/Claude/claude_desktop_config.json
:Hinweis: Ersetzen SieCopy<absolute-path-to-project-folder>
Pfad zum Projektordner> durch den tatsächlichen Pfad zu Ihrem Projektverzeichnis. - Starten Sie Claude Desktop neu
Entwicklung
Fehlerbehebung
- Authentifizierungsfehler / Verbindungsrücksetzung beim Rückruf:
- Stellen Sie sicher, dass
gcp-oauth.keys.json
vorhanden ist und Anmeldeinformationen für einen Desktop-App- Typ enthält. - Überprüfen Sie, ob Ihre Benutzer-E-Mail-Adresse in den Einstellungen des Google Cloud OAuth-Zustimmungsbildschirms als Testbenutzer hinzugefügt wurde (es kann einige Minuten dauern, bis die Änderungen wirksam werden).
- Versuchen Sie,
.gcp-saved-tokens.json
zu löschen und erneut zu authentifizieren (npm run auth
odernpm start
neu starten). - Stellen Sie sicher, dass kein anderer Prozess die Ports 3000–3004 blockiert, wenn eine Authentifizierung erforderlich ist.
- Stellen Sie sicher, dass
- Token verfallen wöchentlich:
- Wenn sich Ihre Google Cloud-App im Testmodus befindet, verfallen Aktualisierungstoken nach 7 Tagen. Führen Sie bei Bedarf eine erneute Authentifizierung durch.
- Erwägen Sie, Ihre App in der Google Cloud Console in die Produktion zu verschieben, um Aktualisierungstoken mit längerer Lebensdauer zu erhalten (erfordert eine Überprüfung durch Google).
- Build-Fehler:
- Führen Sie
npm install
erneut aus. - Überprüfen Sie die Node.js-Version (verwenden Sie LTS).
- Löschen Sie das Verzeichnis
build/
und führen Sienpm run build
aus.
- Führen Sie
Wenn Sie Entwickler sind und zu diesem Repository beitragen möchten, werfen Sie bitte vor dem Beitrag einen Blick auf die Architekturübersicht.
Lizenz
MIT
This server cannot be installed
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Erstellen, suchen und verwalten Sie alle Ihre Google-Kalenderereignisse mit den Funktionen von MCP.
Related MCP Servers
- AsecurityAlicenseAqualityProvides tools for interacting with Gmail and Calendar APIs. This server enables you to manage your emails and calendar events programmatically through the MCP interface.Last updated -813JavaScriptMIT License
- -securityAlicense-qualityEnables comprehensive calendar management with capabilities to create, list, update, and delete events through a Model Context Protocol server integrated with Google Calendar.Last updated -131TypeScriptMIT License
- -securityAlicense-qualityEnables interaction with Gmail and Google Calendar using the MCP protocol, supporting multiple Google accounts, email management, and calendar operations through natural language.Last updated -5TypeScriptMIT License
- AsecurityAlicenseAqualityEnables LLMs to perform travel-related tasks by interacting with Google Maps and travel planning services including location search, place details, and travel time calculations.Last updated -53621JavaScriptMIT License