Skip to main content
Glama

Recent Telegram messages

telegram_recent_messages
Read-onlyIdempotent

Use this for a catch-up across the user's available Telegram chats: 'What did I miss in Telegram today?' or 'Who wrote while I was away?' Returns recent incoming and outgoing messages, newest first, with available voice/video transcripts. Default 20 results; archive maximum 200, Session maximum 50. Session samples up to 20 dialogs and reads at most 20 messages from each of up to 10 selected by latest message date within that sample. It does not inspect every chat. Connected channel inbox archives can supplement the results. Read source, coverage, partial, effective_limit and session_limit. There is no pagination or upper date bound; repeating a call does not advance. since is inclusive: yesterday includes today too. For a precise historical interval inspect relevant chats with telegram_get_messages using since and before. Do not claim complete coverage of the requested period. Use the user's known timezone; if unknown, silently use UTC without asking or adding a caveat. For today, pass local midnight as an ISO timestamp with the correct offset; distinguish calendar days from rolling 24h windows. Zero results mean none returned from this source/window, not that nobody wrote. Follow empty_reason and setup_required/history_notice when present; operational failures are not empty results. Do not reconnect a working Session or retry unchanged calls in a loop. Set since for the requested time window. Results are a bounded archive or Session slice, not a complete unread inbox; inspect an individual chat before concluding who still needs a reply. For one named conversation use telegram_find_chat and telegram_get_messages. Messages include is_forwarded and forward_origin (original author/channel and Unix date when available). For forwards, from identifies who forwarded it in this chat, not the original author. Missing origin data does not prove authorship; never infer a hidden author's identity.

Input Schema

NameRequiredDescriptionDefault
limitNoHow many messages to return. Default 20; archive maximum 200, Session maximum 50. No pagination.
sinceNoOnly messages at or after this time. Accepts an ISO 8601 timestamp, unix seconds, 'today', 'yesterday', or a relative window like '24h' / '7d'.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedInput schema / properties / limit / description
      Previous value: -"How many messages to return. Default 20."New value: +"How many messages to return. Default 20; archive maximum 200, Session maximum 50. No pagination."
  2. First observed

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already cover read-only, idempotent and open-world traits, but the description adds substantive behavior the annotations cannot: sampling limits, the archive-versus-Session caps, no pagination, no advancement on repeated calls, inclusive since semantics, and the meaning of zero results versus setup_required/history_notice. What it lacks is any sense of latency or cost, and the dense caveat stream is hard to parse, but the disclosure is well beyond the annotation baseline.

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

Conciseness3/5

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

The first sentence is well front-loaded, but the remainder is a long run of undifferentiated sentences mixing coverage limits, timezone policy, retry policy and forward-authorship caveats with no grouping or emphasis. Most sentences carry an instruction, so little is pure waste, yet the volume makes key constraints easy to miss.

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 no output schema present, the description carries the return-value burden and does so: it names the fields to read (source, coverage, partial, effective_limit, session_limit) and explains is_forwarded/forward_origin semantics. Combined with explicit coverage caveats and failure-versus-empty distinctions, an agent has what it needs to call and interpret this correctly.

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

Parameters4/5

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

Schema coverage is 100%, so the parameters are already documented, yet the description adds real meaning: since is inclusive (yesterday includes today), local midnight must be passed with the correct offset, and calendar days must be distinguished from rolling 24h windows. That is semantics an agent would otherwise get wrong, though limit is only echoed rather than enriched.

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 opening sentence names a specific retrieval task (a catch-up across the user's available Telegram chats) and illustrates it with two example questions. It explicitly contrasts the scope with telegram_get_messages, telegram_find_chat and single-conversation lookups, so an agent can separate it from its siblings without reading their schemas.

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?

It states when to use this tool (broad catch-up, 'what did I miss'), when not to (precise historical intervals, one named conversation) and names the alternative tools to use instead. It also gives a decision rule for the since window and warns against looping retries, which is unusually actionable routing guidance.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources