Voraussetzungen
Ein funktionierender MCP-Workflow, der sich als Skript ausdrücken lässt – das Skript sollte die MCP-Abfrage ausführen, die Ausgabe erfassen und liefern. Siehe wie man MCP-Berichte an Telegram, Discord oder E-Mail sendet.
Ein Cryptohopper MCP API-Schlüssel, der als Umgebungsvariable oder Geheimnis gespeichert ist. Hardcode ihn niemals im Skript – siehe Best Practices für die Sicherheit von API-Schlüsseln.
Das Grundmuster
Alle drei Planungs-Systeme umschließen dasselbe Skript. Die Struktur ist immer: MCP-Abfrage ausführen → Ausgabe erfassen → liefern. Stelle sicher, dass Umgebungsvariablen gesetzt sind und die Ausgabe in eine Protokolldatei geschrieben wird.
# /home/you/scripts/daily_digest.py
import os
import requests
API_KEY = os.environ["CRYPTOHOPPER_MCP_KEY"]
TELEGRAM_TOKEN = os.environ["TELEGRAM_BOT_TOKEN"]
TELEGRAM_CHAT_ID = os.environ["TELEGRAM_CHAT_ID"]
def run_mcp_workflow(prompt: str) -> str:
# Dein MCP-Client-Bibliotheksaufruf hier – der den Berichtstext erstellt.
...
def send_telegram(text: str) -> None:
requests.post(
f"https://api.telegram.org/bot{TELEGRAM_TOKEN}/sendMessage",
json={"chat_id": TELEGRAM_CHAT_ID, "text": text, "parse_mode": "Markdown"},
).raise_for_status()
if __name__ == "__main__":
prompt = open("/home/you/prompts/daily_digest.txt").read()
report = run_mcp_workflow(prompt)
send_telegram(report)
Einrichtung – cron (macOS / Linux)
Teste das Skript zuerst manuell
export CRYPTOHOPPER_MCP_KEY="..."
export TELEGRAM_BOT_TOKEN="..."
export TELEGRAM_CHAT_ID="..."
python3 /home/you/scripts/daily_digest.py
2. Bearbeite deine crontab
Führe crontab -e aus und füge den folgenden Eintrag hinzu. Cron übernimmt nicht die Umgebung deiner Shell – deklariere Variablen am Anfang der crontab.
CRYPTOHOPPER_MCP_KEY=dein_key
TELEGRAM_BOT_TOKEN=dein_token
TELEGRAM_CHAT_ID=deine_chat_id
PATH=/usr/local/bin:/usr/bin:/bin
# Täglich um 08:00 Ortszeit
0 8 * * * /usr/bin/python3 /home/you/scripts/daily_digest.py >> /home/you/logs/daily.log 2>&1
3. Verifizieren
Überprüfe nach der geplanten Zeit die Protokolldatei. Eine leere Protokolldatei bedeutet, dass cron das Skript nicht ausgeführt hat. Fehler in der Protokolldatei bedeuten, dass es ausgeführt wurde, aber fehlgeschlagen ist.
bashtail -50 /home/you/logs/daily.log
Einrichtung – Aufgabenplanung (Windows)
Teste das Skript von Powershell aus
$env:CRYPTOHOPPER_MCP_KEY = "..."
$env:TELEGRAM_BOT_TOKEN = "..."
$env:TELEGRAM_CHAT_ID = "..."
python C:\Users\you\scripts\daily_digest.py
2. Lege einen Trigger fest
Konfiguriere unter Trigger den Zeitplan (täglich um 08:00, wöchentlich usw.).
3. Konfiguriere die Aktion
Unter Aktionen: Programm/Skript → python (oder voller Pfad zu python.exe). Argumente hinzufügen → C:\Users\you\scripts\daily_digest.py. Im Verzeichnis starten → C:\Users\you\scripts.
4. Umgebungsvariablen verwalten
Zwei Optionen: als systemweite Variablen über Systemsteuerung → System → Umgebungsvariablen festlegen oder sie mit der Bibliothek python-dotenv aus einer .env-Datei laden.
5. Verifizieren
Überprüfe das Ergebnis des letzten Laufs der Aufgabe in der Aufgabenplanung. 0x0 bedeutet Erfolg; alles andere ist ein Fehler.
Einrichtung – GitHub Actions (Cloud-gehostet)
Erstelle ein GitHub-Repository für deine geplanten Workflows
Füge dein Skript zum Repo hinzu. Committe keine Geheimnisse.
Füge Repository-Geheimnisse hinzu
Gehe zu Einstellungen → Geheimnisse und Variablen → Aktionen und füge hinzu:
CRYPTOHOPPER_MCP_KEY,TELEGRAM_BOT_TOKEN,TELEGRAM_CHAT_ID.
Erstelle die Workflow-Datei
# .github/workflows/daily_digest.yml
name: Tägliche Zusammenfassung
on:
schedule:
- cron: "0 7 * * *" # Täglich 07:00 UTC
workflow_dispatch: # Ermöglicht manuelles Auslösen
jobs:
run:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v5
with:
python-version: "3.12"
- run: pip install -r requirements.txt
- name: Scan zusammenfassen
env:
CRYPTOHOPPER_MCP_KEY: ${{ secrets.CRYPTOHOPPER_MCP_KEY }}
TELEGRAM_BOT_TOKEN: ${{ secrets.TELEGRAM_BOT_TOKEN }}
TELEGRAM_CHAT_ID: ${{ secrets.TELEGRAM_CHAT_ID }}
run: python scripts/daily_digest.py
GitHub Actions-Zeitpläne verwenden UTC – konvertiere deine lokale Zeit entsprechend. Überwache die Ausführungen im Actions-Tab des Repos; GitHub sendet dir eine E-Mail, wenn eine geplante Ausführung fehlschlägt.
Auswahl des Speicherorts für die Planung
Option | Am besten geeignet für | Nachteil |
cron | Lokale/persönliche Workflows auf einem stets laufenden Rechner | Beendet sich, wenn dein Laptop in den Ruhezustand wechselt |
Aufgabenplanung | Persönliche Workflows unter Windows | Umständliche Benutzeroberfläche, Verwaltung von Umgebungsvariablen ist hakelig |
GitHub Actions | Zuverlässig, cloud-basiert, für die meisten persönlichen Zwecke kostenlos | Ausführungen können bei hoher Auslastung von GitHub verzögert werden |
VPS + systemd/cron | Produktionsreife Zuverlässigkeit | Du verwaltest den Server |
Für die meisten Benutzer ist GitHub Actions die richtige Standardwahl: kostenlos, zuverlässig und die Protokolle sind auffindbar, wenn etwas schiefgeht.
Fehlerbehebung
Cron-Job wird nicht ausgeführt
Überprüfe grep CRON /var/log/syslog (Linux) oder log show --predicate 'process == "cron"' (macOS). Die häufigste Ursache ist ein fehlender PATH oder fehlende Umgebungsvariablen – cron läuft in einer minimalen Umgebung.
Cron läuft, aber das Skript schlägt sofort fehl
Fast immer eine fehlende Umgebungsvariable. Lass das Skript eine klare Fehlermeldung ausgeben und frühzeitig beenden, wenn eine erforderliche Umgebungsvariable fehlt – lass es nicht stillschweigend innerhalb des MCP-Aufrufs fehlschlagen.
Geplante Aufgabe wird zu einer anderen Zeit als erwartet ausgeführt
Zeitzonen. Cron verwendet die Zeitzone des Geräts; GitHub Actions verwendet UTC. Teste den Zeitplan zu einer vorhersagbaren Zeit, bevor du die echte Kadenz festlegst.
Protokolldatei ist leer, obwohl das Skript ausgeführt wird
Die Umleitung erfasst nicht stderr. Verwende >> log 2>&1 – die doppelten Pfeile hängen an; ein einzelner > überschreibt jeden Lauf und verliert die vorherige Ausgabe.
GitHub Actions-Zeitplan wird übersprungen
GitHub drosselt geplante Workflows während hoher Last und überspringt gelegentlich Läufe. Für Workflows, die zuverlässig ausgeführt werden müssen, verwende einen zweiten Planungsmechanismus als Backup oder zahle für einen dedizierten Runner. Für die meisten Workflows sind gelegentliche Überspringungen tolerierbar.
Geplante Ausführungen verbrauchen dein Kontingent schneller als erwartet
Jede Ausführung kostet. Überwache die Nutzung über die Anleitung zur Überwachung deiner Cryptohopper MCP-Ausgaben. Eine wöchentliche Summenprüfung des MCP-Nutzungsendpunkts fängt schnell außer Kontrolle geratene Zeitpläne ab.
Du wünschst dir eine Planungspräzision unterhalb einer Minute
Keiner dieser Planer bietet eine zuverlässige Präzision unterhalb einer Minute, und du brauchst sie selten wirklich. Wenn du glaubst, es zu brauchen, tritt einen Schritt zurück – der Workflow lässt sich wahrscheinlich besser als ereignisgesteuerter Webhook gestalten.
