Guide

Telegram MCP servers compared: userbot vs bot (2026)

Connecting an AI agent to Telegram splits two ways — a userbot MCP server on your personal account, or a hosted one that posts through your channel's bot.

AdminHub

TL;DR. “Telegram MCP” returns two categories that share nothing but a name. Userbot servers — mcp-telegram/mcp-telegram with 181 tools, chaindead/telegram-mcp with five — sign in to your personal Telegram account over MTProto and hand an agent the same reach the app on your phone has: private chats, any group, the whole history. They are self-installed, MIT-licensed and free, and one of them warns in its own README that misusing the API may suspend your account. Bot servers cover far less, deliberately: AdminHub’s fourteen tools read a workspace, channels and subscribers and write posts, published by the bot the channel owner made themselves — never a shared AdminHub bot and never your personal account. If what you want is an agent reading your Telegram DMs, stop here: that is a userbot job, and every section below says so. Projects checked 7 September 2026.

Search “telegram mcp” and you get a page of repositories that all describe themselves the same way — connect your AI agent to Telegram. Install one at random and you discover, somewhere around the login step, that “connect to Telegram” meant “sign in to your personal account and let the agent have it.” That is a legitimate design, and for a large class of jobs it is the only one that works. It is also a decision, and most READMEs present it as a setup instruction. This piece separates the two categories first and names projects second, with everything read off the projects’ own repositories on 7 September 2026.

The protocol is the whole difference

Telegram has two doors, and every MCP server picks one before it picks anything else.

The Bot API is an HTTP wrapper around a bot identity. You get a token from BotFather, and software holding that token acts as that bot — but only inside the chats and channels the bot has been added to. It cannot see your private messages, cannot let itself into a group, cannot read a channel it is not a member of. The ceiling is low by construction; the floor is that nothing you did not deliberately connect is exposed.

MTProto is Telegram’s own client protocol, the one the app on your phone speaks. A program that logs in over MTProto with your credentials is your account, with the access you have: every private conversation, every group, the full searchable history, saved messages, the lot. There is no scope to narrow, because an account is not a scope. Software that does this is conventionally called a userbot.

That one choice determines everything downstream — how many tools a server can offer, what it can read, what it asks of you at setup, and what is at stake when something goes wrong. Read the protocol line in a README before you read the tool count.

There is, notably, no official option to compare against. Telegram ships no MCP server of its own, so the field is entirely third-party, and the great majority of it is userbots you install yourself.

The userbot servers

mcp-telegram/mcp-telegram

The largest by a distance. Its documentation counts 181 tools — messages, media, reactions, polls, stories and more — built on MTProto through GramJS, and it states the position plainly: it works as your personal account, not as a bot. Setup means logging in to a personal Telegram account, with QR login supported, so a phone number is not strictly required. You can run it yourself via npx, npm, prebuilt binaries, Docker or from source, or use the hosted version at mcp-telegram.com. The licence is MIT.

The docs name what the thing is — “userbot (personal account), not a bot — respect the Telegram Terms of Service” — while stopping short of any warning about consequences. One operational detail to know before wiring it into two clients at once: a session belongs to a single process, and running the same session in two returns AUTH_KEY_DUPLICATED.

181 tools is not padding. Reactions, polls, stories and search across your own history are real surfaces, and no Bot API server reaches them for arbitrary chats — not this year, not with a different vendor. If that is the job, this is the category, and nothing later in this article competes with it.

chaindead/telegram-mcp

Same protocol, far smaller surface: five toolstg_me, tg_dialogs, tg_read, tg_dialog and tg_send. List your dialogs, read a conversation, mark it read, send a message, check who you are. Also MIT, also a personal account. Setup asks for more than a QR scan: an API ID and hash created at my.telegram.org, your phone number, and your password when two-factor authentication is on.

It is also the project that puts the trade-off in writing: “Ensure that you have read and understood the Telegram API Terms of Service before using this server. Any misuse of the Telegram API may result in the suspension of your account.” Same protocol as the 181-tool server, same exposure — stated where you can see it before you type your phone number.

What the personal-account route costs

