Vexa
Meeting bot and transcripts for Google Meet, Teams and Zoom. Live or after, speakers labelled.
제작자가 쓴 설명(영어 원문)
Send-only Telegram notifications to one fixed chat. No polling, no recipient override, 2 tools.
이 세 가지는 절대 하나의 점수로 합치지 않아요. 의견, 측정, 인기는 서로 다른 것이니까요.
이 서버는 아직 쉬운 말로 된 요약을 쓰지 못했어요. 아래는 레지스트리에서 읽어 온 사실이에요.
쓰고 있는 AI 앱을 고른 다음 설정을 복사하세요.
TELEGRAM_BOT_TOKEN, TELEGRAM_CHAT_ID, TELEGRAM_NOTIFY_FILES_DIR비밀로 표시된 값은 내 계정의 열쇠예요. 절대 다른 사람과 공유하거나 채팅에 붙여 넣지 마세요.
필요한 것
어떤 앱을 쓰세요?
위에서 앱을 고르세요. 기억해 두었다가 다음부터는 버튼에 “…에 설치”라고 표시해요.
Claude Desktop → Settings → Developer → Edit Config를 열고 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"
}
}
}
}터미널에서 이 명령어를 실행하세요
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실행하기 전에 빈 값을 채워 주세요.
프로젝트의 .cursor/mcp.json 또는 ~/.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"
}
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
프로젝트의 .vscode/mcp.json에 붙여 넣으세요
{
"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"
}
}
}
}브라우저가 앱을 열지 물어본 다음, 앱이 설정을 보여 주고 확인을 요청해요. 키 값은 비워 두니 직접 입력하세요.
이 서버는 내 컴퓨터에서 실행되는데, ChatGPT는 인터넷에 있는 서버에만 연결할 수 있어요. 다른 앱을 고르세요.
선택한 앱은 이 기기의 쿠키에만 저장돼요. 계정은 필요 없어요.
TELEGRAM_NOTIFY_FILES_DIR env이 설정은 제작자의 레지스트리 정보로 만들었어요. README와 다르면 README를 따르세요.
내 컴퓨터에서 실행돼요. 설치하면 AI 앱에 도구 목록이 나타나요.
누구나 볼 수 있는 정보를 점검했고, 코드는 읽지 않았어요. 해당하지 않는 항목은 개수에서 뺐어요. · 2026년 11월 8일 점검
레지스트리 이름이 GitHub 계정 yybd 기준으로 확인되었고, 이 계정이 저장소를 소유하고 있어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
아직 GitHub에서 이 저장소를 읽어 오지 않았어요
내 컴퓨터에서 실행되는 서버라 인터넷 엔드포인트가 없어요
내 컴퓨터에서 실행되며, 대신 로컬 설정을 사용해요
내 컴퓨터에서 실행돼요. 도구 목록은 인터넷 엔드포인트가 있는 서버에서만 읽을 수 있어요
레지스트리에서 이 카테고리의 활성 서버 전체와 비교했어요. 스타는 게시자가 저장소를 소유한 경우에만 세요.
해당하는 기본 점검 1개 중 1개를 통과했어요. 코드는 읽지 않았어요. 키나 토큰을 넣기 전에 서버가 어떤 권한을 요구하는지 확인하고, 꼭 필요한 권한만 있는 키를 쓰세요.
입력해야 할 값: TELEGRAM_BOT_TOKEN, TELEGRAM_CHAT_ID
내 컴퓨터에서 실행돼요. AI 앱이 필요할 때 실행하고, 데이터는 제작자의 서버를 거치지 않아요(서버 자체가 온라인 서비스를 호출하는 경우는 제외).
GitHub 저장소는 마지막으로 – 변경됐고, 최신 버전(0.1.1)은 오늘 레지스트리에 올라왔어요.
Claude Desktop, Claude Code, Cursor, VS Code처럼 MCP를 지원하는 앱에서 쓸 수 있어요. 내 컴퓨터에 Node.js도 있어야 해요.
같은 카테고리에는: Vexa, emailmd, MCP WhatsApp Cloud
같은 카테고리에서 다른 제작자가 만든 서버예요. 스타 순으로 정렬했어요.
카드 보는 법:★ GitHub 스타i세 기둥: 리뷰 · 점검 · 사용 정도i업데이트 = 최신 버전을 레지스트리에 공개한 날i
Meeting bot and transcripts for Google Meet, Teams and Zoom. Live or after, speakers labelled.
Render markdown into email-safe HTML, lint drafts for deliverability problems, and preview emails.
MCP server for WhatsApp Cloud API (Meta) — messages, media, and templates via Graph API
제작자의 저장소에서 쓰인 그대로 가져왔어요. PopNx MCP가 검토하거나 보증한 내용이 아니에요. HTML, 이미지, 스크립트는 제거했어요. 링크를 누르면 이 사이트를 벗어나요.
*English · עברית*
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.
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.| Tool | What it does |
|---|---|
notify | Sends 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_file | Sends 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.
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_TOKEN | required |
TELEGRAM_CHAT_ID | required; the only recipient |
TELEGRAM_NOTIFY_FILES_DIR | optional; the only folder notify_file may read. Unset = file sending off |
Check it any time:
npx -y @yybd/telegram-notify-mcp test
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.
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).
Checked on 2026-11-07 against each project's source code, with star counts from that day.
| Option | Recipient | Reads updates (getUpdates) | Shares a bot with a poller | Tools | Files |
|---|---|---|---|---|---|
| telegram-notify (this) | fixed in config; no tool parameter | never | yes | 2 | one allowed folder, symlink-safe; off by default |
| ParthJadhav/telegram-notify-mcp (7 ⭐) | found by username in getUpdates | yes, on every process start | no | 3 | any local path |
| aahl/mcp-notify (29 ⭐) | TELEGRAM_DEFAULT_CHAT, but every Telegram tool takes a chat_id the model can override | no | yes | 20+ (Telegram, WeCom, Home Assistant, others) | by URL |
| antonio-castellon/mcp-telegram-bridge (0 ⭐) | chat_id per call | yes, a telegram_get_updates tool | no | 6 | no |
| Official Claude channel plugins (Telegram) | whoever pairs | yes, continuously | it *is* the poller | — | yes |
Why that matters:
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.chat_id, and it registers about twenty tools across many platforms.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.
config.json is written with 600 permissions.api.telegram.org only.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 filesrc/telegram.ts — Bot API calls, Markdown → HTML, splitting, the file sandboxsrc/server.ts — the two toolssrc/cli.ts — setup and testsrc/main.ts — the command the package installsMIT