tg_send_message
Send text messages through a Telegram bot to specified chat IDs, supporting multiple parsing modes for formatted content delivery.
Instructions
Send text message via telegram bot
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| chat_id | No | Telegram chat id, Default to get from environment variables | |
| parse_mode | No | Mode for parsing entities in the message text. [text/MarkdownV2] | |
| text | Yes | Text of the message to be sent, 1-4096 characters after entities parsing |
Implementation Reference
- mcp_notify/tgbot.py:63-83 (handler)The main handler function for the 'tg_send_message' tool. It sends a text message (with optional MarkdownV2 parsing) to a Telegram chat using the Bot API, returning the JSON response.@mcp.tool( title="Telegram send text", description="Send text or markdown message via telegram bot", ) async def tg_send_message( text: str = Field(description="Text of the message to be sent, 1-4096 characters after entities parsing"), chat_id: str = Field("", description="Telegram chat id, Default to get from environment variables"), parse_mode: str = Field("", description=f"Mode for parsing entities in the message text. [text/MarkdownV2]"), reply_to_message_id: int = Field(0, description="Identifier of the message that will be replied to"), ): if not bot: return "Please set the `TELEGRAM_BOT_TOKEN` environment variable" if parse_mode == TELEGRAM_MARKDOWN_V2: text = telegramify_markdown.markdownify(text) res = await bot.send_message( chat_id=chat_id or TELEGRAM_DEFAULT_CHAT, text=text, parse_mode=parse_mode if parse_mode in [TELEGRAM_MARKDOWN_V2] else None, reply_to_message_id=reply_to_message_id or None, ) return res.to_json()
- mcp_notify/__init__.py:20-20 (registration)Registers all Telegram tools, including 'tg_send_message', by calling the add_tools function from tgbot module on the FastMCP instance.tgbot.add_tools(mcp)
- mcp_notify/tgbot.py:56-60 (helper)Creates the shared Telegram Bot instance used by the tg_send_message and other tg_ tools, configured with environment variables.bot = Bot( TELEGRAM_BOT_TOKEN, base_url=f"{TELEGRAM_BASE_URL}/bot", base_file_url=f"{TELEGRAM_BASE_URL}/file/bot", ) if TELEGRAM_BOT_TOKEN else None
- mcp_notify/tgbot.py:68-72 (schema)Pydantic Field definitions providing input schema validation and descriptions for the tg_send_message tool parameters.text: str = Field(description="Text of the message to be sent, 1-4096 characters after entities parsing"), chat_id: str = Field("", description="Telegram chat id, Default to get from environment variables"), parse_mode: str = Field("", description=f"Mode for parsing entities in the message text. [text/MarkdownV2]"), reply_to_message_id: int = Field(0, description="Identifier of the message that will be replied to"), ):