Skip to main content
Glama
telegram-api-mcp

telegram-api-mcp

by EngDawood

edit_ephemeral_message_reply_markup

Idempotent

Edits the inline keyboard (reply markup) of an ephemeral Telegram message for a specified receiver, enabling bots to update buttons without resending the message.

Instructions

Edit the inline keyboard of an ephemeral message (Bot API 10.2).

Input Schema

NameRequiredDescriptionDefault
chat_idYesChat ID or @username
reply_markupNo
receiver_user_idYesUser ID
ephemeral_message_idYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.0

TDQS

C2.9/5.0
Behavior2/5

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

Annotations already declare idempotentHint=true, destructiveHint=false and openWorldHint=true, so the safety profile is covered. The description adds only a Bot API version tag and does not disclose the notable behavioral requirement that the edit targets a single receiver (receiver_user_id must match the ephemeral message recipient), nor what happens if the receiver differs or the message expired.

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?

A single front-loaded sentence with no filler; the parenthetical version tag is minor but not wasteful. The brevity here is efficient rather than padded, the gaps lie in content, not in wording.

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

Completeness2/5

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

For a mutating tool with 4 parameters, 3 required, half the schema undocumented, an untyped reply_markup payload and no output schema, the description does far too little. It omits the reply_markup shape, the receiver-scoping semantics, and any note about clearing or removing an existing keyboard.

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

Parameters2/5

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

Schema coverage is 50%: chat_id and receiver_user_id are documented by the schema, but ephemeral_message_id is undocumented and reply_markup is an untyped empty object. Since editing reply_markup is the entire purpose of the tool, the description should have said what structure it accepts (an InlineKeyboardMarkup) and how to clear the keyboard, but it adds nothing.

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

Purpose4/5

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

"Edit the inline keyboard of an ephemeral message" gives a specific verb (edit) and resource (inline keyboard of an ephemeral message), which separates it from the general edit_message_reply_markup by message type. It stops short of naming the sibling that handles non-ephemeral messages, so the agent must infer the ephemeral/non-ephemeral split.

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

Usage Guidelines3/5

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

The word "ephemeral" implicitly scopes usage to ephemeral messages, and the Bot API version hint suggests recency/preview status. There is no explicit when-to-use/when-not guidance, no mention of edit_message_reply_markup as the alternative for regular messages, and no prerequisites stated.

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

Deploy Server

Other Tools