{
  "markdown": "[![bloom-banner-01-light-tags-1500x500](https://github.com/user-attachments/assets/31139b9d-1b89-44e8-b563-5bb7ba150b7b)](https://bloom.parthjadhav.com)\n\n# Telegram Notify MCP\n\n[![npm version](https://img.shields.io/npm/v/@parthj/telegram-notify-mcp.svg)](https://www.npmjs.com/package/@parthj/telegram-notify-mcp)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\nA dead-simple [MCP](https://modelcontextprotocol.io) server with one job: **send AI agent progress back to you on Telegram.**\n\nThat's it. No chat management, no group administration, no inline queries. Just notifications — as text, images, or files.\n\nYou kick off an agent, walk away, and get a Telegram message when it's done (or while it's working). Nothing more, nothing less.\n\n## Quick Start\n\n### 1. Create a Telegram Bot\n\n1. Message [@BotFather](https://t.me/BotFather) on Telegram\n2. Send `/newbot` and follow the prompts\n3. Copy the bot token\n\n### 2. Start a chat with your bot\n\nFind your bot on Telegram and send `/start`. This is required so the bot can discover your chat ID.\n\n### 3. Add to your MCP client\n\n#### Claude Code\n\n```bash\nclaude mcp add telegram -e TELEGRAM_BOT_TOKEN=your-token -e TELEGRAM_USERNAME=your-username -- npx @parthj/telegram-notify-mcp\n```\n\n#### Claude Desktop / Cursor / Windsurf\n\nAdd to your MCP config file:\n\n```json\n{\n  \"mcpServers\": {\n    \"telegram\": {\n      \"command\": \"npx\",\n      \"args\": [\"-y\", \"@parthj/telegram-notify-mcp\"],\n      \"env\": {\n        \"TELEGRAM_BOT_TOKEN\": \"your-bot-token\",\n        \"TELEGRAM_USERNAME\": \"your-telegram-username\"\n      }\n    }\n  }\n}\n```\n\n## Configuration\n\n| Environment Variable | Required | Description |\n|---|---|---|\n| `TELEGRAM_BOT_TOKEN` | Yes | Bot token from [@BotFather](https://t.me/BotFather) |\n| `TELEGRAM_USERNAME` | Yes | Your Telegram username (without the @) |\n\n## Tools\n\nThree tools. That's the entire surface area.\n\n### `send_message`\n\nSend a text update to the user.\n\n| Parameter | Type | Required | Description |\n|---|---|---|---|\n| `text` | string | Yes | The message text |\n| `parse_mode` | string | No | `HTML`, `Markdown`, or `MarkdownV2` |\n\n### `send_photo`\n\nSend an image — a screenshot, a chart, a generated visual.\n\n| Parameter | Type | Required | Description |\n|---|---|---|---|\n| `photo` | string | Yes | URL or absolute file path |\n| `caption` | string | No | Photo caption |\n| `parse_mode` | string | No | Caption formatting mode |\n\n### `send_document`\n\nSend a file — a report, a log, a build artifact.\n\n| Parameter | Type | Required | Description |\n|---|---|---|---|\n| `document` | string | Yes | URL or absolute file path |\n| `caption` | string | No | Document caption |\n| `parse_mode` | string | No | Caption formatting mode |\n\n## How It Works\n\n- On the first tool call, the server resolves your username to a chat ID via the Telegram Bot API's `getUpdates`\n- Sending `/start` to the bot is required — Telegram bots can only message users who have initiated a conversation\n- The chat ID is cached for the lifetime of the process\n\n## Development\n\n```bash\ngit clone https://github.com/ParthJadhav/telegram-notify-mcp.git\ncd telegram-notify-mcp\nnpm install\nnpm run build\n```\n\n## License\n\nMIT",
  "bytes": 3220,
  "sha": "ddd188ba39fa268f1b02b72578c1bf5b061cefe30a171bc502706ac2566792fd",
  "repo_slug": "parthjadhav/telegram-notify-mcp",
  "fonte": "repo",
  "truncated": false,
  "api": "https://agentalog.com/api/listings/mcp_io_github_parthjadhav_telegram_notify_mc_91d57b62/readme"
}