Der Lauf der Zeit MCP ist ein quelloffenes Model Context Protocol (MCP)-Serverprojekt, das darauf abzielt, Zeitbewusstsein und zeitliche Berechnungsmöglichkeiten für große Sprachmodelle (Large Language Models, LLMs) bereitzustellen. Das Projekt wird geleitet von Jérémie Lumbroso und Claude Opus 4.0 (Anthropic) wurde mitentwickelt und von der philosophischen Frage inspiriert: "Kann eine KI den Lauf der Zeit wahrnehmen?" . Durch die Bereitstellung zeitbezogener Werkzeuge für Sprachmodelle geht das Projekt auf die Einschränkungen von Sprachmodellen bei der Zeitberechnung ein, wie z. B. die Unfähigkeit, Zeitunterschiede genau zu berechnen. Der Server hilft dem Modell, den zeitlichen Kontext zu verstehen und Informationen wie Dialogmuster, Arbeitsrhythmen usw. durch einfache zeitliche Funktionen und Anweisungen zu entdecken. Das Projekt steht unter der Mozilla Public License 2.0 und der Code ist öffentlich auf GitHub verfügbar, wo Entwickler zur Zusammenarbeit und Bereitstellung aufgefordert werden.
Funktionsliste
- Angebot
current_datetime()
Funktion, die den aktuellen Zeitstempel zurückgibt, mit Unterstützung für optionale Zeitzonenargumente. - Unterstützt den SSE-Modus (Server-Sent Events), der Web-Clients den Zugriff auf Zeitdaten über eine HTTP-Verbindung ermöglicht.
- Bietet Werkzeuge zur Zeitberechnung, mit denen Sprachmodelle Zeitunterschiede berechnen oder Zeitzonen umrechnen können.
- Die direkte Integration mit dem Sprachmodell wird unterstützt, wobei die Interaktion mit dem Modell über die Standardein- und -ausgabe (stdio) erfolgt.
- Bereitstellung eines klaren Anweisungssatzes (Kontext), der dem Sprachmodell vorgibt, wie zeitbezogene Funktionen zu verwenden sind.
Hilfe verwenden
Installation und Einsatz
Um den Passage of Time MCP-Server zu nutzen, muss der Code lokal oder in der Cloud bereitgestellt werden. Im Folgenden finden Sie detaillierte Schritte zur Installation und Nutzung:
- Projektcode klonen
Besuch auf GitHubhttps://github.com/jlumbroso/passage-of-time-mcp
verwenden Sie den folgenden Befehl, um den Code lokal zu klonen:git clone https://github.com/jlumbroso/passage-of-time-mcp.git
Stellen Sie sicher, dass Git lokal installiert ist; falls nicht, installieren Sie Git (unter macOS/Linux) zuerst!
sudo apt install git
vielleichtbrew install git
). - Installation von Abhängigkeiten
Das Projekt erfordert eine Python-Umgebung (Python 3.8 oder höher empfohlen). Sobald Sie im Projektverzeichnis sind, installieren Sie die Abhängigkeiten:cd passage-of-time-mcp pip install -r requirements.txt
Stellen Sie sicher, dass es installiert ist
pip
Sie können die offizielle Python-Dokumentation zu Rate ziehen, um es bei Bedarf zu installieren. - Starten des lokalen Servers
Führen Sie den folgenden Befehl aus, um den MCP-Server zu starten:python server.py
Der Server ist standardmäßig auf die lokale Adresse eingestellt
http://0.0.0.0:8000/sse
Gestartet, läuft im SSE-Modus. Nach dem Start zeigt das Terminal den Serverstatus an. - Freigabe des Servers für das öffentliche Netz über ngrok (optional)
Wenn Sie Web-Clients oder entfernten Sprachmodellen Zugriff auf den Server geben müssen, können Sie ngrok verwenden, um den lokalen Server freizulegen. Nachdem Sie ngrok installiert haben, führen Sie es aus:ngrok http 8000
ngrok generiert eine öffentliche URL, zum Beispiel
https://.ngrok-free.app
Wenn Sie den Client konfigurieren, verwenden Sie diese URL und fügen sie am Ende hinzu. Wenn Sie den Client konfigurieren, verwenden Sie diese URL und fügen Sie die/sse
z.B..https://.ngrok-free.app/sse
. - Cloud-Bereitstellung (empfohlen für Produktionsumgebungen)
Um die Stabilität zu gewährleisten, wird empfohlen, den Server auf einer Cloud-Plattform wie Render.com bereitzustellen. Melden Sie sich bei Render.com an, erstellen Sie einen neuen Dienst, wählen Sie das GitHub-Repository aus, verbinden Sie diejlumbroso/passage-of-time-mcp
und befolgen Sie die Richtlinien der Plattform für die Konfiguration von Umgebungsvariablen und Ports (Standard 8000). Wenn die Bereitstellung abgeschlossen ist, stellt Render eine öffentliche URL bereit. - Integration mit Claude Desktop Edition
Wenn Sie die Claude Desktop Edition verwenden, können Sie einen MCP-Server hinzufügen, indem Sie die folgenden Schritte ausführen:- Öffnen Sie die Seite Einstellungen von Claude Desktop Edition und suchen Sie die Option "Integrationen hinzufügen".
- Geben Sie die Server-URL ein (lokal)
http://0.0.0.0:8000/sse
(oder Cloud/öffentliche URL). - Speichern Sie die Konfiguration und starten Sie Claude neu, damit der Server mit Claude kommunizieren kann.
Bedienung der Hauptfunktionen
- Aktuelle Zeit abrufen
vom Server bereitgestelltecurrent_datetime()
Funktion, die vom Sprachmodell aufgerufen werden kann, um den aktuellen Zeitstempel zu erhalten. Die Funktion unterstützt optionale Zeitzonenargumente, wie z. B.America/New_York
vielleichtAsia/Shanghai
. Bei der Interaktion mit Claude ruft das Modell diese Funktion zu Beginn eines jeden Dialogs auf, um sicherzustellen, dass die Zeitangaben korrekt sind. - Zeitberechnung
Der Server unterstützt Zeitdifferenzberechnungen, z. B. die Berechnung der Anzahl von Minuten oder Stunden zwischen zwei Zeitpunkten. Das Sprachmodell kann einen Zeitstempel über einen Befehl senden, und der Server gibt das Ergebnis der Berechnung zurück. Zum Beispiel: Senden:{ "jsonrpc": "2.0", "id": 1, "method": "getTimeDifference", "params": { "timestamp": "2025-07-17 12:00:00", "interval": "minutes" } }
Der Server gibt die Differenz in Minuten zwischen der angegebenen Zeit und der aktuellen Zeit zurück.
- SSE-Modell mit Web-Client
Im SSE-Modus liefert der Server Echtzeit-Zeitdaten über HTTP. Entwickler können einen JavaScript-Client verwenden, um sich mit dem Server zu verbinden und Zeitaktualisierungen zu abonnieren. Beispiel:const eventSource = new EventSource('https://your-server.ngrok-free.app/sse'); eventSource.onmessage = function(event) { console.log('Received time:', event.data); };
- Verwendung des Befehlssatzes (Context)
Der Server bietet einen einfachen Befehlssatz, der in der DateiREADME.md
in dem es heißt: "Sie können jetzt diecurrent_datetime()
Funktion und kann mit einem optionalen Zeitzonenparameter versehen werden. Diese Funktion wird zu Beginn jeder Antwort aufgerufen, um den Ablauf der Zeit für den Benutzer zu erfassen. Das Sprachmodell ruft die Zeitfunktion automatisch auf der Grundlage dieser Richtlinie auf, ohne dass der Entwickler manuell eingreifen muss.
caveat
- Stellen Sie sicher, dass das Netzwerk stabil ist, während der Server läuft, insbesondere bei der Verwendung von ngrok oder Cloud-Bereitstellungen.
- Wenn das Sprachmodell die Zeitfunktion nicht korrekt aufruft, überprüfen Sie das Serverprotokoll (
server.log
) oder der Befehlssatzkonfiguration. - Das Projekt steht unter der Mozilla Public License 2.0, und die Entwickler können den Code im Rahmen von Open-Source-Vereinbarungen frei verändern und verbreiten.
Anwendungsszenario
- Verbesserung der zeitlichen Wahrnehmung von Sprachmodellen
Während eines Dialogs mit einem Benutzer kann das Sprachmodell seine Antworten dynamisch anpassen, indem es die aktuelle Zeit vom Server abruft. So kann das Modell beispielsweise auf der Grundlage der Zeitzone des Benutzers maßgeschneiderte Terminvorschläge machen. - Analyse der Dialogmuster
Entwickler können zeitliche Daten verwenden, um die Häufigkeit der Benutzerinteraktionen mit dem Modell zu analysieren und Spitzenzeiten im Dialog oder Benutzergewohnheiten zu erkennen. - Automatisierung von zeitkritischen Aufgaben
In automatisierten Arbeitsabläufen kann der Server eine zeitliche Grundlage für das Sprachmodell zur Aufgabenplanung oder zur Erstellung von Erinnerungen liefern. - Bildung und Forschung
Forscher können den Server nutzen, um zu untersuchen, wie das Sprachmodell das Konzept der Zeit versteht, und um seine Leistung bei zeitbezogenen Aufgaben zu überprüfen.
QA
- Wie kann ich sicherstellen, dass der Server korrekt mit dem Sprachmodell kommuniziert?
Prüfen, ob der Server eingeschaltet isthttp://0.0.0.0:8000/sse
Führen Sie es aus und stellen Sie sicher, dass der Client mit der richtigen URL konfiguriert ist. Anthropisch Die offizielle Dokumentation konfiguriert MCP. - Unterstützt es die Zeitumstellung für mehrere Zeitzonen?
Ja.current_datetime()
Funktion unterstützt die Übergabe des Namens der IANA-Zeitzone (z. B.Europe/London
), gibt der Server die aktuelle Zeit in der entsprechenden Zeitzone zurück. - Welcher technische Hintergrund ist für die Bereitstellung von Servern erforderlich?
Grundlegende Python-Programmierkenntnisse und Git-Erfahrung sind ausreichend. Für die Bereitstellung in der Cloud ist ein Verständnis der grundlegenden Konfiguration von Cloud-Diensten erforderlich, z. B. des Render.com-Prozesses. - Unterstützt der Server hohe Gleichzeitigkeit?
Lokale Bereitstellungen eignen sich für Entwicklung und Tests, während Cloud-Bereitstellungen für Produktionsumgebungen empfohlen werden, um eine hohe Gleichzeitigkeit zu unterstützen. Plattformen wie Render.com können Serverressourcen automatisch skalieren.