Tools

Ten tools. Five only read from Telegram; sending text or files and signing out require confirm: true.

Reading

ToolParametersWhat it does
status—Shows whether you are signed in and which account is connected
list_dialogsquery, limit ≤ 50, archivedRecent chats: ID, title, @username and unread count
get_messagespeer, limit ≤ 50, offsetIdChat history older than offsetId, without marking messages as read
search_messagesquery, peer, limit ≤ 30Search across all chats or within one
download_mediapeer, messageIds ≤ 20Saves photos and documents up to 50 MB in the local downloads/ folder and returns their paths

Writing and account access

ToolParametersWhat it does
send_messagepeer, text ≤ 4096, confirm, replyToSends text, as a reply when replyTo is set
send_filepeer, path, caption ≤ 1024, asPhoto, confirm, replyToSends a local file up to 50 MB by absolute path, as a document or a JPG/PNG photo
login_send_codephoneRequests a sign-in code
login_sign_incode, passwordCompletes sign-in, with a two-step verification password if required
logoutconfirmCloses only the telegram-mcp session

Specifying a chat

The peer parameter accepts three forms:

Response format

{
  "id": 4812,
  "date": "2026-10-27T18:04:11.000Z",
  "out": false,
  "sender": "Andrey",
  "text": "We are moving the release to Friday",
  "textTruncated": false,
  "replyTo": null,
  "media": null
}

Message text is truncated to 1,500 characters, with textTruncated indicating the cut. Attachments themselves are not included, only their type; use download_media to fetch the files.