Telegram Notification MCP Server
Telegram Notification MCP Server
Ein MCP-Server (Model Context Protocol), der Benachrichtigungen an Telegram sendet, wenn Claude Code Aufgaben abschließt. Entwickelt mit TypeScript unter Verwendung des Cloudflare Agents SDK und bereitstellbar auf Cloudflare Workers.
📢 Bevorzugen Sie Discord? Dann schauen Sie sich Discord Notification MCP für Discord-Benachrichtigungen an.
Funktionen
🤖 MCP-Tool: Stellt ein
send_telegram_message-Tool zum Senden von Benachrichtigungen bereit🚀 Cloudflare Workers: Läuft serverlos mit globaler Verteilung
🔐 Authentifiziert: Erfordert ein Bearer-Token, das als Cloudflare-Secret gespeichert ist
🌐 Streamable HTTP: Verwendet den aktuellen zustandslosen MCP-Transport
💬 Nachrichtenformatierung: Unterstützt Markdown- und HTML-Formatierung
📝 Formatierung: Unterstützt Markdown- und HTML-Nachrichtenformatierung
Related MCP server: mcp-telegram-claudecode
Architektur
Dieser Server implementiert die MCP-Spezifikation mithilfe des Cloudflare Agents SDK:
POST /mcp: Zustandsloser Streamable-HTTP-Endpunkt für die MCP-Kommunikation
GET /sse: Gibt
410 Gonezurück; Legacy-SSE-Clients müssen auf/mcpmigrierenEntwickelt mit TypeScript, MCP SDK und Cloudflare Agents SDK
Korrekte JSON-RPC-2.0-Fehlerbehandlung
Node.js-Kompatibilitätsmodus aktiviert
Einrichtung
Voraussetzungen
Telegram-Bot: Erstellen Sie einen Bot über @BotFather und erhalten Sie Ihr Bot-Token
Chat-ID: Erhalten Sie Ihre Chat-ID, indem Sie Ihrem Bot eine Nachricht senden und Folgendes aufrufen:
https://api.telegram.org/bot<YOUR_BOT_TOKEN>/getUpdatesCloudflare-Konto: Registrieren Sie sich unter cloudflare.com
Installation
Klonen Sie dieses Repository
Installieren Sie die Abhängigkeiten:
pnpm install
Konfiguration
Erstellen Sie anhand des Beispiels eine
.dev.vars-Datei:cp .dev.vars.example .dev.varsBearbeiten Sie dann
.dev.varsmit Ihrem Bot-Token und Ihrer Chat-ID. Diese Datei wird sowohl für die lokale Entwicklung als auch für die Bereitstellung verwendet.Für die Produktionsbereitstellung generieren Sie ein MCP-Bearer-Token und richten Sie Cloudflare-Secrets ein:
openssl rand -hex 32 pnpm exec wrangler secret put BOT_TOKEN pnpm exec wrangler secret put DEFAULT_CHAT_ID # Optional pnpm exec wrangler secret put MCP_AUTH_TOKENHinweis: DEFAULT_CHAT_ID ist optional. Wenn sie nicht festgelegt ist, müssen Sie beim Aufruf des
send_telegram_message-Tools einen chat_id-Parameter angeben.Aktualisieren Sie bei Bedarf
wrangler.tomlmit dem Namen Ihres Workers
Bereitstellung
Bereitstellung auf Cloudflare Workers:
Bereitstellung mit Wrangler:
# First set secrets
pnpm exec wrangler secret put BOT_TOKEN
pnpm exec wrangler secret put DEFAULT_CHAT_ID # Optional
# Then deploy
pnpm run deployAlternative: Kontinuierliche Bereitstellung
Sie können die kontinuierliche Bereitstellung auch direkt über das Cloudflare-Dashboard einrichten. Weitere Informationen zur Git-Integration mit Cloudflare
Konfiguration von Claude Code
Fügen Sie den MCP-Server mithilfe von Streamable HTTP und demselben Bearer-Token zu Claude Code hinzu:
# For production deployment
claude mcp add --scope user --transport http \
--header "Authorization: Bearer <MCP_AUTH_TOKEN>" \
telegram-notify https://your-worker-name.workers.dev/mcp
# For local development
claude mcp add --transport http \
--header "Authorization: Bearer <MCP_AUTH_TOKEN>" \
telegram-notify http://localhost:8787/mcpDas Token ist der Client-Zugriff auf den MCP-Endpunkt, nicht das Telegram-Bot-Token. Setzen Sie das Bot-Token niemals in die MCP-Konfiguration von Claude.
Sie können die Konfiguration wie folgt überprüfen:
claude mcp listVerwendung
Nach der Konfiguration kann Claude Code Benachrichtigungen an Ihr Telegram senden, wann immer Sie sie benötigen.
Verfügbares Tool
send_telegram_message: Senden Sie eine Benachrichtigungsnachricht an Telegram
text(erforderlich): Der zu sendende Nachrichtentextchat_id(optional): Telegram-Chat-ID (verwendet DEFAULT_CHAT_ID, falls nicht angegeben)parse_mode(optional): „Markdown" oder „HTML" für die Nachrichtenformatierungdisable_notification(optional): Nachricht stumm senden
Beispielverwendung:
// Uses DEFAULT_CHAT_ID from environment
await send_telegram_message({ text: "Task completed!" })
// Send to specific chat (overrides DEFAULT_CHAT_ID)
await send_telegram_message({ text: "Hello!", chat_id: "123456789" })
// Send with Markdown formatting
await send_telegram_message({
text: "*Bold* and _italic_ text",
parse_mode: "Markdown"
})Wann Sie Benachrichtigungen erhalten
Claude Code sendet Benachrichtigungen, wenn:
Sie explizit darum bitten: „benachrichtige mich, wenn fertig" oder „lass es mich auf Telegram wissen"
Fehler während der Ausführung auftreten
Wichtige Meilensteine erreicht werden
Eine Benutzereingabe oder ein Eingriff erforderlich ist
Beispielszenarien
# You say: "Deploy to production and notify me when done"
# Result: 🤖 Claude Code Notification
# Deployment completed successfully! The app is now live.
# You say: "Run all tests and let me know the results"
# Result: 🤖 Claude Code Notification
# All tests passed! 52/52 tests successful.
# You say: "Process this data and notify me if there are any errors"
# Result: 🤖 Claude Code Notification
# Error: Failed to process row 451 - invalid date formatBeispiel-Benachrichtigungen
CLAUDE.md-Beispiele
Um Claude Code zu ermutigen, Telegram-Benachrichtigungen effektiv zu nutzen, fügen Sie diese zu Ihrer CLAUDE.md hinzu:
# Telegram Notifications
Use the mcp__telegram-notify__send_telegram_message tool to send notifications to Telegram.
- Always send a Telegram notification when:
- A task is fully complete
- You need user input to continue
- An error occurs that requires user attention
- The user explicitly asks for a notification (e.g., "notify me", "send me a message", "let me know")
- Include relevant details in notifications:
- For builds/tests: success/failure status and counts
- For errors: the specific error message and file location
- Use concise, informative messages like:
- "✅ Build completed successfully (2m 34s)"
- "❌ Tests failed: 3/52 failing in auth.test.ts"
- "⚠️ Need permission to modify /etc/hosts"Entwicklung
Lokal ausführen:
# Start local development server
pnpm devFür die lokale Entwicklung lädt Wrangler Umgebungsvariablen automatisch aus Ihrer .dev.vars-Datei.
Führen Sie vor der Bereitstellung alle Prüfungen aus:
pnpm buildDieser Befehl führt Folgendes aus:
pnpm format- Code mit Biome formatierenpnpm lint:fix- Lint-Probleme behebenpnpm cf-typegen- Cloudflare-Typen generierenpnpm type-check- TypeScript-Typen prüfen
Server testen:
# An unauthenticated request must return HTTP 401
curl -i http://localhost:8787/mcp
# Claude Code performs the authenticated MCP handshake and health check
claude mcp listDebugging
Authentifizierung testen
Sie können überprüfen, dass der Endpunkt Anfragen ohne sein Bearer-Token ablehnt:
curl -i http://localhost:8787/mcpDies sollte 401 Unauthorized zurückgeben. Verwenden Sie dann claude mcp list, um eine authentifizierte Client-Verbindung zu überprüfen.
Häufige Probleme
401 Unauthorized: Stellen Sie sicher, dass der
Authorization: Bearer ...-Header des Clients mit dem Cloudflare-SecretMCP_AUTH_TOKENübereinstimmt.MCP verbindet sich erneut oder es kommt zu Zeitüberschreitungen: Stellen Sie sicher, dass der Client den HTTP-Transport und den
/mcp-Endpunkt verwendet, nicht den eingestellten/sse-Endpunkt.Telegram-Benachrichtigungen werden nicht gesendet: Überprüfen Sie, ob
BOT_TOKENundDEFAULT_CHAT_IDin der Worker-Umgebung korrekt festgelegt sind.
Technische Details
Sprache: TypeScript (ES2021-Ziel)
Laufzeit: Cloudflare Workers mit Node.js-Kompatibilität
Protokoll: MCP (Model Context Protocol)
Transport: Zustandsloses Streamable HTTP
Observability: Für Monitoring aktiviert
Referenzen
Dieses Projekt wurde anhand der folgenden Anleitungen erstellt:
Lizenz
MIT
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables Claude Code to send notifications to Discord channels via webhooks when tasks complete, errors occur, or user intervention is needed. Deployed serverlessly on Cloudflare Workers with support for rich message formatting and embeds.8MIT
- AlicenseAqualityDmaintenanceEnables Claude Code to send and receive messages via Telegram for remote interaction and approval of sensitive operations.8187MIT
- FlicenseNot gradedqualityDmaintenanceSends Telegram alerts for Claude Code status updates, including notifications for task completion, user requests, and custom status updates with normal or urgent priority.1
- FlicenseNot gradedqualityDmaintenanceEnables Claude Code to send messages to and receive instructions from Telegram, with task tracking and persistent storage.
Related MCP Connectors
Telegram bridge for your MCP-compatible agent. Bidirectional, no LLM in our stack.
Multi-tenant Telegram gateway for AI agents — HTTP+stdio, 8 tools, MTProto User API
Let your AI agent notify you by email, Slack, Discord, or webhook. One tool: send_notification.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/kstonekuan/telegram-notification-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server