tg_send_photo
Send photos through Telegram bots to share images with specific chats. Configure chat IDs, add captions, and reply to messages for visual notifications.
Instructions
Send photo via telegram bot
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| photo | Yes | Photo URL | |
| chat_id | No | Telegram chat id, Default to get from environment variables | |
| caption | No | Photo caption, 0-1024 characters after entities parsing | |
| parse_mode | No | Mode for parsing entities in the caption. [text/MarkdownV2] | |
| reply_to_message_id | No | Identifier of the message that will be replied to |
Implementation Reference
- mcp_notify/tgbot.py:86-106 (handler)Full implementation of the tg_send_photo tool: registers the tool with MCP, defines input schema using Pydantic Fields, handles MarkdownV2 parsing for caption, and sends the photo using the telegram.Bot.send_photo method.@mcp.tool( title="Telegram send photo", description="Send photo via telegram bot", ) async def tg_send_photo( photo: str = Field(description="Photo URL"), chat_id: str = Field("", description="Telegram chat id, Default to get from environment variables"), caption: str = Field("", description="Photo caption, 0-1024 characters after entities parsing"), parse_mode: str = Field("", description=f"Mode for parsing entities in the caption. [text/MarkdownV2]"), reply_to_message_id: int = Field(0, description="Identifier of the message that will be replied to"), ): if parse_mode == TELEGRAM_MARKDOWN_V2: caption = telegramify_markdown.markdownify(caption) res = await bot.send_photo( chat_id=chat_id or TELEGRAM_DEFAULT_CHAT, photo=photo, caption=caption or None, 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 bot tools, including tg_send_photo, by calling tgbot.add_tools on the main MCP instance.tgbot.add_tools(mcp)
- mcp_notify/tgbot.py:56-60 (helper)Creates the Telegram Bot instance used by tg_send_photo and other tg_ tools, with custom base URLs from 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