Skip to main content
Glama
c1hucktay4lors

telegram-notifier

HeadsUp — Telegram for your local model

Give your AI a line to your phone. It pings you on Telegram when a task finishes — and you can reply from your phone to steer it mid-task, without touching the computer.

It's a small MCP server for LM Studio: one Node process, four tools, no cloud.

What you get

  • Notifications — a push on your phone when the AI finishes something, with a ✅ / ℹ️ / ⚠️ / ❌ header

  • Two-way — the AI can ask you a question on Telegram and wait for your answer, so you can decide from anywhere

Related MCP server: Telegram MCP Server

Setup

You'll need Node.js, LM Studio, and a Telegram account.

1. Create a bot

  1. In Telegram, message @BotFather

  2. Send /newbot and follow the prompts

  3. Copy the API token it gives you

2. Get your chat ID

  1. Message @userinfobot in Telegram

  2. Copy the Id number from its reply

3. Start the bot

Search for your bot in Telegram and tap Start — the bot can't message you until you do.

4. Install

From the folder that contains index.js:

npm install

5. Configure

Add this to LM Studio's MCP settings (mcp.json). Replace the path, chat ID, and token with your own:

{
  "mcpServers": {
    "telegram-notifier": {
      "command": "node",
      "args": ["/path/to/HeadsUp-MCP/index.js"],
      "env": {
        "TELEGRAM_CHAT_ID": "YOUR_CHAT_ID",
        "TELEGRAM_BOT_TOKEN": "YOUR_BOT_TOKEN"
      }
    }
  }
}
  • Token missing? The server logs a clear error and exits — nothing fails silently.

  • More than one device? Put several chat IDs in, comma-separated — "TELEGRAM_CHAT_ID": "123456, 789012" — and every notification goes to all of them.

6. Restart LM Studio

Fully quit and reopen it so it loads the new server.

Using it

Just ask:

"Write a Python script to sort a list. Ping me on Telegram when you're done."

You'll get a push the moment it finishes.

Notification options

The send_telegram_notification tool takes:

Parameter

Required

What it does

message

The body — a short summary of what happened

type

success (✅, default), info (ℹ️), warning (⚠️), error (❌) — sets the header

title

A custom bold title above the message (e.g. the task name)

silent

true = no sound

Long messages split themselves to fit Telegram's limits, and if your text trips up Telegram's Markdown the message is retried plain instead of failing.

Asking you back

The bot can also ask and wait:

Tool

What it does

send_message

Sends a plain message to your phone (no header)

retrieve_messages

Non-blocking — grab everything you've sent since the last check

wait_for_reply

Asks a question and waits up to 55s for your reply, then carries on

For example:

"Which database should I use for this?" → the AI asks on your phone: "SQLite or Postgres?" → you tap SQLite from wherever you are → the AI keeps going with SQLite

A couple of things worth knowing:

  • Replies are kept in memory for the current conversation — if LM Studio restarts, the queue clears (your messages are still in your Telegram history, obviously).

  • It's guarded against runaway loops — the bot won't keep asking or re-asking on its own.

Testing

npm test            # offline end-to-end suite (mocked Bot API — nothing touches your phone)
node e2e-test.mjs   # LIVE test: really sends to your phone — set TELEGRAM_BOT_TOKEN + TELEGRAM_CHAT_ID first

Sharing it

Hand someone index.js, package.json, and this README. They run npm install, grab their own chat ID from @userinfobot, start the bot, and drop their chat ID and token into their mcp.json. Everyone uses their own token — nothing is ever hardcoded.

Troubleshooting

Symptom

Fix

chat not found

You haven't tapped Start on the bot yet

Missing TELEGRAM_CHAT_ID or Missing TELEGRAM_BOT_TOKEN

Check the env block in mcp.json

MODULE_NOT_FOUND

Make sure the path in args is absolute and correct

401 Unauthorized

The bot token is invalid — regenerate it in @BotFather

License

MIT

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Enables 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.
    8
    30
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables AI assistants to interact with users via Telegram to request decisions, approvals, or specific input through text and clickable buttons. This facilitates a human-in-the-loop workflow where the AI can pause for feedback or send status notifications during long-running tasks.
    3
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    Connects VS Code Copilot to Telegram for mobile notifications, interactive approval workflows, and remote command input. Enables users to monitor AI agents, approve sensitive operations, and provide follow-up instructions from their smartphone.
    MIT