vscode-copilot-telegram
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| TELEGRAM_USER_ID | Yes | Your numeric Telegram user id, obtained from @userinfobot. | |
| TELEGRAM_BOT_TOKEN | Yes | The token for your Telegram bot, obtained from @BotFather. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
Use run_command for every shell command; the user approves each one from Telegram. Use ask_user whenever you need a decision or information from the user. Use notify for short progress updates at milestones.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| ask_userA | Ask the user a question on Telegram and wait for the answer. Returns the user's answer text, or the string 'timeout' if they did not answer in time. |
| run_commandA | Run a shell command in the workspace after the user approves it on Telegram. Returns decision (approved, auto-approved, denied, denied-timeout, denied-error, blocked, rejected), exit_code (null if not run), and output (combined stdout/stderr, truncated). If denied, the command did not run: do not retry it in another form; adjust your plan or ask_user. |
| notifyA | Send a one-way status message to the user's Telegram (does not wait for a reply). |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 3 tools
Each tool has a clearly distinct purpose: ask_user waits for a reply, notify sends one-way, and run_command executes with approval. There is no meaningful overlap between them.
ask_user and run_command follow a clear verb_noun pattern, but notify is a bare verb. The deviation is minor and the names remain readable.
Three tools is well-scoped for a narrow Telegram-mediated interaction layer. Each tool earns its place without redundancy.
The surface covers the core lifecycle: one-way notification, interactive questions, and approved command execution. Minor gaps exist, such as no way to send richer interactive messages or update prior messages, but core workflows are covered.