Skip to main content
Glama
Telegram Notify MCP Server

Telegram Notify MCP Server

telegram-copilot-bridge

Steuern Sie die GitHub Copilot CLI remote über Telegram. Senden Sie Prompts, verwalten Sie Sitzungen und genehmigen Sie Tool-Aufrufe – alles von Ihrem Smartphone aus.

Architektur

📱 Telegram
    ↕ (Bot API long-polling)
🐍 telegram-copilot-bridge
    ↕ (stdin/stdout NDJSON — ACP)
🤖 copilot --acp --stdio

Related MCP server: mcp-telegram-claudecode

Funktionen

  • Remote-Prompting — Senden Sie Copilot-Prompts von Telegram, erhalten Sie Ergebnisse auf Ihrem Telefon

  • Multi-Session — Führen Sie mehrere Copilot-Sitzungen parallel aus, wechseln Sie zwischen ihnen

  • Tool-Genehmigung — Genehmigen oder verweigern Sie Copilot-Tool-Aufrufe über Inline-Buttons

  • Autopilot-Modus — Automatische Genehmigung aller Tool-Aufrufe für freihändigen Betrieb

  • Sitzungsverlauf — Setzen Sie vergangene Copilot-Sitzungen mit einem Fingertipp fort

  • Ordner-Auswahl — /new zeigt Inline-Buttons für Projektverzeichnisse

Installation

git clone https://github.com/NobufumiMurata/telegram-copilot-bridge.git
cd telegram-copilot-bridge
pip install -e .

Voraussetzungen: Installieren Sie die Copilot CLI und authentifizieren Sie sich:

winget install GitHub.Copilot   # or: npm install -g @github/copilot
copilot                         # then /login to authenticate

Einrichtung

1. Erstellen Sie einen Telegram-Bot

  1. Öffnen Sie Telegram und schreiben Sie @BotFather

  2. Senden Sie /newbot und folgen Sie den Anweisungen

  3. Kopieren Sie das Bot-Token

2. Ermitteln Sie Ihre Chat-ID und Benutzer-ID

Senden Sie eine beliebige Nachricht an Ihren Bot, dann:

curl "https://api.telegram.org/bot<YOUR_TOKEN>/getUpdates"

Notieren Sie aus der Antwort:

  • "chat": {"id": ...} → Ihre Chat-ID

  • "from": {"id": ...} → Ihre Benutzer-ID (für die Whitelist)

3. Konfiguration

Kopieren Sie die Beispieldatei und tragen Sie Ihre Werte ein:

cp .env.example .env
# .env
TELEGRAM_BOT_TOKEN=1234567890:AAXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
TELEGRAM_CHAT_ID=-100000000000
TELEGRAM_ALLOWED_USERS=123456789

# Default AI model
COPILOT_MODEL=claude-opus-4.6

# Root folder for /dirs and /new folder picker
COPILOT_DIRS_ROOT=/home/user/projects

Die .env-Datei wird beim Start automatisch geladen (aus dem aktuellen Verzeichnis). Verwenden Sie TELEGRAM_ENV_FILE=/pfad/zu/.env, um auf einen anderen Speicherort zu verweisen. Umgebungsvariablen, die in der Shell gesetzt sind, haben immer Vorrang vor .env.

Verwendung

# Start (reads .env automatically)
python -m telegram_copilot_bridge

# With options
python -m telegram_copilot_bridge \
  --cwd /path/to/project \
  --model claude-opus-4.6 \
  --timeout 120 \
  -v

CLI-Optionen:

Flag

Beschreibung

Standard

--cwd <dir>

Standard-Arbeitsverzeichnis für Sitzungen

aktuelles Verzeichnis

--model <name>

KI-Modell (z. B. claude-opus-4.6)

claude-opus-4.6

--timeout <min>

Automatisches Herunterfahren in Minuten (0 = kein Timeout)

0

--autopilot

Automatische Genehmigung aller Tool-Aufrufe

aus (manuelle Genehmigung via Telegram)

-v, --verbose

Debug-Protokollierung aktivieren

aus

Telegram-Befehle

Befehl

Aktion

/new [dir]

Startet eine neue Copilot-Sitzung (zeigt Ordner-Auswahl, falls COPILOT_DIRS_ROOT gesetzt ist)

/history [n]

Listet vergangene CLI-Sitzungen auf (Standard: 3)

/resume <id>

Setzt eine vergangene Sitzung fort

/dirs [dir]

Durchsucht Verzeichnisse

/model [name]

