MCTL
MCTL Assistant · Unofficial third-party connector using the Telegram API

Your authorized Telegram account,
inside Claude

Add tg.mctl.ai as a custom connector in Claude — on the web, in the desktop and mobile apps, or in Claude Code — and ask Claude to summarise chats, search messages, and draft replies in the Telegram account you own. ChatGPT can add it by URL too; other MCP clients are not yet tested. New accounts start read-only unless you choose Read + send when you connect.

Privacy policy · Security model · [email protected] · Want the session on your own machine? Local Bridge

What you can do

Summarise unread chats

Ask Claude what you missed while you were away. Get a digest of any chat, group, or channel without opening Telegram.

Draft and review messages

Let Claude write or check a reply before it goes out. Review tone, catch errors, or translate — nothing is sent until you allow sending.

Search across conversations

Find anything you said or received, instantly. Search by topic, person, or date across your full history.

Triage your inbox

List every chat and surface what still needs a reply, so you can clear a backlog of unread conversations in one pass.

Translate on the fly

Read foreign-language chats in your own language, or draft a reply in theirs — without leaving the conversation.

Pin what matters

Ask Claude to pin a key message so it stays at the top for everyone in the chat. It asks you to confirm first, needs sending turned on, and needs admin rights in groups.

How it works

Claude or another MCP client
MCTL MCP server
Telegram MTProto API
  1. You sign in with Telegram and, once, give MCTL message access. MCTL stores an encrypted MTProto session on your behalf.
  2. When you ask Claude about your chats, it calls the MCP tools on this server over an OAuth-authenticated connection.
  3. MCTL makes MTProto calls to Telegram, formats the result, and returns it to Claude.

Connect in Claude

  1. On claude.ai or in the Claude desktop app, open Customize → Connectors and choose Add custom connector.
  2. Name it MCTL Assistant and set the MCP server URL to https://tg.mctl.ai/mcp. Keep the default sign-in settings: Claude registers itself with this server, so there is no client ID or secret to enter. Click Add.
  3. Click Connect and sign in with Telegram in the browser window that opens. The first time, MCTL asks for message access: choose Read only (the default) or Read + send, then enter your phone number, the login code Telegram sends to your Telegram app, and your two-step verification password if you use one.
  4. In a chat, open the + menu → Connectors and make sure MCTL Assistant is switched on. Try: “What did I miss in my unread Telegram chats today?”

Anthropic's guide: Get started with custom connectors using remote MCP.

Other MCP clients

MCTL is a standard remote MCP server with OAuth: add https://tg.mctl.ai/mcp, sign in with Telegram once, and pick read-only or read and send. Claude is the client we test against; the clients marked not yet tested below have no verified sign-in against tg.mctl.ai, so treat their snippets as a starting point.

Data at a glance

  • Stored on this server: an AES-256-GCM encrypted Telegram session blob per account and audit metadata without message text. When Communication Agent is enabled, relevant incoming message/event content and proposed action payloads are also stored encrypted at rest.
  • Not stored in logs or audit history: message bodies, phone numbers, 2FA passwords, or OAuth tokens.
  • Through your AI assistant: your prompts, tool arguments, and tool results pass through the assistant to reach this server. The assistant's provider (Anthropic for Claude, OpenAI for ChatGPT) handles that traffic under its own policies.
  • Your controls: disconnect or delete your account at any time via MCP tools or the HTTP API, or on the manage page. Full inventory in our privacy policy.

Our trust model

MCTL holds a server-side Telegram session on your behalf. Here is exactly what that means:

  • Sessions are AES-256-GCM encrypted at rest with per-user keys derived via HKDF-SHA256.
  • Message text is never written to logs or audit history. Communication Agent message and action content is encrypted at rest and retained according to the policy in /privacy.
  • You can disconnect (soft revoke) or delete (hard delete) your session at any time using the MCP tools or the API.

MCP endpoint: https://tg.mctl.ai/mcp
OAuth protected resource document: https://tg.mctl.ai/.well-known/oauth-protected-resource

Keep the session on your machine

Local Bridge (beta) is the self-service path where the Telegram session stays on a machine you control and tg.mctl.ai acts only as a relay. It is not the standard connector install path. You need a machine that stays on. Activation is self-service.

  1. init, then login --phone +…
  2. activate --server https://tg.mctl.ai and approve the device in a browser. After login, --telegram-id is optional.
  3. daemon — first credential is read-only. Turn sending on yourself with set_send_consent or the manage page.

Common questions

Which AI assistants does this work with?
Claude first — claude.ai, the desktop and mobile apps, and Claude Code — and ChatGPT by URL. It is a standard remote MCP server with OAuth, so other clients such as Cursor, VS Code and Windsurf may work, but they are not yet tested against tg.mctl.ai.
Is this an official Telegram app?
No. MCTL Assistant is an unofficial third-party connector using the Telegram API. It is an independent project, not affiliated with or endorsed by Telegram, Anthropic or OpenAI. It operates only on the Telegram account you explicitly connect, and you remain responsible for following Telegram's terms.
Can it send messages on my behalf?
Only if you allow it. When you connect, MCTL asks whether to give Read only (the default) or Read + send access. With sending off (send_enabled=false), send_message and send_media return a preview (sent=false) instead of delivering, and the other write tools (edit, delete, forward, react, pin) refuse with an error. You can change your choice later with set_send_consent or the manage page. A real send also needs the telegram:messages:send scope and the operator-level ALLOW_SEND flag (on for tg.mctl.ai). There is no mode argument to bypass the gate.
What does my AI assistant see?
Your prompts, the tool arguments the assistant sends (for example a chat name, or the text of a draft), and the tool results this server returns. That traffic is handled by the assistant's provider under its own policies. For ordinary MCP calls, this server stores an encrypted session blob and audit metadata. Listener-enabled Communication Agent accounts additionally store encrypted message and action content as described in /privacy.
What data does MCTL store?
An encrypted session blob and metadata are stored per account. When Communication Agent is enabled, relevant incoming messages/events and proposed action payloads are stored encrypted at rest; logs and audit history still exclude message bodies. See /privacy for retention details.
How do I revoke access?
Remove the connector in Claude (Customize → Connectors) or your other client to stop it calling this server. To end the Telegram session itself, call disconnect_telegram_account (soft revoke, keeps the row) or delete_telegram_account (hard delete: removes the encrypted session and stored data, keeps only your Telegram id, tier and deletion time — see /privacy) from a connection granted account:manage, or disconnect on the manage page after signing in with Telegram. You can also revoke from Telegram's side: Settings → Devices.
Is this open source?
Yes. The full source is at github.com/mctlhq/mctl-telegram. You can audit the code, run your own deployment, or contribute.
What is the Local Bridge?
An optional self-hosted mode (beta) where the Telegram session stays on your own machine and tg.mctl.ai acts only as a relay. It is not part of the standard hosted connect path, and it needs a machine that stays on, but turning it on is self-service: init, login, activate, daemon. Migrating an existing hosted account into this mode still uses set_account_mode (an operator step, not onboarding). Start at the quick start.

Support and publisher