Telegram MCP server — full client capabilities for Claude Code
Server has 5 tools with explicit FastMCP registration and tool annotations. tg_feed has a detailed description (280+ chars) and comprehensive input schema with 6 parameters, all typed and described. However, 4 of 5 tools (tg_overview, tg_search_ops, tg_describe_op, tg_execute) have minimal descriptions (under 50 chars) and no visible input schemas in the provided code. Output schemas are not documented. Error handling uses a structured 4-part format but lacks recovery guidance for most error cases. Tool naming is inconsistent: tg_feed is verb-noun; tg_overview, tg_search_ops, tg_describe_op, tg_execute are noun-only or generic. No parameter validation examples shown for most tools.
Get operation schema (readOnly, idempotent)
Run any operation (conservative: not readOnly, not idempotent)
Fetch recent messages from one or more Telegram channels/groups. Returns messages with author, date, text, views, reactions, reply count. For single-channel deep dive, use channel handle. For multi-channel digest, omit channel to get cross-channel feed sorted by time. Truncates message text at 300 chars by default — use include_full_text=true for complete content. For searching by keyword across channels, use tg_search_ops to find the search operation instead.
Channel/folder overview (readOnly, idempotent)
Discover operations (readOnly, idempotent)
Four of five tools (tg_overview, tg_search_ops, tg_describe_op, tg_execute) have no visible input schemas in source code.
Four tools have descriptions under 50 characters ('Channel/folder overview (readOnly, idempotent)', 'Discover operations (readOnly, idempotent)', etc.).
Tool naming inconsistency: tg_feed uses verb_noun (good); tg_overview, tg_search_ops, tg_describe_op, tg_execute use noun-only or generic verbs. LLMs rely on consistent naming to infer intent. Recommend: get_overview, list_operations, describe_operation, execute_operation.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 35 | <=2025-11-25 | v2 |
Output schemas not documented for any tool. LLMs cannot plan downstream calls or extract fields without knowing response structure. tg_feed returns 'str' (TextContent); others are opaque.
tg_execute is marked as non-idempotent and non-readOnly (destructive risk), but has no confirmation/dry-run mechanism. Agents can trigger irreversible operations without safeguards.