Prototype · Preview: every server in the official registry, synced every 30 minutes. Reviews and accounts come in a later step.
PopNx MCPMCP servers for people who use AI · explained in plain words

telegram-notify

by yybdversion 0.1.1i★ –iRuns on your computer
Registry nameio.github.yybd/telegram-notify-mcp

Install

Overview

Description from the maker (original English)

Send-only Telegram notifications to one fixed chat. No polling, no recipient override, 2 tools.

PopNx MCP’s three pillars

These three are never merged into one score: opinions, measurements and popularity are different things.

What you can do with it

We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.

  • Connection: Runs on your computer
  • Transport: stdio
  • Category: Chat & email
  • You need to fill in: TELEGRAM_BOT_TOKEN, TELEGRAM_CHAT_ID

Install

Pick the AI app you use, then copy the settings.

Before you install

  • Basic checks: 1 of 1 passed
  • Runs on your computer with your user’s permissions (files, network, apps).
  • You fill in yourself: TELEGRAM_BOT_TOKEN, TELEGRAM_CHAT_ID, TELEGRAM_NOTIFY_FILES_DIR

Values marked secret are keys to your account. Never share them or paste them into a chat.

You need

  • npmNode.js installed (for the npx command)

Which app do you use?

Pick your app above. We remember it, so next time the button says “Install in …”.

Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json

{
  "mcpServers": {
    "telegram-notify": {
      "command": "npx",
      "args": [
        "-y",
        "@yybd/telegram-notify-mcp"
      ],
      "env": {
        "TELEGRAM_BOT_TOKEN": "your-value",
        "TELEGRAM_CHAT_ID": "your-value",
        "TELEGRAM_NOTIFY_FILES_DIR": "your-value"
      }
    }
  }
}

Run this in your terminal

claude mcp add telegram-notify --env TELEGRAM_BOT_TOKEN=your-value --env TELEGRAM_CHAT_ID=your-value --env TELEGRAM_NOTIFY_FILES_DIR=your-value -- npx -y @yybd/telegram-notify-mcp

Fill in the empty values before running it.

Open in Cursor

Or copy the settings yourself

Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json

{
  "mcpServers": {
    "telegram-notify": {
      "command": "npx",
      "args": [
        "-y",
        "@yybd/telegram-notify-mcp"
      ],
      "env": {
        "TELEGRAM_BOT_TOKEN": "your-value",
        "TELEGRAM_CHAT_ID": "your-value",
        "TELEGRAM_NOTIFY_FILES_DIR": "your-value"
      }
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

Open in VS Code

Or copy the settings yourself

Paste into .vscode/mcp.json in your project

{
  "servers": {
    "telegram-notify": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@yybd/telegram-notify-mcp"
      ],
      "env": {
        "TELEGRAM_BOT_TOKEN": "your-value",
        "TELEGRAM_CHAT_ID": "your-value",
        "TELEGRAM_NOTIFY_FILES_DIR": "your-value"
      }
    }
  }
}

Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.

This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.

Your choice stays on this device in a cookie; no account needed.

Values you fill in

  • TELEGRAM_BOT_TOKEN secret required env
    Bot token from @BotFather (or run `telegram-notify-mcp setup` to save it to a file instead)
  • TELEGRAM_CHAT_ID required env
    The one chat that receives every message; tools cannot change it
  • TELEGRAM_NOTIFY_FILES_DIR env
    Folder notify_file may send from. Unset means file sending is off

These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.

What it can do

Runs on your computer; the tool list appears in your AI app after you install it.

Basic checksi

We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 8, 2026

  • ✓ Pass

    Maker matches the repo

    The registry name was verified with the GitHub account yybd, which owns the repo

  • … Not checked yet

    Still maintained

    We have not read this repo from GitHub yet

  • … Not checked yet

    Has a licence

    We have not read this repo from GitHub yet

  • – Not applicable

    Endpoint responds

    This one runs on your computer; there is no internet endpoint

  • – Not applicable

    Sign-in with OAuth

    Runs on your computer and uses local settings instead

  • … Not checked yet

    No hidden instructions in tool descriptions

    Runs on your computer; we can only read tool lists from internet endpoints

Compared with others in Chat & emaili

  • More stars than 0% of the other 1846 servers in this category
  • Published to the registry more recently than 97% of the other 1846 servers in this category
  • Basic checks equal to or better than 100% of the other 1846 servers in this category

Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.

Common questions

Is telegram-notify safe?

It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.

What keys or codes does it need?

You need to fill in: TELEGRAM_BOT_TOKEN, TELEGRAM_CHAT_ID

Does it run on my computer or in the cloud?

It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).

