Skip to main content
Glama
Telegram MCP Server

Telegram MCP Server

by lyduchuy1204

update_profile

Update your Telegram profile name, bio, and username while preserving omitted fields; preview changes and check username availability with a dry run.

Instructions

Update name, bio and/or @username. Omitted fields stay unchanged; pass "" to clear last_name or about. Limits: names 64 chars, bio 70 (140 with Premium), username 5-32. Changing the username breaks old t.me/ links. dry_run=True previews and checks that the new username is available.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "update_profile"
  }
}

Input Schema

NameRequiredDescriptionDefault
aboutNo
dry_runNo
usernameNo
last_nameNo
first_nameNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.4/5.0
Behavior4/5

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

Annotations only declare non-read-only, non-destructive, open-world, so the description carries most of the weight and does so well: it discloses partial-update merge semantics, the empty-string clearing convention, character limits, and the real side effect that changing the username breaks old t.me links. It omits what happens on validation failure (e.g. username taken without dry_run) and never states that dry_run defaults to true, which is the key trap for an agent.

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

Conciseness4/5

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

Front-loaded with the action and mutable fields, then rules, then limits, then the side effect and dry_run. Dense and mostly waste-free, though cramming limits and clearing rules into one clause makes it slightly harder to scan than a broken-out list.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

A mutation tool with no output schema and no annotation depth, yet the definition covers partial updates, clearing, validation constraints, an irreversible-ish side effect, and the safe-preview path. It would be complete with an explicit statement that dry_run defaults to true so writes require setting it false.

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?

Schema description coverage is 0%, so the description must compensate and largely does: it maps 'bio' to the about parameter, gives both limits (70/140), constrains username to 5-32, explains the empty-string clear for about and last_name, and defines dry_run as a preview plus availability check. Only first_name is left implicit via 'names 64 chars'.

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?

States a specific verb plus resource and enumerates the exact mutable fields (name, bio, @username), which cleanly separates it from get_profile (read), set_profile_photo (photo), and the privacy siblings. An agent can route to it without opening the schema.

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

Usage Guidelines4/5

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

Usage context is clear from the field list and the dry_run preview note, and the partial-update rule ('omitted fields stay unchanged') tells the agent it does not need to resend the whole profile. It never names an explicit alternative or a when-not case, so it falls short of full routing guidance.

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