Skip to main content
Glama
telegram-api-mcp

telegram-api-mcp

by EngDawood

forward_message

Forward a Telegram message from one chat to another by specifying source chat, destination chat, and message ID, with optional thread, notification, and content-protection settings.

Instructions

Forward a message from one chat to another.

Input Schema

NameRequiredDescriptionDefault
chat_idYesChat ID or @username
message_idYes
from_chat_idYes
protect_contentNo
message_effect_idNo
message_thread_idNo
disable_notificationNo
video_start_timestampNo
direct_messages_topic_idNo
suggested_post_parametersNoSuggestedPostParameters object (price, send_date) — direct messages chats only

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.0

TDQS

C2.8/5.0
Behavior2/5

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

Annotations only give generic hints (readOnlyHint=false, idempotentHint=false, openWorldHint=true, destructiveHint=false). The description adds nothing about what forwarding preserves (attribution, media, reply chains), that it is not idempotent so retries create duplicates, or permission requirements on both chats. For a write operation with 10 parameters, that is a substantial disclosure gap.

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 zero filler and no ambiguity in phrasing. It is efficient but minimal; nothing is wasted, though nothing is added either.

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

Completeness3/5

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

The action itself is clear enough to call correctly for the three required parameters, but with 10 parameters at 20% schema coverage, no output schema, and no description of optional behaviors, an agent cannot confidently use the remaining seven options without guessing.

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 description coverage is only 20%: chat_id and message_id are documented in-schema, while message_thread_id, protect_content, disable_notification, video_start_timestamp, message_effect_id, direct_messages_topic_id and suggested_post_parameters have no descriptions at all. The description adds no meaning for any of them — only the implicit 'one chat to another' link between chat_id and from_chat_id — so it fails to compensate for the coverage gap.

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?

States a specific verb and resource: 'Forward a message' with the 'one chat to another' direction, so the core action is unambiguous. However, it never distinguishes itself from the closely-named sibling forward_messages (plural) or from copy_message, which is the other plausible choice for the same goal.

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

Usage Guidelines2/5

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

There is no guidance on when to use this rather than forward_messages or copy_message, no mention of prerequisites such as needing access to both source and destination chats, and no exclusions. The agent must infer the choice entirely from sibling names.

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