Is it still maintained?

The GitHub repo last changed –, and the latest version (0.1.1) reached the registry today.

Which apps can use it?

Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js on your computer.

What can I use instead?

In the same category: Vexa, emailmd, MCP WhatsApp Cloud

Alternatives

Servers in the same category from other makers, sorted by stars.

Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi

Vexa

by Vexa-ai

Meeting bot and transcripts for Google Meet, Teams and Zoom. Live or after, speakers labelled.

Runs in the cloud★ 2,949Apache-2.0Updated 2 months ago
Install

emailmd

by anypost

Render markdown into email-safe HTML, lint drafts for deliverability problems, and preview emails.

Computer or cloud★ 1,385MITUpdated 32 days ago
Install

MCP server for WhatsApp Cloud API (Meta) — messages, media, and templates via Graph API

Runs on your computer★ 277MITUpdated 5 months ago
Install

README from the maker

Open the README

Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.

*English · עברית*

telegram-notify MCP

A small, send-only MCP server that lets Claude (or any MCP client) send Telegram notifications to you: a scheduled job finished, a long build failed, a reminder came due.

  • One fixed recipient. The chat is set in configuration. No tool takes a chat id, so the model cannot send anywhere else.
  • Never polls. It calls sendMessage, sendDocument and getMe, and never getUpdates. The same bot can keep serving another tool that polls it (for example the Claude Code Telegram channel plugin) with no 409 Conflict, and nothing expires after 24 hours.
  • Two tools, no Telegram library, two runtime dependencies (the MCP SDK and zod).

Tools

ToolWhat it does
notifySends text to your chat. Plain text by default; format: "markdown" turns **bold**, _italic_, `code` , code blocks, [links](https://…) and # headings into Telegram HTML, with everything else escaped. Over 4096 characters it is split into several messages. silent: true delivers without a sound
notify_fileSends a file (up to 50 MB) with an optional caption, only from one folder you allow (TELEGRAM_NOTIFY_FILES_DIR). Paths are resolved to their real location first, so .. and symlinks cannot reach outside it. Without that variable every call is refused

The tools are one-way: replies you type in Telegram never come back to the model.

Setup

1. A bot. In Telegram, open @BotFather, send /newbot, and copy the token. An existing bot works too, even one another tool already polls.

2. Your chat id. Open a chat with your bot and press Start (a bot may only message people who started it). Then get your numeric id from a bot such as @userinfobot. A group's id is negative; a channel can be given as @channelname once the bot is an admin there.

3. Save it, either way:

npx -y @yybd/telegram-notify-mcp setup

This asks for the token (hidden) and the chat id, checks the token, writes ~/.telegram-notify/config.json with 600 permissions and sends a test message. Add --files-dir to allow notify_file. TELEGRAM_NOTIFY_HOME moves the folder.

Or pass environment variables to the server, which override the file:

Variable
TELEGRAM_BOT_TOKENrequired
TELEGRAM_CHAT_IDrequired; the only recipient
TELEGRAM_NOTIFY_FILES_DIRoptional; the only folder notify_file may read. Unset = file sending off

Check it any time:

npx -y @yybd/telegram-notify-mcp test

Connect your clients

Claude Code

Recommended: run setup first (see above), then add the server with no secrets on the command line:

claude mcp add telegram-notify -s user -- npx -y @yybd/telegram-notify-mcp

The token then stays in ~/.telegram-notify/config.json (mode 600) and out of ~/.claude.json.

Or with environment variables instead of setup. Replace the example values with yours and keep the quotes. Don't type angle brackets such as : the shell reads < as "read from a file" and the command fails with no such file or directory.

claude mcp add telegram-notify -s user -e TELEGRAM_BOT_TOKEN="123456789:AAExampleTokenFromBotFather" -e TELEGRAM_CHAT_ID="987654321" -- npx -y @yybd/telegram-notify-mcp

This stores the token in ~/.claude.json.

New sessions pick up the server; one that is already open doesn't.

To send without a permission prompt each time, allow the tool in ~/.claude/settings.json: "permissions": { "allow": ["mcp__telegram-notify__notify"] }. That is safe because of the fixed recipient: the worst a confused model can do is message you.

Claude Desktop

One click (recommended): download telegram-notify- .mcpb from the latest release and double-click it, or drag it onto Settings → Extensions in Claude Desktop. Desktop asks for the bot token (stored as a secret), the chat id and, optionally, the folder for files, then installs it. Nothing else is needed: Desktop runs the extension with its own Node.js, and you don't need setup.

Or by hand: in ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows):

