Skip to main content
Glama

tg_send_photo

Send photos through Telegram bots by providing a photo URL and optional caption, chat ID, and reply settings. Integrates with Notify MCP Server for cross-platform notifications.

Instructions

Send photo via telegram bot

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
photoYesPhoto URL
chat_idNoTelegram chat id, Default to get from environment variables
captionNoPhoto caption, 0-1024 characters after entities parsing
parse_modeNoMode for parsing entities in the caption. [text/MarkdownV2]
reply_to_message_idNoIdentifier of the message that will be replied to

Implementation Reference

  • The core handler function implementing the tg_send_photo tool. It uses the Telegram Bot to send a photo with optional caption (supporting MarkdownV2), chat_id, and reply_to_message_id, falling back to environment defaults.
    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()
  • The @mcp.tool decorator registers the tg_send_photo function as an MCP tool with specified title and description.
    @mcp.tool( title="Telegram send photo", description="Send photo via telegram bot", )
  • Pydantic Field annotations define the input schema for the tool, including descriptions and defaults for photo URL, chat ID, caption, parse mode, and reply ID.
    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"), ):
  • Calls tgbot.add_tools(mcp) to register all Telegram bot tools, including tg_send_photo, to the main FastMCP instance.
    tgbot.add_tools(mcp)

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/aahl/mcp-notify'

If you have feedback or need assistance with the MCP directory API, please join our Discord server