Skip to main content
Glama

mcp-telegram

MCP-Server für Telegram — lassen Sie KI-Assistenten mit Ihrem Telegram-Konto interagieren

MCP Server Go Version License: MIT Go Report Card mcp-telegram MCP server

mcp-telegram MCP server


Funktionen

  • Chat-Verwaltung: Chats auflisten, suchen, stummschalten/stumm aufheben

  • Nachrichten: Nachrichten lesen, suchen, Kontext prüfen, senden, Entwürfe erstellen, planen, Links auflösen und sichern

  • KI-Zusammenfassung: Chat-Konversationen mit verschiedenen LLM-Anbietern zusammenfassen

  • Sicher: Sitzung wird im macOS-Schlüsselbund gespeichert (dateibasierte Speicherung unter Linux/Windows)

Installation

go install github.com/tolmachov/mcp-telegram@latest

Oder aus dem Quellcode erstellen:

git clone https://github.com/tolmachov/mcp-telegram.git
cd mcp-telegram
make

Einrichtung

1. Telegram API-Anmeldedaten abrufen

  1. Gehen Sie zu my.telegram.org/apps

  2. Erstellen Sie eine Anwendung

  3. Kopieren Sie api_id und api_hash

2. Umgebung konfigurieren

Speichern Sie die Anmeldedaten (macOS-Schlüsselbund; Klartext-JSON unter ~/.local/state/mcp-telegram/config.json mit 0600-Berechtigungen unter Linux/Windows):

mcp-telegram config set TELEGRAM_API_ID 123456789
mcp-telegram config set TELEGRAM_API_HASH abcd1234efgh5678

Oder verwenden Sie eine .env-Datei:

cp .env.example .env
# Edit .env with your credentials

3. Bei Telegram anmelden

mcp-telegram login --phone +1234567890

Sie werden nach einem Bestätigungscode gefragt, der an Ihr Telegram gesendet wurde.

4. MCP-Client konfigurieren

Claude Desktop

Fügen Sie dies zu ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) oder %APPDATA%\Claude\claude_desktop_config.json (Windows) hinzu:

{
  "mcpServers": {
    "telegram": {
      "command": "mcp-telegram",
      "args": ["run"],
      "env": {
        "TELEGRAM_API_ID": "your_api_id",
        "TELEGRAM_API_HASH": "your_api_hash"
      }
    }
  }
}

Claude Code

claude mcp add telegram -- /path/to/mcp-telegram run

Setzen Sie Umgebungsvariablen in Ihrer .env-Datei oder übergeben Sie sie via --env.

Verfügbare Werkzeuge

19 Werkzeuge, die MCP-Clients zur Verfügung stehen. Nachrichten werden durch undurchsichtige String-Handles identifiziert ("42" für normale, "s:42" für geplante) — kopieren Sie diese unverändert aus den Werkzeugausgaben für Folgeaufrufe, parsen oder konstruieren Sie sie niemals manuell.

Werkzeug

Beschreibung

GetMe

Aktuelle Benutzerinformationen abrufen

GetChats

Alle Chats, Gruppen und Kanäle auflisten

SearchChats

Fuzzy-Suche nach Chats nach Namen

GetChatInfo

Detaillierte Informationen über einen Chat abrufen

GetMessages

Nachrichten aus einem Chat abrufen (setzen Sie include_scheduled=true, um auch ausstehende geplante Nachrichten in einem separaten Feld aufzulisten)

SearchMessages

Suche innerhalb eines Chats nach Teilzeichenfolgen, mit optionalen Filtern für Datum / Absender / Medien / Thread

SearchMessagesGlobal

Suche nach Teilzeichenfolgen über alle Chats hinweg mit undurchsichtiger, cursorbasierter Paginierung

GetMessageContext

Nachrichten um eine bestimmte Ankernachricht herum in chronologischer Reihenfolge abrufen

SendMessage

Eine Nachricht senden, beantworten, planen oder als Entwurf speichern. mode = send (Standard) / schedule / draft; reply_to_message_id funktioniert mit jedem Modus; schedule_at ist RFC3339

EditMessage

Eine Nachricht bearbeiten; bei geplanten Handles plant schedule_at die Zustellung im selben Aufruf neu

DeleteMessage

