tg_send_video
Send video messages through Telegram bots using the Notify MCP Server. Upload videos with optional captions, covers, and reply functionality for communication workflows.
Instructions
Send video via telegram bot
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| video | Yes | Video URL | |
| cover | No | Cover for the video in the message. Optional | |
| chat_id | No | Telegram chat id, Default to get from environment variables | |
| caption | No | Video 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:113-131 (handler)Executes the tg_send_video tool: handles markdown parsing for caption if MarkdownV2, sends video using Telegram Bot API, returns JSON response.async def tg_send_video( video: str = Field(description="Video URL"), cover: str = Field("", description="Cover for the video in the message. Optional"), chat_id: str = Field("", description="Telegram chat id, Default to get from environment variables"), caption: str = Field("", description="Video 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_video( chat_id=chat_id or TELEGRAM_DEFAULT_CHAT, video=video, cover=cover or None, 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/tgbot.py:109-112 (registration)Registers the tg_send_video function as an MCP tool with title and description.@mcp.tool( title="Telegram send video", description="Send video via telegram bot", )
- mcp_notify/tgbot.py:114-120 (schema)Input schema defined using Pydantic Field with descriptions, types, and defaults for tool parameters.video: str = Field(description="Video URL"), cover: str = Field("", description="Cover for the video in the message. Optional"), chat_id: str = Field("", description="Telegram chat id, Default to get from environment variables"), caption: str = Field("", description="Video 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"), ):
- mcp_notify/__init__.py:20-20 (registration)Invokes add_tools from tgbot module to register all Telegram bot tools, including tg_send_video.tgbot.add_tools(mcp)
- mcp_notify/tgbot.py:56-60 (helper)Creates the Telegram Bot instance shared across all tg_send_* tool handlers.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