Skip to main content
Glama
NobufumiMurata

Telegram Notify MCP Server

telegram-copilot-bridge

Controla GitHub Copilot CLI de forma remota desde Telegram. Envía prompts, gestiona sesiones y aprueba llamadas a herramientas, todo desde tu smartphone.

Arquitectura

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

Related MCP server: tsgram-mcp

Características

  • Prompting remoto — Envía prompts de Copilot desde Telegram, recibe los resultados en tu teléfono

  • Sesiones múltiples — Ejecuta varias sesiones de Copilot en paralelo, cambia entre ellas

  • Aprobación de herramientas — Aprueba o deniega las llamadas a herramientas de Copilot mediante botones integrados

  • Modo piloto automático — Autoaprueba todas las llamadas a herramientas para una operación manos libres

  • Historial de sesiones — Reanuda sesiones pasadas de Copilot con un toque

  • Selector de carpetas/new muestra botones integrados para los directorios del proyecto

Instalación

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

Requisitos previos: Instala Copilot CLI y autentícate:

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

Configuración

1. Crea un bot de Telegram

  1. Abre Telegram y envía un mensaje a @BotFather

  2. Envía /newbot y sigue las instrucciones

  3. Copia el token del bot

2. Obtén tu ID de chat y tu ID de usuario

Envía cualquier mensaje a tu bot, luego:

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

De la respuesta, anota:

  • "chat": {"id": ...} → tu ID de chat

  • "from": {"id": ...} → tu ID de usuario (para la lista de permitidos)

3. Configura

Copia el archivo de ejemplo y rellena tus valores:

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

El archivo .env se carga automáticamente al iniciar (desde el directorio actual). Usa TELEGRAM_ENV_FILE=/ruta/al/.env para apuntar a una ubicación diferente. Las variables de entorno establecidas en el shell siempre tienen prioridad sobre .env.

Uso

# 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

Opciones de CLI:

Flag

Descripción

Predeterminado

--cwd <dir>

Directorio de trabajo predeterminado para sesiones

dir actual

--model <name>

Modelo de IA (ej. claude-opus-4.6)

claude-opus-4.6

--timeout <min>

Apagado automático en minutos (0 = sin tiempo de espera)

0

--autopilot

Autoaprobar todas las llamadas a herramientas

desactivado (aprobación manual vía Telegram)

-v, --verbose

Habilitar registro de depuración

desactivado

Comandos de Telegram

Comando

Acción

/new [dir]

Inicia una nueva sesión de Copilot (muestra el selector de carpetas si COPILOT_DIRS_ROOT está configurado)

/history [n]

Lista sesiones de CLI pasadas (predeterminado: 3)

/resume <id>

Reanuda una sesión pasada

/dirs [dir]

Explora directorios

/model [name]

Muestra/establece el modelo de IA

/mode

Alterna entre piloto automático/aprobación manual

/list

Lista sesiones activas

/switch <id>

Cambia la sesión activa

/status

Estado de la sesión

/stop [id]

Detiene una sesión

/done

Detiene todas las sesiones y sale

/help

Muestra los comandos

(cualquier texto)

Envía como prompt a la sesión activa

Variables de entorno

Todas las variables se pueden establecer en .env o en el shell. Los valores del shell tienen prioridad.

Telegram:

Variable

Descripción

Predeterminado

TELEGRAM_BOT_TOKEN

Token de API del bot

(requerido)

TELEGRAM_CHAT_ID

ID de chat de destino

(requerido)

TELEGRAM_ALLOWED_USERS

IDs de usuario permitidos separados por comas

(permitir todos)

TELEGRAM_ENV_FILE

Ruta al archivo .env

.env en CWD

TELEGRAM_CONFIG_PATH

Archivo JSON de credenciales (alternativa)

Copilot:

Variable

Descripción

Predeterminado

COPILOT_CLI_PATH

Ruta al ejecutable de copilot

copilot (desde PATH)

COPILOT_MODEL

Modelo de IA predeterminado

claude-opus-4.6

COPILOT_AUTOPILOT

Autoaprobar llamadas a herramientas (true/false)

false

COPILOT_DIRS_ROOT

Directorio raíz para el selector de carpetas /dirs y /new

(usa --cwd)

COPILOT_ALLOWED_DIRS

Directorios de trabajo permitidos separados por comas

(cualquiera)

COPILOT_ALLOWED_TOOLS

Herramientas permitidas separadas por comas

shell(git),read,write

COPILOT_PERMISSION_TIMEOUT_SECONDS

Tiempo de espera de aprobación de permisos (segundos)

300 (5 min)

HUB_LOCK_PORT

Puerto TCP para bloqueo de instancia única

47732

Seguridad

  • Lista de permitidos de usuario: Solo se aceptan mensajes de TELEGRAM_ALLOWED_USERS. Todos los demás usuarios son ignorados silenciosamente.

  • Tiempos de espera: Tiempo de espera de apagado automático configurable (predeterminado: sin tiempo de espera). Las solicitudes de permiso caducan después de 5 minutos (configurable mediante COPILOT_PERMISSION_TIMEOUT_SECONDS).

  • Sin secretos en el repositorio: Todas las credenciales se gestionan mediante el archivo .env o variables de entorno.

  • Lista de permitidos de herramientas: Utiliza --allow-tool (no --allow-all-tools) para restringir lo que puede hacer Copilot CLI.

  • Restricciones de directorio: Restringe los directorios en los que pueden operar las sesiones de Copilot mediante COPILOT_ALLOWED_DIRS.

  • Bloqueo de instancia única: Solo se puede ejecutar una instancia por máquina (bloqueo de puerto TCP).

Limitaciones

  • Las ejecuciones locales de VS Code no son observables — No hay forma de recuperar lo que Copilot está haciendo dentro de VS Code. Las herramientas MCP son llamadas unidireccionales solo desde VS Code → Bridge.

  • El estado de las sesiones de CLI iniciadas fuera del Bridge no está disponible — Si inicias copilot directamente en el servidor, no se puede rastrear el estado de ejecución en tiempo real. La visualización de actividad en /status (estimada a partir de la hora de modificación de events.jsonl) es la única alternativa.

  • Las solicitudes de aprobación de herramientas de sesiones de CLI iniciadas fuera del Bridge no se pueden retransmitir — Solo las sesiones iniciadas a través del Hub pueden retransmitir solicitudes de aprobación de herramientas a través de botones integrados de Telegram.

  • Restricción de instancia única — Solo un proceso Hub por máquina (bloqueo de puerto TCP).

  • Límite de longitud de mensajes de Telegram — Las respuestas que superan los 4000 caracteres se dividen automáticamente.

Licencia

MIT

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

No tool schema history has been recorded yet.

Maintenance

ActivityInactive
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

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/NobufumiMurata/telegram-copilot-bridge'

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