Skip to main content
Glama
aggeentik

Telegram Bot MCP Server

by aggeentik

telegram_edit_message_caption

Idempotent

Edit the caption of an existing photo or media message in a Telegram channel. Replace the current caption with new text, requiring the bot as original sender.

Instructions

Edit the caption of an existing photo message in a Telegram channel.

Use this tool to modify the caption text of a previously published photo message. This only works for messages that contain media (photos, videos, etc.). You cannot change the photo itself, only the caption text. The bot must be the original sender of the message and have edit permissions.

Args: channel_id: Channel username (e.g., '@mychannel') or numeric chat ID. Must be the same channel where the original message was sent. message_id: The unique identifier of the photo message to edit. This is returned when you publish a photo. new_caption: The new caption text to replace the existing caption. Supports formatting based on parse_mode. Maximum 1024 characters. parse_mode: Caption formatting mode. Options: 'Markdown', 'HTML', or 'None'. Default is 'Markdown'. response_format: Response format. Options: 'json' for structured data, 'markdown' for human-readable text. Default is 'markdown'.

Returns: A dictionary containing message_id, chat_id, date, edit_date, caption, photo info, and link. If response_format='markdown', returns formatted text content.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
channel_idYes
message_idYes
parse_modeNoMarkdown
new_captionYes
response_formatNomarkdown

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already signal idempotence and non-destructiveness, so the description adds value by disclosing the media-only constraint, inability to change the photo, and the requirement that the bot be the original sender with edit permissions. These are important behavioral nuances beyond what annotations convey. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with an opening purpose, a short 'use this' paragraph, and clear Args/Returns sections. It is slightly longer than strictly necessary but every sentence provides useful information, so the verbosity is earned. The front-loading of purpose and constraints is effective.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 5 parameters, no schema descriptions, and the presence of an output schema, the description covers all necessary aspects: prerequisites, limitations, parameter semantics, and return format. It even explains the response_format behavior. The tool is complex enough that this level of detail is warranted, and the description completes the picture beyond the annotated fields.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

With schema description coverage at 0%, the description fully compensates by detailing every parameter: channel_id is given with examples and a constraint, message_id source is explained, new_caption includes max length and formatting support, parse_mode lists options with a default, and response_format is clarified. This adds substantial meaning beyond the bare schema types.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description opens with a specific verb+resource: 'Edit the caption of an existing photo message in a Telegram channel.' It clearly differentiates from siblings like telegram_publish_photo (publishing) and telegram_edit_message (likely editing message text) by focusing on captions of media messages. The scope is unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description states when to use the tool ('modify the caption text of a previously published photo message'), explicitly limits usage to media-containing messages, and notes that the bot must be the original sender with edit permissions. It does not explicitly name an alternative tool for non-media messages, but the 'only works for media' phrasing implies when not to use it. This provides solid context without being overly verbose.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

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/aggeentik/telegram-bot-mcp'

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