{

"mcpServers": { "telegram-notify": { "command": "npx", "args": ["-y", "@yybd/telegram-notify-mcp"] } } }

Add "env": { "TELEGRAM_BOT_TOKEN": "…", "TELEGRAM_CHAT_ID": "…" } if you didn't run setup. Then restart Claude Desktop. If it can't find npx, use its full path (which npx).

How it compares

Checked on 2026-11-07 against each project's source code, with star counts from that day.

OptionRecipientReads updates (getUpdates)Shares a bot with a pollerToolsFiles
telegram-notify (this)fixed in config; no tool parameterneveryes2one allowed folder, symlink-safe; off by default
ParthJadhav/telegram-notify-mcp (7 ⭐)found by username in getUpdatesyes, on every process startno3any local path
aahl/mcp-notify (29 ⭐)TELEGRAM_DEFAULT_CHAT, but every Telegram tool takes a chat_id the model can overridenoyes20+ (Telegram, WeCom, Home Assistant, others)by URL
antonio-castellon/mcp-telegram-bridge (0 ⭐)chat_id per callyes, a telegram_get_updates toolno6no
Official Claude channel plugins (Telegram)whoever pairsyes, continuouslyit *is* the poller—yes

Why that matters:

  • ParthJadhav/telegram-notify-mcp is the closest in shape, but it learns your chat id from getUpdates each time it starts. Telegram keeps updates for only 24 hours, so a day after you last messaged the bot, it can no longer find you. Its getUpdates call also fails with 409 Conflict while another process polls the same bot.
  • aahl/mcp-notify works with a default chat, but the model may pass any chat_id, and it registers about twenty tools across many platforms.
  • mcp-telegram-bridge is two-way by design: it reads inbound messages, so it cannot be send-only and has the same polling conflict.
  • Channel plugins poll the bot to receive messages and belong to the one session that runs them; they are not a way for every session and client to notify you.

What telegram-notify gives you: a fixed recipient, no polling, one bot shared with your other tools, two tools, and file sending confined to one folder. What it deliberately doesn't do: receive messages, ask you questions and wait for answers, or send to anyone else.

Security notes

  • The token is never logged, and it is removed from every error message before it reaches the model or your terminal.
  • config.json is written with 600 permissions.
  • The server writes nothing to stdout except the MCP protocol, and talks to api.telegram.org only.

Development

npm test

The tests run offline, with fetch mocked. They check that getUpdates is never called, that a smuggled chat_id is ignored, that the file sandbox rejects .., absolute paths and symlinks, that the token is redacted from errors, and that long text is split.

./scripts/pack-mcpb.sh builds the Claude Desktop extension, telegram-notify- .mcpb, from manifest.json, dist/ and the production dependencies.

Layout:

  • src/config.ts — environment and config file
  • src/telegram.ts — Bot API calls, Markdown → HTML, splitting, the file sandbox
  • src/server.ts — the two tools
  • src/cli.ts — setup and test
  • src/main.ts — the command the package installs

License

MIT

Ask PopNx