Not “you will be banned.” Nobody honest can tell you that, and this article will not. What is on the record is narrower, and still worth weighing.

  • Your account is the credential. There is no per-chat permission to grant and no read-only mode. A session file that reaches an agent reaches everything the account can, including chats you had forgotten were on that account.
  • Automation runs under Telegram’s API terms. One of the two projects here says outright that misuse may result in suspension. Both are asking you to accept the same terms; only one mentions them.
  • You are the operator. Self-hosted means you own the process, the session file, the updates and the failure modes — including AUTH_KEY_DUPLICATED when two clients share one session. The cloud variant of mcp-telegram removes the hosting chore, not the account question.
  • The blast radius is the account. Prompt injection is a live concern for any agent reading untrusted text, and a Telegram inbox is untrusted text by definition. On the userbot route, the tools that could act on a hostile instruction include the ones that read every conversation you have.

None of that makes the category wrong. It makes it a deliberate trade: enormous capability in exchange for putting your own account behind the agent. People make that trade every day with their eyes open, and it is the correct call whenever the job genuinely requires personal reach.

The bot route: what AdminHub’s MCP server does

The other side of the fork gives up the reach and keeps the account out of it. AdminHub runs a hosted MCP server for a Telegram channel — nothing to install, no session file, no login to a personal account anywhere in the chain. The fourteen tools are get_workspace, list_channels, get_channel_stats, list_posts, get_post, create_post, publish_post, cancel_post, update_post, edit_published_post, retry_post_delivery, add_post_image, list_subscribers and get_subscriber: read the workspace, list channels, read subscriber stats, list and read posts, list and read individual subscribers, then create, edit, publish, cancel or retry a post, or attach an image to one.

Publishing goes through the bot the channel owner created for their own channel in a tap — never a shared AdminHub bot and never your personal account. That is what makes the account question disappear rather than get managed: the bot can act only in the channels it was added to as an admin, so the worst case of a confused agent is a bad post in a channel you already gave it, not a message sent from you to someone else.

Connecting works two ways, depending on the client. claude.ai and ChatGPT take the server address as a custom connector and sign in with Telegram; Claude Code, Cursor and other header-based clients take a key in an Authorization header. The setup guide walks through both routes client by client, and through what to do when a tool refuses. Access is revoked in AdminHub’s settings and stops working immediately. Free covers one connection and thirty posts created through MCP a month; Pro removes both limits.

What it cannot do, stated plainly rather than buried: no video or document attachments on a post, only a single image, and getting it there means one relayed message through the owner’s own chat with the bot; no reading of private chats, arbitrary chats or message history; no reactions and no stories; and nothing at all without a bot connected to the workspace. It is a channel-publishing surface for an agent, not access to Telegram.

Honestly, where each one beats us

  • Reading your Telegram at all. Both userbot servers can list your dialogs and read them. AdminHub’s has no tool that touches a conversation — not private messages, not groups, not a channel you have not connected. If the reason you came to MCP is “let Claude read my Telegram,” we are not a smaller version of that; we are a different thing.
  • 181 tools against fourteen. mcp-telegram covers media, reactions, polls and stories. Fourteen tools cover a workspace, channels, subscribers and posts. There is no reading of the difference that favours us.
  • Search across your own history. An agent that answers “what did we agree about the invoice in March” needs the whole archive. That is MTProto’s to give.
  • Sending a message as you. tg_send writes from your account to anyone. A bot cannot message a person who never started it, and should not.
  • Any chat, without arrangements. Userbots reach every dialog on the account on the day you install them. A bot reaches exactly the channels it was added to as an admin, and someone has to add it.
  • Self-hosting and zero recurring cost. Both projects are MIT, run on your own machine and cost nothing. A hosted server is hosted by someone else on someone else’s terms; that is a real difference, and it does not run in our favour on either price or control.
  • No AdminHub account needed. They are a repository and a login. Ours needs a workspace and a connected bot before the first tool call.

Who’s who

ServerProtocolIdentityToolsInstallLicence / cost
mcp-telegram/mcp-telegramMTProto (GramJS)your personal account181 — messages, media, reactions, polls, storiesnpx, npm, binaries, Docker, source; cloud optionMIT, free to self-host
chaindead/telegram-mcpMTProtoyour personal account5 — tg_me, tg_dialogs, tg_read, tg_dialog, tg_sendself-hosted; API ID + hash, phone, 2FA passwordMIT, free
AdminHubBot APIyour channel’s own bot14 — workspace, channels, subscribers, postsnothing to install, hostedFree: 1 connection, 30 MCP posts/mo; Pro: no limit

