Telegram integration for Claude via the Model Context Protocol
Single tool 'open_mini_app' has a detailed description (250+ chars) and comprehensive parameter list with type unions and descriptions. However, the schema uses 'union' types without explicit JSON Schema format, making it non-standard. No output schema is documented. The tool description is verbose but lacks clarity on what the returned URL structure contains or how to use it. Parameter descriptions are present but some lack actionable constraints (e.g., 'bot' accepts 'username, id, or t.me link' but no validation rules). No error handling guidance provided. The tool performs a state-changing operation (tells bot server the app was launched) but this is buried in the description rather than prominently stated.
Open a bot's Mini App and return the URL that renders it. Nothing is rendered here — the answer is a URL to load in a browser. **That URL is a credential**: it carries signed initData identifying this account to the app, so anyone holding the string can act as this account inside it. Calling this also tells the bot's server that this account launched the app. Pass at most one of `short_name` and `url`; they select which app opens:
Output schema not documented. Tool returns a URL but no schema specifies the response structure, fields, or data types. LLMs cannot plan downstream actions without knowing what to expect.
Input schema uses non-standard 'union' type notation instead of JSON Schema oneOf/anyOf. This is not parseable by standard JSON Schema validators and breaks tool introspection.
State-changing operation (notifies bot server) not prominently flagged. Description mentions it in passing but does not clearly state this is a WRITE operation with side effects. Agents need explicit guidance on idempotency and retry safety.
Parameter 'bot' accepts three formats (username, id, t.me link) but no validation rules or examples provided. LLMs will guess at format. Should specify: 'username (alphanumeric), numeric ID, or full t.me/botname URL'.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 48 | <=2025-11-25 | v2 |
No error handling guidance. What happens if bot not found? If chat_id invalid? If app not accessible? Tool description provides no recovery hints for LLM.