mcp-telegram
mcp-telegram
Ein MCP-Server, der KI-Assistenten wie Claude über die User-API (MTProto) mit Ihrem echten Telegram-Konto verbindet. Kein Bot – Claude liest und sendet Nachrichten als Sie.
Erstellt mit gotd/td und dem offiziellen MCP Go SDK.
Telegram API Nutzungsbedingungen: Dieses Projekt verwendet die Telegram User-API. Sie müssen Ihre eigene
api_idundapi_hashvon my.telegram.org beziehen und die Telegram API Nutzungsbedingungen einhalten. Missbrauch der User-API (Spam, Massennachrichten, Scraping) kann zur Sperrung Ihres Kontos führen. Sie sind allein verantwortlich für die Nutzung dieses Tools.
Inhalt
Related MCP server: Telegram MCP Server
Funktionen
Tool | Was es tut | Erforderliche Berechtigung |
| Gibt aktuelle Kontoinformationen zurück | — |
| Listet Dialoge auf, die für die ACL-Whitelist sichtbar sind | — |
| Ruft Nachrichtenverlauf mit Paginierung, Datumsfilterung und Medien-Download ab |
|
| Sucht nach Nachrichten in einem Chat per Textabfrage, mit optionalem Absenderfilter |
|
| Sendet eine Textnachricht oder Datei, mit optionalem Reply-to |
|
| Leitet Nachrichten von einem Chat an einen anderen weiter |
|
| Speichert einen Nachrichtenentwurf (sendet nicht) |
|
| Markiert einen Chat als gelesen |
|
Zusätzliche Funktionen:
Versand von Dateien und Fotos
Weiterleiten von Nachrichten zwischen Chats
Antworten auf spezifische Nachrichten
Herunterladen von Fotos und Dokumenten aus dem Nachrichtenverlauf
Filtern des Verlaufs nach Datumsbereich (
since/until)Typisierte Peer-Referenzen (
user:ID,chat:ID,channel:ID), um ID-Kollisionen zu vermeidenLazy Peer Resolution – vermeidet
FLOOD_WAIT-Fehler beim StartGlobale Ratenbegrenzung auf RPC-Ebene
Was Sie damit tun können
Sobald die Verbindung hergestellt ist, können Sie Ihren KI-Assistenten Dinge fragen wie:
Nachrichten aufholen
"Überprüfe meine ungelesenen Telegram-Nachrichten und gib mir eine Zusammenfassung"
"Was hat @alice in den letzten 24 Stunden geschrieben?"
"Zeige mir Nachrichten aus dem Dev-Team-Chat seit Montag"
Antworten und kommunizieren
"Entwirf eine Antwort auf die letzte Nachricht von @bob – sende sie noch nicht ab"
"Sende 'klingt gut, treffen wir uns um 15 Uhr' an @alice"
"Antworte auf Nachricht 1234 im Projekt-Chat mit meinem Feedback"
Posteingang verwalten
"Markiere alles im News-Kanal als gelesen"
"Welche meiner Whitelist-Chats haben ungelesene Nachrichten?"
"Lade die Fotos aus den heutigen Nachrichten im Design-Chat herunter"
Recherchieren und analysieren
"Finde alle Nachrichten, die das Deployment in der letzten Woche erwähnen"
"Fasse die Diskussion im Team-Chat von gestern zusammen"
"Welche Dateien wurden diesen Monat im Projekt-Kanal geteilt?"
Vergleich mit chaindead/telegram-mcp
mcp-telegram | chaindead/telegram-mcp | |
Zugriffskontrolle | Default-Deny ACL-Whitelist mit granularen Berechtigungen pro Chat | Vollzugriff auf alle Chats |
Peer-Adressierung | Typisierte Referenzen ( | Nur numerische IDs (anfällig für Kollisionen) |
Konfiguration | YAML-Konfiguration mit Umgebungsvariablen-Erweiterung | CLI-Flags |
Start-Sicherheit | Lazy Peer Resolution (keine Massen-API-Aufrufe) | Eager Resolution (FLOOD_WAIT-Risiko) |
Ratenbegrenzung | Integrierte Token-Bucket-Middleware | Keine |
Dateisupport | Dateien/Fotos senden; Medien aus Verlauf herunterladen | Nur Text |
Antwort-Support | Ja | Nein |
Datumsfilterung | Ja | Nein |
Schnellstart
Voraussetzungen
Go 1.26+
Ein Telegram-Konto
API-Anmeldedaten von my.telegram.org (
api_idundapi_hash)
Installation
Homebrew (macOS / Linux):
brew install Prgebish/tap/mcp-telegramNPX (keine Installation erforderlich):
npx @prgebish/mcp-telegram serve --config config.yamlVorkompilierte Binärdateien (macOS / Linux / Windows):
Download von GitHub Releases.
Go install:
go install github.com/Prgebish/mcp-telegram/cmd/mcp-telegram@latestAus dem Quellcode:
git clone https://github.com/Prgebish/mcp-telegram.git
cd mcp-telegram
go build ./cmd/mcp-telegramDies erstellt mcp-telegram (oder mcp-telegram.exe unter Windows) im aktuellen Verzeichnis.
Authentifizierung
Führen Sie den Auth-Befehl einmal aus, um eine Sitzungsdatei zu erstellen. Sie werden nach Ihrer Telefonnummer, dem Login-Code und (falls aktiviert) Ihrem 2FA-Passwort gefragt.
macOS / Linux:
export TG_APP_ID=12345
export TG_API_HASH="your_api_hash"
mcp-telegram auth --config config.yamlWindows (PowerShell):
$env:TG_APP_ID = "12345"
$env:TG_API_HASH = "your_api_hash"
mcp-telegram.exe auth --config config.yamlWindows (cmd):
set TG_APP_ID=12345
set TG_API_HASH=your_api_hash
mcp-telegram.exe auth --config config.yamlKonfiguration
Erstellen Sie eine config.yaml:
telegram:
app_id: ${TG_APP_ID}
api_hash: ${TG_API_HASH}
session_path: ~/.config/mcp-telegram/session.json
acl:
chats:
- match: "@username"
permissions: [read, draft, mark_read]
- match: "user:123456789"
permissions: [read, send]
- match: "channel:2225853048"
permissions: [read, mark_read]
limits:
max_messages_per_request: 50
max_dialogs_per_request: 100
rate:
requests_per_second: 2.0
burst: 3
logging:
level: infoUmgebungsvariablen in ${...}-Syntax werden beim Laden erweitert.
Client-Konfiguration
Der Server kommuniziert über stdio – Ihr MCP-Client startet und verwaltet den Prozess.
Claude Code (CLI – über Befehl hinzufügen):
claude mcp add telegram -- /path/to/mcp-telegram serve --config /path/to/config.yamlClaude Desktop / Claude Code (~/.claude.json oder claude_desktop_config.json):
{
"mcpServers": {
"telegram": {
"command": "/path/to/mcp-telegram",
"args": ["serve", "--config", "/path/to/config.yaml"],
"env": {
"TG_APP_ID": "12345",
"TG_API_HASH": "your_api_hash"
}
}
}
}Cursor (Einstellungen > MCP-Server > Hinzufügen):
{
"telegram": {
"command": "/path/to/mcp-telegram",
"args": ["serve", "--config", "/path/to/config.yaml"],
"env": {
"TG_APP_ID": "12345",
"TG_API_HASH": "your_api_hash"
}
}
}Konfiguration
ACL
Die ACL ist Default-Deny. Nur Chats, die explizit in acl.chats aufgeführt sind, sind zugänglich, und nur mit den von Ihnen angegebenen Berechtigungen.
Unterstützte Suchmuster:
Muster | Beispiel | Beschreibung |
|
| Abgleich nach Telegram-Benutzername (Groß-/Kleinschreibung ignoriert) |
|
| Abgleich nach Telefonnummer |
|
| Abgleich eines Benutzers nach numerischer ID |
|
| Abgleich eines Gruppen-Chats nach numerischer ID |
|
| Abgleich eines Kanals oder einer Supergruppe nach numerischer ID |
Berechtigungstypen: read, send, draft, mark_read.
Wenn derselbe Peer auf mehrere Regeln passt (z. B. über @username und user:ID), werden die Berechtigungen zusammengeführt – sie überschreiben sich nie gegenseitig.
Ratenbegrenzung
Der Abschnitt limits.rate konfiguriert einen globalen Token-Bucket, der alle Telegram-RPC-Aufrufe umschließt:
requests_per_second– anhaltende Rate (Standard: 2.0)burst– maximale Burst-Größe (Standard: 3)
Medien-Download
media:
download: [photo, document, video, voice, audio]
directory: ~/telegram-media
allowed_upload_dirs:
- ~/Documents
- ~/DownloadsWenn konfiguriert, lädt tg_history Mediendateien automatisch in das angegebene Verzeichnis herunter. Der Parameter download_to kann den Pfad überschreiben, jedoch nur in media.directory oder dessen Unterverzeichnisse.
allowed_upload_dirs schränkt ein, aus welchen Verzeichnissen tg_send Dateien lesen darf. Der Dateiversand ist deaktiviert, sofern dies nicht konfiguriert ist.
Sicherheit
Default-Deny ACL – kein Chat ist zugänglich, sofern nicht explizit auf der Whitelist
Dateisystem-Grenze –
tg_sendkann nur Dateien ausallowed_upload_dirslesen;download_toist auf Unterverzeichnisse vonmedia.directorybeschränktSitzungsdatei-Berechtigungen – erzwungen auf
0600(nur Besitzer kann lesen/schreiben)Keine Protokollierung von Geheimnissen – API-Hashes, Sitzungstoken und Auth-Keys werden niemals in Protokolle geschrieben
Keine Offenlegung von Access-Hashes – interne Telegram-Access-Hashes werden aus allen Tool-Ausgaben entfernt
Ratenbegrenzung – verhindert versehentlichen API-Missbrauch
Lokale Zeitzone – Datumsfilter verwenden Ihre Systemzeitzone, nicht UTC
Lizenz
Wenn Sie dieses Projekt nützlich finden, geben Sie ihm bitte einen Stern – es hilft anderen, es zu entdecken.
This server cannot be deployed
Maintenance
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
- QuallaaOAuthcom.quallaa
Talk to your public-facing AI from any MCP client — Claude, ChatGPT, Cursor, Cline, Windsurf.
MCP server for Gainium — manage trading bots, deals, and balances via AI assistants
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceA safe-by-default MCP server for real Telegram accounts powered by TDLib, enabling AI agents to read and act on your account with read-only mode and human approval for destructive actions.7Apache 2.0
- AlicenseAqualityAmaintenanceMCP server that acts as a gateway to Telegram, providing AI-optimized tools for messaging, search, and chat management via MTProto. Supports multi-user authentication with QR login and HTTP/stdio transports.82MIT
- AlicenseNot gradedqualityCmaintenanceAn MCP server that automates a single Telegram user account via the Telegram user API, enabling chat listing, reading/sending messages, searching, and additional actions through natural language.12 npmMIT
- AlicenseAqualityBmaintenanceAn MCP server that gives AI agents full access to a personal Telegram account via MTProto, enabling chat reading, history search, messaging, media handling, and automations.79MIT