Skip to main content
Glama
hermoso-ai

Hermoso

Official

Post to Telegram

post_to_telegram

Publish text, images, videos, or mixed albums to a Telegram chat as your own bot. Specify the chatId (@username or numeric) to deliver the message.

Instructions

Publish to a Telegram channel, group or chat as the brand's own bot. WHICH CHAT IS ALWAYS REQUIRED AND IS NEVER GUESSED: pass chatId as the public channel's @username (e.g. @hermosoai) or its numeric id (a group is negative; a supergroup or channel starts with -100). There is no default and there cannot be one — the Telegram Bot API publishes no method that lists the chats a bot belongs to, so Hermoso genuinely cannot know them. list_telegram_chats reports the chats that have MESSAGED the bot in the last 24 hours, which is a shortcut for finding an id and is NOT a roster: a chat missing from it can still be posted to. TEXT: up to 4096 characters on a text-only message, but only 1024 the moment ANY photo or video is attached — a caption is not a message, and Hermoso refuses the over-long one before spending the round trip and says which budget applied. MEDIA: one image (imageUrl), one video (videoUrl), or an ALBUM of 2–10 (imageUrls, in order) in which photos and videos may be MIXED — pass a videoUrl alongside imageUrls and it joins the album as one more item. Hermoso uploads the bytes rather than handing Telegram a link, which is what buys the larger ceilings: 10MB per photo and 50MB per video, where a link would be 5MB and 20MB. THE BOT MUST BE IN THE CHAT — an administrator with Post Messages for a channel, an unrestricted member for a group; if it is not, Telegram refuses and the error says to add it rather than to reconnect. Returns the message id and, for a PUBLIC chat, its t.me link — a private group has no public web link, so url comes back null rather than as a link that would 404 for whoever you hand it to. 0 credits. Connect at Settings ▸ Connectors ▸ Telegram by pasting a bot token from @BotFather.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
textNothe message. ≤4096 characters on its own; ≤1024 once any image or video is attached.
chatIdYesREQUIRED — the destination: a public channel's @username, or the numeric chat id. Never guessed; ask the user, or use list_telegram_chats.
silentNodeliver without a notification sound (Telegram’s disable_notification). This is NOT a visibility setting — the message is just as visible.
imageUrlNoone image (≤10MB after upload)
videoUrlNoone video (≤50MB). Passed alongside imageUrls it joins the album as one more item.
imageUrlsNoan ALBUM of 2–10 media, in order. Photos and videos may be mixed — Telegram allows it.
disablePreviewNosuppress the link-preview card on a text-only post. Default is Telegram’s own behaviour (previews on).
Behavior5/5

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

Annotations only indicate a non-read-only, non-idempotent write operation. The description goes far beyond: it discloses that Hermoso uploads bytes rather than handing links, explains the differing size limits (10MB photo vs 50MB video vs link limits), states the bot must be present in the chat, describes refusal behavior, and explains the return value (message id, t.me link or null for private groups). It also discloses credit cost and connection steps.

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

Conciseness5/5

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

The description is long but perfectly structured with bolded section headings (WHICH CHAT, TEXT, MEDIA, THE BOT MUST BE IN THE CHAT) and front-loads the most critical rule (chatId required). Every sentence adds value – no fluff. The use of CAPS and clear logical flow makes it dense yet navigable.

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?

With 7 parameters and no output schema, the description covers everything an agent needs: parameter semantics, error conditions, permission requirements, return structure, and even setup instructions. It anticipates edge cases (private group null url, caption not being a message). Nothing is missing.

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?

Although schema coverage is 100%, the description enriches every parameter: chatId's format and default-absence, text length drop with media, media upload method, album mixing, silent's non-visibility nature, and disablePreview's default. This goes well beyond the schema's brief strings.

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 'Publish to a Telegram channel, group or chat as the brand's own bot' – a specific verb, resource, and actor. It distinguishes itself from siblings like list_telegram_chats (which reports chats) and delete_telegram_message (which removes). The purpose is unmistakable.

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

Usage Guidelines5/5

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

The description explicitly states that chatId is 'ALWAYS REQUIRED and is NEVER GUESSED', and directs the agent to 'ask the user, or use list_telegram_chats' as an alternative. It also clarifies that list_telegram_chats is 'NOT a roster', so a chat missing from it can still be posted to. This is explicit when-to-use vs. when-not guidance.

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/hermoso-ai/hermoso'

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