Skip to main content
Glama
Prgebish

mcp-telegram

by Prgebish

mcp-telegram

MCP Server Go License: MIT

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_id und api_hash von 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

tg_me

Gibt aktuelle Kontoinformationen zurück

tg_dialogs

Listet Dialoge auf, die für die ACL-Whitelist sichtbar sind

tg_history

Ruft Nachrichtenverlauf mit Paginierung, Datumsfilterung und Medien-Download ab

read

tg_search

Sucht nach Nachrichten in einem Chat per Textabfrage, mit optionalem Absenderfilter

read

tg_send

Sendet eine Textnachricht oder Datei, mit optionalem Reply-to

send

tg_forward

Leitet Nachrichten von einem Chat an einen anderen weiter

read + send

tg_draft

Speichert einen Nachrichtenentwurf (sendet nicht)

draft

tg_mark_read

Markiert einen Chat als gelesen

mark_read

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 vermeiden

  • Lazy Peer Resolution – vermeidet FLOOD_WAIT-Fehler beim Start

  • Globale 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 (user:ID, chat:ID, channel:ID)

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_id und api_hash)

Installation

Homebrew (macOS / Linux):

brew install Prgebish/tap/mcp-telegram

NPX (keine Installation erforderlich):

npx @prgebish/mcp-telegram serve --config config.yaml

Vorkompilierte Binärdateien (macOS / Linux / Windows):

Download von GitHub Releases.

Go install:

go install github.com/Prgebish/mcp-telegram/cmd/mcp-telegram@latest

Aus dem Quellcode:

git clone https://github.com/Prgebish/mcp-telegram.git
cd mcp-telegram
go build ./cmd/mcp-telegram

Dies 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.yaml

Windows (PowerShell):

$env:TG_APP_ID = "12345"
$env:TG_API_HASH = "your_api_hash"

mcp-telegram.exe auth --config config.yaml

Windows (cmd):

set TG_APP_ID=12345
set TG_API_HASH=your_api_hash

mcp-telegram.exe auth --config config.yaml

Konfiguration

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: info

Umgebungsvariablen 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.yaml

Claude 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

@username

@johndoe

Abgleich nach Telegram-Benutzername (Groß-/Kleinschreibung ignoriert)

+phone

+79001234567

Abgleich nach Telefonnummer

user:ID

user:123456789

Abgleich eines Benutzers nach numerischer ID

chat:ID

chat:987654321

Abgleich eines Gruppen-Chats nach numerischer ID

channel:ID

channel:2225853048

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
    - ~/Downloads

Wenn 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-Grenzetg_send kann nur Dateien aus allowed_upload_dirs lesen; download_to ist auf Unterverzeichnisse von media.directory beschränkt

  • Sitzungsdatei-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

MIT


Wenn Sie dieses Projekt nützlich finden, geben Sie ihm bitte einen Stern – es hilft anderen, es zu entdecken.

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    A
    maintenance
    A 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.
    7
    Apache 2.0
  • A
    license
    A
    quality
    A
    maintenance
    MCP 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.
    8
    2
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    An 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 npm
    MIT
  • A
    license
    A
    quality
    B
    maintenance
    An 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.
    79
    MIT