Zeigt das KI-Modell an / setzt es

/mode

Schaltet zwischen Autopilot/manueller Genehmigung um

/list

Listet aktive Sitzungen auf

/switch <id>

Wechselt die aktive Sitzung

/status

Sitzungsstatus

/stop [id]

Stoppt eine Sitzung

/done

Stoppt alle Sitzungen & beendet

/help

Zeigt Befehle an

(beliebiger Text)

Als Prompt an die aktive Sitzung senden

Umgebungsvariablen

Alle Variablen können in .env oder in der Shell gesetzt werden. Shell-Werte haben Vorrang.

Telegram:

Variable

Beschreibung

Standard

TELEGRAM_BOT_TOKEN

Bot API-Token

(erforderlich)

TELEGRAM_CHAT_ID

Ziel-Chat-ID

(erforderlich)

TELEGRAM_ALLOWED_USERS

Kommagetrennte erlaubte Benutzer-IDs

(alle erlauben)

TELEGRAM_ENV_FILE

Pfad zur .env-Datei

.env im CWD

TELEGRAM_CONFIG_PATH

JSON-Anmeldedatei (Fallback)

—

Copilot:

Variable

Beschreibung

Standard

COPILOT_CLI_PATH

Pfad zur Copilot-Executable

copilot (aus PATH)

COPILOT_MODEL

Standard-KI-Modell

claude-opus-4.6

COPILOT_AUTOPILOT

Tool-Aufrufe automatisch genehmigen (true/false)

false

COPILOT_DIRS_ROOT

Stammverzeichnis für /dirs und /new Ordner-Auswahl

(nutzt --cwd)

COPILOT_ALLOWED_DIRS

Kommagetrennte erlaubte Arbeitsverzeichnisse

(beliebig)

COPILOT_ALLOWED_TOOLS

Kommagetrennte erlaubte Tools

shell(git),read,write

COPILOT_PERMISSION_TIMEOUT_SECONDS

Timeout für Berechtigungsgenehmigung (Sekunden)

300 (5 Min)

HUB_LOCK_PORT

TCP-Port für Singleton-Lock

47732

Sicherheit

  • Benutzer-Whitelist: Nur Nachrichten von TELEGRAM_ALLOWED_USERS werden akzeptiert. Alle anderen Benutzer werden stillschweigend ignoriert.

  • Timeouts: Konfigurierbares Timeout für automatisches Herunterfahren (Standard: kein Timeout). Berechtigungsanfragen laufen nach 5 Minuten ab (konfigurierbar über COPILOT_PERMISSION_TIMEOUT_SECONDS).

  • Keine Geheimnisse im Repo: Alle Anmeldedaten über .env-Datei oder Umgebungsvariablen.

  • Tool-Whitelist: Verwendet --allow-tool (nicht --allow-all-tools), um die Möglichkeiten der Copilot CLI einzuschränken.

  • Verzeichniseinschränkungen: Schränken Sie über COPILOT_ALLOWED_DIRS ein, in welchen Verzeichnissen Copilot-Sitzungen arbeiten dürfen.

  • Singleton-Lock: Nur eine Instanz kann pro Maschine ausgeführt werden (TCP-Port-Lock).

Einschränkungen

  • Lokale VS Code-Ausführungen sind nicht beobachtbar — Es gibt keine Möglichkeit abzurufen, was Copilot innerhalb von VS Code tut. MCP-Tools sind Einweg-Aufrufe von VS Code → Bridge.

  • Status von CLI-Sitzungen, die außerhalb der Bridge gestartet wurden, ist nicht verfügbar — Wenn Sie copilot direkt auf dem Server starten, kann der Echtzeit-Ausführungsstatus nicht verfolgt werden. Die Aktivitätsanzeige in /status (geschätzt anhand der Änderungszeit von events.jsonl) ist die einzige Alternative.

  • Tool-Genehmigungsanfragen von CLI-Sitzungen, die außerhalb der Bridge gestartet wurden, können nicht weitergeleitet werden — Nur Sitzungen, die über den Hub gestartet wurden, können Tool-Genehmigungsanfragen über Telegram-Inline-Buttons weiterleiten.

  • Einzelinstanz-Beschränkung — Nur ein Hub-Prozess pro Maschine (TCP-Port-Lock).

  • Telegram-Nachrichtenlängenbegrenzung — Antworten, die 4000 Zeichen überschreiten, werden automatisch aufgeteilt.

Lizenz

MIT

Related MCP Connectors

Related MCP Servers