Telegram MCP server and CLI for Claude Code and AI agents. 74 tools for chats, history, search, sending, media, contacts, groups, admin, topics, reactions, polls, folders and privacy, on your real Telegram account over MTProto.
Four tools with clear verb-noun naming (whoami, resolve, list_chats, get_chat) and good descriptions (avg 120 chars, well above 10-char minimum). All tools have input schemas with type definitions. However, parameter descriptions are sparse or missing entirely: 'peer' and 'limit' lack descriptions; 'fields' array has no item-type specification. Output schemas are undocumented, LLMs cannot infer what fields list_chats or get_chat return. No error handling guidance. Tool composition is sound (each does one thing), but schema completeness and parameter documentation fall short of production baseline.
Details of a single chat: name, kind, username, member count and description where the chat has them.
Recent conversations, newest first. Returns a compact row per chat: id, name, kind, unread count and a short preview of the last message. Use `fields` to cut it down further.
Turn a @username, phone number or numeric id into a chat you can act on. Use it before sending to someone you only know by handle.
The Telegram account this session is signed in as. Call it first when it matters whose messages you are about to read or send.
Output schemas undocumented. list_chats and get_chat return structured data but LLMs cannot infer field names, types, or what data is available for downstream tool calls.
Parameter descriptions missing or incomplete. 'peer' parameter in resolve and get_chat lacks description; 'limit' in list_chats has no description; 'fields' array has no item-type spec. LLMs cannot determine valid values or format.
No error handling guidance. Tools do not document what happens on invalid input (e.g. invalid peer format, out-of-range limit) or how to recover. Agents cannot self-correct.
Parameter constraints not enforced in schema. list_chats accepts 'limit' (number) with no min/max; 'kind' enum is present but other params lack constraints. Unbounded numbers risk API overload.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 60 | 2026-07-28+ | v2 |
Tool composition incomplete. resolve and get_chat both accept 'peer' but resolve is described as a prerequisite for get_chat. No explicit dependency hint in descriptions.