Eine Nachricht löschen; "s:<id>"-Handles stornieren ausstehende geplante Nachrichten

ForwardMessage

Eine zugestellte Nachricht weiterleiten (geplante Handles werden abgelehnt)

ResolveMessageLink

t.me / tg://-Nachrichtenlinks in chat_id, message_id und topic_message_id für Forum-Links parsen

MarkAsRead

Einen oder mehrere Chats als gelesen markieren

BackupMessages

Nachrichten in eine Textdatei exportieren (idempotent; überschreibt das Ziel)

ResolveUsername

@username in Benutzer-/Chat-Informationen auflösen

SetChatMute

Chat-Benachrichtigungen stummschalten oder Stummschaltung aufheben (muted bool + optional duration_seconds)

SummarizeChat

KI-gestützte Chat-Zusammenfassung via Sampling / Gemini / Ollama / Anthropic

GetMedia

Foto-Medien von einer Nachrichten-Ressourcen-URI herunterladen; gibt MCP-Bildinhalt zurück

Verfügbare Ressourcen

URI

Beschreibung

telegram://me

Aktuelle Benutzerinfo

telegram://chats

Liste aller Chats

telegram://chat/{id}/info

Detaillierte Info für jede Chat-ID via Ressourcenvorlage

telegram://chats/{id}

Die letzten 100 Nachrichten aus einem angepinnten Chat (dynamische Ressource, nur für aktuell angepinnte Chats)

Angepinnte Chat-Ressourcen werden dynamisch für jeden angepinnten Chat erstellt und im Hintergrund aktualisiert; Clients erhalten resources/list_changed, wenn sich die Menge ändert.

Verfügbare Prompts

3 parametrisierte Prompts, die MCP-Clients als Slash-Befehle oder Schnellaktionen bereitstellen.

Prompt

Argumente

Beschreibung

daily-digest

periodday (Standard) / week / month

Geht aktive Chats durch und erstellt eine Zusammenfassung der wichtigsten Updates und Aufgaben pro Chat. Nur lesend.

chat-catchup

chat (erforderlich) — ID / @username / Titel; periodday / week (Standard) / month

Fasst einen bestimmten Chat zusammen und listet Nachrichten auf, die eine Antwort erfordern könnten. Nur lesend.

find-and-reply

chat (erforderlich), query (erforderlich) — wonach gesucht werden soll, reply (erforderlich) — Antworttext oder Anweisung

Sucht nach einer Nachricht, zeigt einen Antwortentwurf an und sendet nur nach expliziter Benutzerbestätigung.

Prompt-Beispiele

Hier sind einige Beispiel-Prompts, die Sie mit KI-Assistenten verwenden können:

Nachrichtenverwaltung

  • "Prüfe auf ungelesene wichtige Nachrichten in meinem Telegram"

  • "Fasse alle meine ungelesenen Telegram-Nachrichten zusammen"

  • "Lies und analysiere meine ungelesenen Nachrichten, bereite bei Bedarf Antwortentwürfe vor"

  • "Prüfe nicht kritische ungelesene Nachrichten und gib mir einen kurzen Überblick"

  • "Finde Nachrichten, die 'Rechnung' erwähnen, in meinem Arbeits-Chat von letzter Woche"

  • "Öffne den Kontext um diesen Telegram-Link: https://t.me/example/123"

Organisation

  • "Analysiere meine Telegram-Dialoge und schlage eine Ordnerstruktur vor"

  • "Hilf mir, meine Telegram-Chats nach Wichtigkeit zu kategorisieren"

  • "Finde alle arbeitsbezogenen Konversationen und schlage vor, wie man sie organisiert"

Kommunikation

  • "Überwache einen bestimmten Chat auf Updates zu [Thema]"

  • "Entwirf eine höfliche Antwort auf die letzte Nachricht in [Chat]"

  • "Prüfe, ob es unbeantwortete Fragen in meinen Chats gibt"

  • "Löse diesen Telegram-Nachrichtenlink auf und zeige mir den Thread-Kontext"

Backup & Export

  • "Sichere meine Konversation mit [Kontakt] in eine Datei"

  • "Exportiere die letzte Woche an Nachrichten aus [Gruppe]"

  • "Sichere auch reine Medien-Updates, damit nichts stillschweigend übersprungen wird"

