@bossforce.ai/mcp-telegram-bot
v0.2.0
Published
MCP server for the Telegram **Bot API** (a bot identity created via @BotFather). For acting as a personal Telegram account (MTProto), see a future `telegram-user` server — that is a different API with different auth and risks.
Readme
@bossforce.ai/mcp-telegram-bot
MCP server for the Telegram Bot API (a bot identity created via @BotFather).
For acting as a personal Telegram account (MTProto), see a future
telegram-user server — that is a different API with different auth and risks.
Credentials
| Env | How to obtain |
| -------------------- | ---------------------------------------------------------------------- |
| TELEGRAM_BOT_TOKEN | Create a bot via @BotFather, copy the token. |
The token is read lazily, so the server boots and answers tools/list without
it; calls fail with an auth error until it is set.
Tools
| Tool | Arguments | Returns |
| -------------- | --------------------------------------------------------------------------------- | ----------------------------------- |
| get_me | — | Bot User |
| send_message | chat_id, text, parse_mode?, reply_to_message_id?, disable_notification? | sent Message |
| send_photo | chat_id, photo (URL or file_id), caption?, parse_mode? | sent Message |
| get_updates | offset?, limit?, timeout? | { updates: Update[] } |
| get_file | file_id | image content (photos) or file blob |
Results are Telegram's native objects, returned as structuredContent.
Polling
get_updates is polling-based: pass offset = last update_id + 1 to acknowledge
processed updates. Real-time delivery needs a separate poller or webhook, which
is out of scope for this server.
Develop
pnpm --filter @bossforce.ai/mcp-telegram-bot build
pnpm --filter @bossforce.ai/mcp-telegram-bot testRegenerate the tools/list snapshot after an intentional signature change:
UPDATE_SNAPSHOTS=1 pnpm --filter @bossforce.ai/mcp-telegram-bot test