Telegram Notify MCP Server
Enables mobile notifications, approval workflows with inline keyboard buttons, remote prompt input from smartphones, and file sharing via Telegram Bot API
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Telegram Notify MCP Serverask for my approval before any destructive operations"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
telegram-copilot-bridge
Control GitHub Copilot CLI remotely from Telegram. Send prompts, manage sessions, and approve tool calls ā all from your smartphone.
Architecture
š± Telegram
ā (Bot API long-polling)
š telegram-copilot-bridge
ā (stdin/stdout NDJSON ā ACP)
š¤ copilot --acp --stdioRelated MCP server: tsgram-mcp
Features
Remote Prompting ā Send Copilot prompts from Telegram, receive results on your phone
Multi-Session ā Run multiple Copilot sessions in parallel, switch between them
Tool Approval ā Approve or deny Copilot's tool calls via inline buttons
Autopilot Mode ā Auto-approve all tool calls for hands-free operation
Session History ā Resume past Copilot sessions with one tap
Folder Picker ā
/newshows inline buttons for project directories
Installation
git clone https://github.com/NobufumiMurata/telegram-copilot-bridge.git
cd telegram-copilot-bridge
pip install -e .Prerequisites: Install Copilot CLI and authenticate:
winget install GitHub.Copilot # or: npm install -g @github/copilot
copilot # then /login to authenticateSetup
1. Create a Telegram Bot
Open Telegram and message @BotFather
Send
/newbotand follow the promptsCopy the bot token
2. Get Your Chat ID and User ID
Send any message to your bot, then:
curl "https://api.telegram.org/bot<YOUR_TOKEN>/getUpdates"From the response, note:
"chat": {"id": ...}ā your Chat ID"from": {"id": ...}ā your User ID (for the allowlist)
3. Configure
Copy the example file and fill in your values:
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/projectsThe .env file is loaded automatically on startup (from the current directory).
Use TELEGRAM_ENV_FILE=/path/to/.env to point to a different location.
Environment variables set in the shell always take priority over .env.
Usage
# 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 \
-vCLI options:
Flag | Description | Default |
| Default working directory for sessions | current dir |
| AI model (e.g. |
|
| Auto-shutdown in minutes (0 = no timeout) |
|
| Auto-approve all tool calls | off (manual approval via Telegram) |
| Enable debug logging | off |
Telegram Commands
Command | Action |
| Start a new Copilot session (shows folder picker if |
| List past CLI sessions (default: 3) |
| Resume a past session |
| Browse directories |
| Show/set AI model |
| Toggle autopilot/manual approval |
| List active sessions |
| Switch active session |
| Session status |
| Stop a session |
| Stop all sessions & exit |
| Show commands |
(any text) | Send as prompt to active session |
Environment Variables
All variables can be set in .env or in the shell. Shell values take priority.
Telegram:
Variable | Description | Default |
| Bot API token | (required) |
| Target chat ID | (required) |
| Comma-separated allowed user IDs | (allow all) |
| Path to the |
|
| JSON credential file (fallback) | ā |
Copilot:
Variable | Description | Default |
| Path to copilot executable |
|
| Default AI model |
|
| Auto-approve tool calls ( |
|
| Root directory for | (uses --cwd) |
| Comma-separated allowed working dirs | (any) |
| Comma-separated tools to allow |
|
| Permission approval timeout (seconds) |
|
| TCP port for singleton lock |
|
Security
User allowlist: Only messages from
TELEGRAM_ALLOWED_USERSare accepted. All other users are silently ignored.Timeouts: Configurable auto-shutdown timeout (default: no timeout). Permission requests timeout after 5 minutes (configurable via
COPILOT_PERMISSION_TIMEOUT_SECONDS).No secrets in repo: All credentials via
.envfile or environment variables.Tool allowlist: Uses
--allow-tool(not--allow-all-tools) to restrict what Copilot CLI can do.Directory restrictions: Restrict which directories Copilot sessions can operate in via
COPILOT_ALLOWED_DIRS.Singleton lock: Only one instance can run per machine (TCP port lock).
Limitations
VS Code local runs are not observable ā There is no way to retrieve what Copilot is doing inside VS Code. MCP tools are one-way calls from VS Code ā Bridge only.
Status of CLI sessions started outside the Bridge is unavailable ā If you launch
copilotdirectly on the server, real-time execution status cannot be tracked. The Activity display in/status(estimated fromevents.jsonlmodification time) is the only alternative.Tool approval requests from CLI sessions started outside the Bridge cannot be relayed ā Only sessions launched via the Hub can relay tool approval requests through Telegram inline buttons.
Single-instance restriction ā Only one Hub process per machine (TCP port lock).
Telegram message length limit ā Responses exceeding 4000 characters are split automatically.
License
MIT
This server cannot be deployed
Maintenance
Related MCP Connectors
Reach your own phone from an AI agent: notifications, approval questions, reminders, ring, files.
Telegram bridge for your MCP-compatible agent. Bidirectional, no LLM in our stack.
Human-in-the-loop for AI coding agents ā ask questions, get approvals via Slack.
Share context and questions between Claude instances ā VS Code, claude.ai web, and mobile.
Related MCP Servers
- AlicenseAqualityDmaintenanceEnables remote control of AI coding assistants (Claude Code/Codex) via Telegram, allowing you to manage long-running tasks, send commands, and receive notifications from anywhere. Supports unattended mode with smart polling for up to 7 days and multi-session management.830MIT
- AlicenseNot gradedqualityDmaintenanceConnects Claude Code sessions to Telegram, enabling AI-powered code assistance and file management directly from Telegram chats.89MIT
- AlicenseAqualityCmaintenanceEnables Claude Code to send and receive messages via Telegram for remote interaction and approval of sensitive operations.86 npm7MIT
- AlicenseAqualityDmaintenanceEnables mobile control of Antigravity coding agents via Telegram, allowing task submission, plan approval, and artifact viewing.172MIT