Skip to main content
Glama
Telegram Notify MCP Server

Telegram Notify MCP Server

telegram-copilot-bridge

Управляйте GitHub Copilot CLI удаленно через Telegram. Отправляйте промпты, управляйте сессиями и одобряйте вызовы инструментов — и все это прямо со смартфона.

Архитектура

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

Related MCP server: mcp-telegram-claudecode

Возможности

  • Удаленное управление промптами — отправляйте промпты Copilot из Telegram и получайте результаты на телефон

  • Мультисессионность — запускайте несколько сессий Copilot параллельно и переключайтесь между ними

  • Утверждение инструментов — одобряйте или отклоняйте вызовы инструментов Copilot с помощью встроенных кнопок

  • Режим автопилота — автоматическое одобрение всех вызовов инструментов для работы без участия пользователя

  • История сессий — возобновляйте прошлые сессии Copilot одним нажатием

  • Выбор папок — команда /new отображает встроенные кнопки для выбора директорий проекта

Установка

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

Предварительные требования: Установите Copilot CLI и пройдите аутентификацию:

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

Настройка

1. Создайте бота в Telegram

  1. Откройте Telegram и напишите @BotFather

  2. Отправьте /newbot и следуйте инструкциям

  3. Скопируйте токен бота

2. Получите свой Chat ID и User ID

Отправьте любое сообщение своему боту, затем:

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

Из ответа запишите:

  • "chat": {"id": ...} → ваш Chat ID

  • "from": {"id": ...} → ваш User ID (для списка разрешенных пользователей)

3. Конфигурация

Скопируйте файл примера и заполните свои значения:

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

Файл .env загружается автоматически при запуске (из текущей директории). Используйте TELEGRAM_ENV_FILE=/path/to/.env, чтобы указать другой путь. Переменные окружения, заданные в оболочке, всегда имеют приоритет над .env.

Использование

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

Флаг

Описание

По умолчанию

--cwd <dir>

Рабочая директория по умолчанию для сессий

текущая директория

--model <name>

ИИ-модель (например, claude-opus-4.6)

claude-opus-4.6

--timeout <min>

Автоматическое завершение в минутах (0 = без тайм-аута)

0

--autopilot

Автоматическое одобрение всех вызовов инструментов

выкл (ручное одобрение через Telegram)

-v, --verbose

Включить отладочное логирование

выкл

Команды Telegram

Команда

Действие

/new [dir]

Запустить новую сессию Copilot (показывает выбор папок, если задан COPILOT_DIRS_ROOT)

/history [n]

Список прошлых CLI-сессий (по умолчанию: 3)

/resume <id>

Возобновить прошлую сессию

/dirs [dir]

Просмотр директорий

/model [name]

Показать/установить ИИ-модель

/mode

Переключить режим автопилота/ручного одобрения

/list

Список активных сессий

/switch <id>

Переключить активную сессию

/status

Статус сессии

/stop [id]

Остановить сессию

/done

Остановить все сессии и выйти

/help

Показать команды

(любой текст)

Отправить как промпт в активную сессию

Переменные окружения

Все переменные можно задать в .env или в оболочке. Значения оболочки имеют приоритет.

Telegram:

Переменная

Описание

По умолчанию

TELEGRAM_BOT_TOKEN

Токен API бота

(обязательно)

TELEGRAM_CHAT_ID

Целевой ID чата

(обязательно)

TELEGRAM_ALLOWED_USERS

Список ID разрешенных пользователей через запятую

(разрешить всех)

TELEGRAM_ENV_FILE

Путь к файлу .env

.env в CWD

TELEGRAM_CONFIG_PATH

JSON-файл с учетными данными (резервный)

—

Copilot:

Переменная

Описание

По умолчанию

COPILOT_CLI_PATH

Путь к исполняемому файлу copilot

copilot (из PATH)

COPILOT_MODEL

ИИ-модель по умолчанию

claude-opus-4.6

COPILOT_AUTOPILOT

Автоматическое одобрение вызовов инструментов (true/false)

false

COPILOT_DIRS_ROOT

Корневая директория для выбора папок /dirs и /new

(использует --cwd)

COPILOT_ALLOWED_DIRS

Список разрешенных рабочих директорий через запятую

(любая)

COPILOT_ALLOWED_TOOLS

Список разрешенных инструментов через запятую

shell(git),read,write

COPILOT_PERMISSION_TIMEOUT_SECONDS

Тайм-аут одобрения разрешений (в секундах)

300 (5 мин)

HUB_LOCK_PORT

TCP-порт для блокировки единственного экземпляра

47732

Безопасность

  • Список разрешенных пользователей: Принимаются только сообщения от TELEGRAM_ALLOWED_USERS. Все остальные пользователи игнорируются без уведомления.

  • Тайм-ауты: Настраиваемый тайм-аут автоматического завершения (по умолчанию: без тайм-аута). Запросы на разрешение истекают через 5 минут (настраивается через COPILOT_PERMISSION_TIMEOUT_SECONDS).

  • Отсутствие секретов в репозитории: Все учетные данные передаются через файл .env или переменные окружения.

  • Список разрешенных инструментов: Используется --allow-tool (а не --allow-all-tools) для ограничения действий Copilot CLI.

  • Ограничения директорий: Ограничьте директории, в которых могут работать сессии Copilot, с помощью COPILOT_ALLOWED_DIRS.

  • Блокировка единственного экземпляра: На одной машине может быть запущен только один экземпляр (блокировка TCP-порта).

Ограничения

  • Локальные запуски в VS Code не отслеживаются — Нет способа получить информацию о том, что делает Copilot внутри VS Code. Инструменты MCP — это односторонние вызовы только из VS Code в Bridge.

  • Статус CLI-сессий, запущенных вне Bridge, недоступен — Если вы запускаете copilot напрямую на сервере, статус выполнения в реальном времени отследить невозможно. Отображение активности в /status (оценивается по времени изменения events.jsonl) — единственная альтернатива.

  • Запросы на одобрение инструментов из CLI-сессий, запущенных вне Bridge, не могут быть перенаправлены — Только сессии, запущенные через Hub, могут перенаправлять запросы на одобрение инструментов через встроенные кнопки Telegram.

  • Ограничение на один экземпляр — Только один процесс Hub на машину (блокировка TCP-порта).

  • Лимит длины сообщения Telegram — Ответы, превышающие 4000 символов, разбиваются автоматически.

Лицензия

MIT

Related MCP Connectors

Related MCP Servers