Skip to main content
Glama
v0idhrt

MTM - MCP Telegram MORE

by v0idhrt

MTM - MCP Telegram MORE

Benutzerdefinierter Telegram-Kanal für Claude Code — ein Daemon + MCP-Server + MiniApp, der einen Telegram-Bot in eine voll ausgestattete Fernsteuerung für Ihre Claude-Sitzungen verwandelt.

Funktionen

Remote-Chat mit Claude

  • Senden Sie Nachrichten an Claude von jedem Telegram-Client; Claudes Antworten werden auf demselben Weg gestreamt.

  • Dateianhänge werden in beide Richtungen unterstützt (Uploads / Screenshots / Downloads).

  • MiniApp innerhalb des Bots mit drei Tabs: Chat, Aufgaben, Status.

Tool-Genehmigungen über Telegram

  • Jeder riskante Tool-Aufruf (Bash, Edit, Write, MCP-Tools usw.) kann eine explizite Genehmigung erfordern.

  • Genehmigungsanfragen kommen als Telegram-Nachrichten mit Zulassen/Ablehnen-Schaltflächen an; Sie genehmigen diese von Ihrem Telefon aus.

  • Eine Zulassungsliste auf Tool-Ebene ermöglicht die automatische Genehmigung sicherer Tools (/allow Read, /deny Bash sudo).

  • Der globale YOLO-Modus (/yolo on) deaktiviert Genehmigungen vorübergehend.

Live-Aufgabenverfolgung

  • Claudes TodoWrite-Liste wird in Echtzeit auf den Aufgaben-Tab gespiegelt.

  • Statusübergänge (ausstehend → in_Bearbeitung → abgeschlossen) werden live über WebSocket aktualisiert.

Sichtbarkeit von Sub-Agenten & Tools

  • Die fixierte Statusleiste am oberen Rand der MiniApp zeigt an, was Claude gerade tut ("main: Edit · config.ts", "main + 2 Sub-Agenten laufen").

  • Einklappbare Agenten-Bubbles für jeden Sub-Agenten-Start — sehen Sie im Detail nach, welche Tools jeder Sub-Agent ausgeführt hat.

  • Wichtige Tools (Schreibaktionen, Task, MCP) werden hervorgehoben; schreibgeschützte Tools sind standardmäßig eingeklappt.

  • Der Verlauf der Tool-Ereignisse wird standardmäßig 7 Tage lang gespeichert (konfigurierbar).

Arbeitsbereichsbewusstsein

  • Mehrere gleichzeitige Claude-Sitzungen in verschiedenen Projekten, die jeweils einem eigenen Arbeitsbereich zugeordnet sind.

  • Der /ws-Befehl im Bot schaltet um, auf welchen Arbeitsbereich eingehende Nachrichten abzielen.

Zugriffskontrolle

  • Pairing-Ablauf: Schreiben Sie dem Bot eine DM → erhalten Sie einen 6-stelligen Code → lösen Sie ihn mit /mcp-telegram:access pair <code> ein.

  • Zulassungsliste mit owner/user-Rollen; der owner kann befördern und entfernen.

  • Richtlinienmodi: pairing (nur Code), allowlist (geschlossen), open (jeder — nur für die Entwicklung).

Tunnel-Abstraktion

  • Öffentliche URL, die über einen steckbaren Tunnel-Anbieter bereitgestellt wird.

  • Die Standard-URL wird automatisch als MiniApp-Schaltfläche des Bots an Telegram übertragen, einschließlich pro-Chat-Überschreibungen für jeden Benutzer auf der Zulassungsliste.


Related MCP server: Straight Connect

Voraussetzungen

  • Bun — curl -fsSL https://bun.sh/install | bash

  • Ein Tunnel-Tool, das zu Ihrem gewählten Anbieter passt:

    • cloudflared — installieren (Standard)

    • tuna — installieren (Alternative)

    • Oder verwenden Sie Ihre eigene URL über den manual-Modus

  • Ein Telegram-Bot-Token von @BotFather (verwenden Sie /newbot).

  • Node.js (für die Claude Code Hook-Skripte — jede aktuelle Version).


Schnellstart

# 1. Clone & install workspace deps
git clone <repo> mcp-telegram && cd mcp-telegram
bun install

# 2. Put the bot token into the daemon's env file
mkdir -p ~/.mcp-tg
echo "TELEGRAM_BOT_TOKEN=<your-bot-token>" > ~/.mcp-tg/.env

# 3. Build the MiniApp (served statically by the daemon)
bun run --cwd packages/miniapp build

