tg_send_file
Send files to Telegram chats using a bot by providing a URL, with options for captions, reply threading, and chat targeting.
Instructions
Send general files via telegram bot
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| url | Yes | File URL | |
| chat_id | No | Telegram chat id, Default to get from environment variables | |
| caption | No | File 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:125-145 (handler)The handler function for tg_send_file tool. It uses the Telegram Bot to send a document (file) from a URL, with optional caption, parse_mode, and reply_to. The input parameters are defined with Pydantic Fields, serving as the schema. MarkdownV2 captions are processed with telegramify_markdown. The function is registered via @mcp.tool decorator.@mcp.tool( title="Telegram send file", description="Send general files via telegram bot", ) async def tg_send_file( url: str = Field(description="File URL"), chat_id: str = Field("", description="Telegram chat id, Default to get from environment variables"), caption: str = Field("", description="File 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_document( chat_id=chat_id or TELEGRAM_DEFAULT_CHAT, document=url, 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 tools from the tgbot module, including tg_send_file, by calling its add_tools function on the FastMCP instance.tgbot.add_tools(mcp)
- mcp_notify/__init__.py:7-9 (registration)Imports the tgbot module which contains the tg_send_file tool implementation.from . import ( wework, tgbot,