If… then…

If…Then…
You want the agent reading your DMs or group chatsA userbot server — mcp-telegram for breadth, chaindead for a small surface
You want search across your own message historymcp-telegram; no Bot API server can do this
You want reactions, polls or storiesmcp-telegram — the other two have no such tools
You want the agent to message a person as youA userbot server; a bot cannot message someone who never started it
You want to run everything on your own machine for nothingEither MIT project, self-hosted
The job is “post to my channel and tell me how it did”AdminHub’s server — fourteen tools, hosted, published by your own bot
Your personal account must stay out of it entirelyThe bot route; a userbot has no mode where the account is not the credential
You have no Telegram bot and do not want oneA userbot server; AdminHub does nothing without a workspace bot

Where to start

Answer one question before you compare tool counts: whose identity should the agent be using?

If the answer is “mine, because the job is my inbox,” you are in the userbot category and the choice inside it is breadth against surface area. mcp-telegram gives you 181 tools and a QR login; chaindead gives you five and asks for API credentials. Read both READMEs to the end — the terms-of-service line is a sentence, and it is the most load-bearing sentence in either file.

If the answer is “a bot’s, because the job is a channel,” the account question never comes up and the tool list is short on purpose. Start on the MCP page: the free tier is one connection and thirty posts a month, which is enough to find out whether an agent that can read your stats and publish for you is a workflow you keep. The rest of the Telegram publishing picture — scheduled queues, RSS imports, the pipelines you configure once rather than ask for — is in the complete autoposting guide, and creating the bot itself takes about a minute if you do not have one yet.

And if you are not sure, note that the two are not exclusive. A userbot server on your laptop for your own archive and a hosted bot server for the channel you publish to are different tools for different jobs, and running both is a normal answer.

Sources

All fetched 7 September 2026. Tool count, GramJS and MTProto basis, the “personal account, not a bot” framing, QR login, the install paths and the AUTH_KEY_DUPLICATED single-session note: the mcp-telegram repository and mcp-telegram.com. The five tools, the my.telegram.org API ID and hash requirement, the two-factor password and the Terms of Service warning quoted above: the chaindead/telegram-mcp repository. Bot API scope and the BotFather token model: Telegram’s Bot API documentation. The AdminHub numbers — fourteen tools, the two connection methods, the Free and Pro limits — are from the MCP page on this site.

What people usually ask

Is there an official Telegram MCP server?
No. Telegram publishes no Model Context Protocol server of its own, so every option is third-party. Most of the ones on GitHub are userbots: they speak MTProto, the protocol Telegram's own apps use, and act as your personal account rather than as a bot. A smaller group works through the Bot API instead and can only touch the channels and groups a bot has been added to. Checked 7 September 2026.
What is the difference between a userbot MCP server and a bot one?
Reach and blast radius, and they move together. A userbot server signs in to your personal account and inherits everything that account can see — every private chat, every group, the full message history. A Bot API server reaches only the chats its bot was added to and cannot read your private correspondence at all. The userbot route buys far more capability; the bot route buys a much smaller failure surface.
Can an AI agent read my private Telegram messages through MCP?
Only through a userbot server signed in to your account — and then yes, that is precisely what it is for. chaindead/telegram-mcp exposes five tools for listing dialogs, reading them and sending messages; mcp-telegram/mcp-telegram exposes 181 covering messages, media, reactions, polls and stories. AdminHub's server cannot do it at all: it has no tools for private chats, arbitrary chats or message history.
Will my Telegram account get banned for using an MCP server?
That is a compromise to weigh, not a prediction anyone can make for you. Automating a personal account runs under Telegram's API terms, and chaindead/telegram-mcp says so in its own README: any misuse of the Telegram API may result in the suspension of your account. A server that works through a bot never raises the question, because no personal account is signed in anywhere.
What can AdminHub's MCP server actually do?
Fourteen tools: read the workspace, channels and subscribers, list and read posts, and create, edit, publish, cancel or retry one — plus attach an image, relayed once through the owner's own chat with the bot to get a file id. It is hosted, so there is nothing to install, and it publishes through the bot you made for your own channel. It cannot attach anything but an image, and it cannot read chats. Free covers one connection and thirty posts created through MCP a month; Pro removes both limits.