# 4. Start the daemon (long-running; keep in a terminal or use install-service)
bun run --cwd packages/daemon start
# Logs print the public tunnel URL and port 17080.

# 5. Load the plugin into Claude Code (for hook + MCP integration)
claude --dangerously-load-development-channels plugin:mcp-telegram@mcp-telegram-local

# 6. From inside Claude Code, configure and pair
/mcp-telegram:configure <BOT_TOKEN>
# DM your bot in Telegram → receive a 6-digit pair code
/mcp-telegram:access pair ABC123

# 7. Open the MiniApp by tapping the "Open" button in the bot chat.

Konfiguration

~/.mcp-tg/.env (erforderlich)

Variable

Standard

Zweck

TELEGRAM_BOT_TOKEN

— (erforderlich)

Bot-Token von @BotFather.

MCP_TG_PORT

17080

Lokaler Port, auf dem der Daemon lauscht.

MCP_TG_DATA_DIR

~/.mcp-tg

Speicherort für DB, Uploads, Lock-Dateien, Tokens.

MCP_TG_JWT_SECRET

auto-gen

HS256-Signaturschlüssel für MiniApp-Sitzungen. Wird beim ersten Start generiert, falls nicht vorhanden.

MCP_TG_HOOK_TOKEN

auto-gen via /configure

Gemeinsames Geheimnis, das von Claude Code Hooks verwendet wird, um POST-Anfragen an den Daemon zu senden.

MCP_TG_DAEMON_PORT

17080

Port, auf den die Hook-Skripte abzielen (normalerweise identisch mit MCP_TG_PORT).

MCP_TG_TOOL_EVENTS_TTL_DAYS

7

Aufbewahrungsdauer für das Tool-Ereignis-Audit-Log (stündliche Bereinigung).

Variablen werden beim Start vom Daemon aus ~/.mcp-tg/.env gelesen; Sie können sie auch in Ihrer Shell exportieren.

~/.mcp-tg/config.json (Daemon-verwaltet)

Verwaltet vom Daemon und der /mcp-telegram:configure-Fähigkeit. Schlüssel:

  • tunnel_provider — einer der Werte cloudflared | tuna | manual | none.

  • tunnel_manual_url — wird nur verwendet, wenn tunnel_provider = manual; muss eine öffentlich erreichbare HTTPS-URL sein, die an 127.0.0.1:17080 weiterleitet.

  • default_workspace — optionaler Slug, der für Systemereignis-Broadcasts verwendet wird, bevor ein Arbeitsbereich eine Verbindung herstellt.

Auswahl eines Tunnel-Anbieters

# Default: cloudflared (auto-generated trycloudflare URL, rotates per restart)
/mcp-telegram:configure tunnel cloudflared

# tuna.am alternative
/mcp-telegram:configure tunnel tuna

# Bring-your-own public URL (nginx, frp, your domain, etc.)
/mcp-telegram:configure tunnel manual
# then edit ~/.mcp-tg/config.json and set tunnel_manual_url to your HTTPS endpoint.

# No public access (local MiniApp only; Telegram bot still works for chat)
/mcp-telegram:configure tunnel none

Starten Sie nach dem Wechsel des Anbieters den Daemon neu. Die neue URL wird automatisch an den Telegram-Bot übertragen — sowohl als Standard-MiniApp-Schaltfläche als auch für die pro-Chat-Überschreibung jedes Benutzers auf der Zulassungsliste.


Slash-Befehle (in Claude Code)

Befehl

Beschreibung

/mcp-telegram:configure <TOKEN>

Schreibt das Bot-Token in ~/.mcp-tg/.env.

/mcp-telegram:configure tunnel <provider>

Legt den Tunnel-Anbieter fest (siehe oben).

/mcp-telegram:access pair <CODE>

Löst einen 6-stelligen Pairing-Code ein, der per Bot-DM empfangen wurde.

/mcp-telegram:access list

Zeigt die aktuelle Zulassungsliste an.

/mcp-telegram:access remove <userId>

Entzieht einem Benutzer den Zugriff.

/mcp-telegram:access policy [<mode>]

Zeigt pairing / allowlist / open an oder legt den Modus fest.

/mcp-telegram:install-service

Installiert einen systemd --user-Dienst, damit der Daemon beim Login startet (nur Linux).

Alle Fähigkeiten kommunizieren mit dem laufenden Daemon unter http://127.0.0.1:17080/admin/* unter Verwendung des Bearer-Tokens in ~/.mcp-tg/admin.token (wird beim ersten Start automatisch generiert, Modus 0600).

Bot-Befehle (in Telegram)

