telegram-bot-mcp
telegram-bot-mcp
Ein MCP-Server, der es Claude ermöglicht, einen Telegram-Kanal über die Telegram Bot API zu verwalten – Abonnentenwachstum Tag für Tag verfolgen und Beiträge veröffentlichen, bearbeiten, anpinnen oder löschen.
🇮🇷 راهنمای فارسی · Bereitstellungsanleitung · راهنمای دپلوی
Was ist das?
Die Telegram Bot API ist eine einfache HTTPS-API. Dieses Repository kapselt sie im Model Context Protocol, sodass ein KI-Assistent sie als Werkzeuge aufrufen kann – „Wie hat sich der Kanal diese Woche entwickelt?“ statt curl https://api.telegram.org/bot.../getChatMemberCount.
Es wird in zwei Formen ausgeliefert, die auf denselben Werkzeugdefinitionen basieren:
Remote-Server ( | Lokales Plugin ( | |
Läuft auf | Val Town (oder ein beliebiger Deno-kompatibler Host) | Dein eigener Rechner |
Verbindung über | Claude Custom Connector (OAuth) | Claude Code-Plugin (stdio) |
Funktioniert in | Claude Web, Desktop, Mobile, geplante Aufgaben | Claude Code CLI |
Persistenz | Val-Town-Blob-Speicher | CSV-Datei auf der Festplatte |
Authentifizierung | Integriertes OAuth 2.1 + Passwortschutz | Lokale Konfigurationsdatei |
Computer muss eingeschaltet sein | Nein | Ja |
Wähle den Remote-Server, wenn du tägliche Berichte möchtest, die ohne dich laufen. Wähle das Plugin, wenn du nur Claude Code nutzt und bevorzugst, dass nichts deinen Rechner verlässt.
Werkzeuge
Beide Varianten stellen dieselben acht Werkzeuge bereit.
Werkzeug | Beschreibung |
| Titel, Benutzername, Beschreibung, Abonnentenanzahl, Admin-Anzahl, Einladungslink |
| Nur Abonnentenanzahl – schnell |
| Heutige Anzahl erfassen, Änderung seit dem letzten Snapshot zurückgeben |
| Erfasste Snapshots mit täglichen Änderungen und einer Zusammenfassung der Nettoveränderung |
| Einen Textbeitrag veröffentlichen (HTML/Markdown, Optionen: still, ohne Vorschau) |
| Den Text eines Beitrags ersetzen |
| Einen Beitrag anhand der Nachrichten-ID löschen |
| Einen Beitrag anpinnen oder die Anhebung aufheben |
Schnellstart (Remote-Server)
Erstelle einen Bot mit @BotFather →
/newbot→ kopiere den Token.Füge den Bot als Administrator deines Kanals hinzu.
Erstelle ein HTTP-val auf val.town und füge
remote/telegram-mcp.tsein.Setze drei Umgebungsvariablen in der Seitenleiste des Vals:
TELEGRAM_BOT_TOKEN,TELEGRAM_CHANNEL,MCP_PASSWORD.In Claude: Einstellungen → Connectors → Custom Connector hinzufügen →
https://<your-val>.web.val.run/mcp→ gib dein Passwort ein.
Eine vollständige Anleitung, einschließlich des lokalen Plugin-Pfads und der Fehlerbehebung: docs/deployment.md.
Sicherheit
In diesem Repository sind keine Anmeldeinformationen eingecheckt. config.json und .env sind gitignoriert; nur .example-Dateien werden versioniert. Bevor du einen Fork pushst, prüfe mit git status, dass keiner von beiden auftaucht.
Der Remote-Server implementiert einen vollständigen OAuth-2.1-Autorisierungsablauf, anstatt offen im Internet zu liegen:
Anfragen ohne gültiges Bearer-Token erhalten
401mit einemWWW-Authenticate-Header, der auf die Ressourcen-Metadaten verweist, gemäß RFC 9728.Clients registrieren sich dynamisch (RFC 7591); es müssen keine Client-Secrets verteilt werden.
Autorisierungscodes werden mit PKCE (S256) geschützt, und Redirect-URIs werden gegen die registrierte Menge validiert.
Access- und Refresh-Tokens sind HMAC-SHA256-signiert und zustandslos – 24 Stunden Access, 30 Tage Refresh.
Der Zustimmungsbildschirm ist durch
MCP_PASSWORDgeschützt, das du selbst wählst.
Dein Bot-Token bleibt in den Umgebungsvariablen des Hosts und wird von keinem Werkzeug zurückgegeben.
Behandle MCP_PASSWORD wie ein Passwort für deinen Kanal. Jeder, der es hat, kann sich verbinden und Beiträge veröffentlichen.
Einschränkungen
Die Bot API meldet nur Abonnentenzahlen. Beitragsaufrufe, Weiterleitungen, Reichweite und die offiziellen Kanalstatistik-Diagramme von Telegram sind für Bots nicht verfügbar – diese erfordern einen MTProto-Client, der mit einem Benutzerkonto angemeldet ist, das den Kanal verwaltet.
Ein Bot kann im Allgemeinen nur Nachrichten bearbeiten, die er selbst gesendet hat. Telegram definiert ein Administratorrecht can_edit_messages („Nachrichten anderer Benutzer bearbeiten; nur für Kanäle“), aber das Verhalten von Bots gegenüber Beiträgen, die von menschlichen Administratoren veröffentlicht wurden, ist nicht klar dokumentiert – teste es an deinem eigenen Kanal, bevor du dich darauf verlässt. Beim Löschen sieht es anders aus: can_delete_messages deckt ausdrücklich Nachrichten anderer Benutzer ab.
Der Wachstumsvergleich erfordert, dass der Verlaufsspeicher zwischen den Ausführungen erhalten bleibt. Bei Val Town ist das der Blob-Speicher, und er bleibt erhalten. Beim lokalen Plugin ist es eine CSV-Datei – bewahre sie an einem dauerhaften Ort auf, nicht in einem temporären Verzeichnis.
Repository-Struktur
remote/telegram-mcp.ts Remote MCP server (Val Town HTTP val, Deno)
plugin/ Claude Code plugin
.claude-plugin/plugin.json Plugin manifest
.mcp.json stdio MCP server registration
server/telegram_mcp_server.py MCP server (Python 3, stdlib only)
skills/telegram-channel-report/ Skill that turns tools into a readable report
config.example.json Template — copy to config.json
tests/ Test suite for the remote server
docs/ Deployment guides (English / فارسی)Tests
npm testErfordert Node 22.6+. Zweiundzwanzig Prüfungen decken den OAuth-Ablauf ab (401-Herausforderung, Discovery-Dokumente, dynamische Registrierung, PKCE-Ablehnung, Token- und Refresh-Grants, Ablehnung gefälschter Token) und das MCP-Protokoll (initialize, Benachrichtigungen, Werkzeugliste, Wachstums-Delta-Arithmetik, Werkzeug-Fehlerpfade). Die Telegram-API ist simuliert; es sind weder Netzwerkzugriff noch ein echtes Bot-Token erforderlich.
Die Testsuite läuft gegen die bereitgestellte Quelle selbst – tests/build.mjs schreibt genau eine Zeile um, den Val-Town-Blob-Import, und ändert nichts anderes.
Lizenz
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 Connectors
Telegram bridge for your MCP-compatible agent. Bidirectional, no LLM in our stack.
Telegram channel analytics and statistics for AI agents, pay-per-call in USDC via x402.
Multi-tenant Telegram gateway for AI agents — HTTP+stdio, 8 tools, MTProto User API
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/eqba1/telegram-bot-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server