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
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, Datumsfilter und Medien-Download ab |
|
| Sucht Nachrichten in einem Chat nach 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 alle Nachrichten 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 |
Datei-Unterstützung | Versand von Dateien, Fotos; Download von Medien aus Verlauf | Nur Text |
Antwort-Unterstützung | Ja | Nein |
Datumsfilter | 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-telegramVorkompilierte 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 Servers > 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 zutrifft (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 Medien automatisch in das angegebene Verzeichnis herunter. Der Parameter download_to kann den Pfad überschreiben, jedoch nur innerhalb von media.directory oder dessen Unterverzeichnissen.
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 er nicht explizit auf der Whitelist steht
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, Sitzungs-Token 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 installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
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/Prgebish/mcp-telegram'
If you have feedback or need assistance with the MCP directory API, please join our Discord server