Befehl

Beschreibung

/ws

Listet Arbeitsbereiche auf / schaltet das Ziel für eingehende Nachrichten um.

/approvals

Zeigt den aktuellen Genehmigungsstatus an / schaltet ihn ein/aus.

/allowlist

Verwaltet die Zulassungsliste für automatisch genehmigte Tools.

/allow <tool> [substring]

Fügt eine Zulassungsregel hinzu.

/deny <tool> [substring]

Fügt eine Ablehnungsregel hinzu.

`/yolo on

off`

Deaktiviert/aktiviert Genehmigungsanfragen global.

Out-of-Band: Senden Sie jeden Text, der kein Befehl ist, per DM, um ihn an die Claude-Sitzung des aktuell ausgewählten Arbeitsbereichs zu senden.


Bereitstellung

Für den Ad-hoc-Gebrauch reicht bun run --cwd packages/daemon start in einem Terminal aus. Für alles, was dauerhaft sein soll:

# Linux — systemd user service (starts at login, restarts on failure)
/mcp-telegram:install-service

# Logs: journalctl --user -u mcp-telegram -f
# Stop: systemctl --user stop mcp-telegram
# Disable: systemctl --user disable mcp-telegram

Führen Sie den Daemon unter macOS / Windows unter Ihrem eigenen Prozessmanager aus (launchd, pm2, nssm usw.) — das MVP enthält keine Installationsskripte für diese Plattformen.


Architektur (kurz)

  • daemon (packages/daemon) — der einzige langlebige Prozess. Besitzt den Bot, HTTP + WS-Server, SQLite, Tunnel und den Status der Genehmigungen.

  • mcp-server (packages/mcp-server) — ein stdio-Prozess, der pro Claude Code-Sitzung gestartet wird; schlanker WebSocket-Client des Daemons.

  • miniapp (packages/miniapp) — React SPA, das einmal gebaut und vom Daemon unter der Tunnel-URL statisch bereitgestellt wird.

  • shared (packages/shared) — Protokoll-, Status- und Tool-Ereignistypen.

  • plugin (plugin/) — Claude Code-Plugin mit MCP-Server-Konfiguration, Genehmigungs-Hooks, TodoWrite-Synchronisierungs-Hook und dem Sub-Agent-Tool-Ereignis-Hook.

Die vollständigen Designdokumente finden Sie unter docs/superpowers/specs/.


Tests

bun test                          # all workspaces
bun test --cwd packages/daemon    # daemon-only
bun test --cwd packages/miniapp   # MiniApp (vitest)

Sicherheit

  • Pairing-Codes sind nur im Arbeitsspeicher vorhanden — ein Neustart des Daemons macht sie ungültig; schreiben Sie dem Bot eine DM für einen neuen Code.

  • Genehmigen Sie niemals eine Pairing-Anfrage, die über den Bot selbst eingegangen ist. Die /mcp-telegram:access-Fähigkeit verweigert Operationen, die von Telegram-Eingaben stammen, um Prompt-Injection über Nachrichten zu verhindern.

  • MiniApp initData wird serverseitig validiert (HMAC-SHA256 gemäß Telegram-Spezifikation). MiniApp-JWTs sind 15 Minuten gültig.

  • Der Daemon bindet an 127.0.0.1; öffentliche Erreichbarkeit besteht nur über den Tunnel-Anbieter.

  • MCP_TG_HOOK_TOKEN ist das einzige Anmeldeinformations-Element, das von Hooks benötigt wird; es verbleibt in ~/.mcp-tg/.env (Modus 0600) und wird niemals außerhalb von 127.0.0.1 gesendet.

  • Der Verlauf der Tool-Ereignisse wird nach MCP_TG_TOOL_EVENTS_TTL_DAYS (Standard 7) bereinigt; der agent_sessions-Index wird auf unbestimmte Zeit als kompakter Audit-Trail beibehalten.

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    An MCP server for communication service connectors that currently provides multi-account Telegram integration with granular tool access and security controls. It allows AI models to manage messages, chats, and media across various accounts through a flexible, extensible routing architecture.
    1
    -
  • F
    license
    Not graded
    quality
    D
    maintenance
    A local MCP server that enables direct, persistent communication between multiple Claude Code agent sessions through a secure messaging channel. It includes built-in guardrails to manage message exchanges and supports optional human monitoring via Telegram.
    -
  • A
    license
    B
    quality
    D
    maintenance
    MCP server that enables Claude Code to interact with a personal Telegram account via MTProto, providing over 120 tools for messaging, media, chat management, and more.
    100
    2
    MIT