Chat-Zusammenfassung

Das SummarizeChat-Werkzeug unterstützt mehrere LLM-Anbieter:

  • sampling (experimentell): Verwendet das LLM des MCP-Clients via MCP Sampling. Funktioniert nur mit Clients, die Sampling unterstützen: VS Code, fast-agent, Continue. Funktioniert NICHT mit Claude Desktop oder Claude Code.

  • ollama: Lokales LLM via Ollama - kein API-Schlüssel erforderlich

  • gemini: Google Gemini API

  • anthropic: Anthropic Claude API

Konfiguration via Umgebungsvariablen:

SUMMARIZE_PROVIDER=ollama  # or: sampling, gemini, anthropic
SUMMARIZE_MODEL=           # provider-specific model name

Befehle

# Run MCP server (used by MCP clients)
mcp-telegram run

# Login to Telegram
mcp-telegram login --phone +1234567890

# Logout and delete session
mcp-telegram logout

# Securely store config values (macOS Keychain / file on Linux)
mcp-telegram config set TELEGRAM_API_ID 123456789
mcp-telegram config set TELEGRAM_API_HASH abcd1234

# List stored keys
mcp-telegram config list

# Delete a stored value
mcp-telegram config delete TELEGRAM_API_ID

Erlaubte Schlüssel: TELEGRAM_API_ID, TELEGRAM_API_HASH, ANTHROPIC_API_KEY, GEMINI_API_KEY.

Konfigurationsoptionen

Umgebungsvariable

Beschreibung

Standard

TELEGRAM_API_ID

Telegram API ID

Erforderlich

TELEGRAM_API_HASH

Telegram API Hash

Erforderlich

TELEGRAM_ALLOWED_PATHS

Erlaubte Verzeichnisse für Backups

OS App-Datenverzeichnis

SUMMARIZE_PROVIDER

LLM-Anbieter für Zusammenfassungen

sampling (experimentell)

SUMMARIZE_MODEL

Modellname

Anbieter-Standard

SUMMARIZE_BATCH_TOKENS

Token pro Zusammenfassungs-Batch

8000

OLLAMA_URL

Ollama API URL

http://localhost:11434

GEMINI_API_KEY

Google Gemini API-Schlüssel

-

ANTHROPIC_API_KEY

Anthropic API-Schlüssel

-

TELEGRAM_MEDIA_MAX_BYTES

Maximale Bytes, die GetMedia pro Aufruf herunterlädt (Begrenzung, um OOM bei großen Anhängen zu vermeiden)

52428800 (50 MiB)

TELEGRAM_RATE_LIMIT_RPS

RPS-Obergrenze für Verlaufsabrufe bei Telegram. Das Überschreiten der FLOOD_WAIT-Schwellenwerte von Telegram pausiert alle Werkzeuge.

0 (sicherer eingebauter Standard)

TELEGRAM_PINNED_REFRESH_SECONDS

Abfrageintervall (Sekunden) für den Pinned-Chat-Ressourcen-Watcher. 0 deaktiviert den Watcher.

30

Destruktive Aktionen

Werkzeuge wie DeleteMessage erfordern eine Benutzerbestätigung via MCP Elicitation, bevor sie fortfahren. Wenn Ihr MCP-Client keine Elicitation unterstützt, verlässt sich der Server auf die Anweisungen des LLM, um destruktive Operationen vor der Ausführung mündlich zu bestätigen.

Sitzungsspeicherung

  • macOS: Sicher im Schlüsselbund gespeichert.

  • Linux/Windows: Gespeichert in ~/.local/state/mcp-telegram/session.json mit 0600-Dateiberechtigungen. Die Datei ist Klartext — halten Sie das enthaltende Benutzerkonto vertrauenswürdig und bevorzugen Sie die Ausführung unter macOS, wenn Sie sensible Konten verwalten.

Konfigurationswerte, die via mcp-telegram config set gesetzt werden (API-Schlüssel, Telegram-Anmeldedaten), folgen demselben Backend: Schlüsselbund unter macOS, Klartext-JSON unter Linux/Windows.

Lizenz

MIT

-
security - not tested
A
license - permissive license
-
quality - not tested

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/tolmachov/mcp-telegram'

If you have feedback or need assistance with the MCP directory API, please join our Discord server