Telegram MCP
Connects a user's Telegram account to an MCP client to read and manage chats, messages, media and contacts. Provides 50+ tools covering dialogs, groups and channels (listing, joining, leaving, creating, archiving, muting, pinning, invite links), messaging (sending, replying, editing, deleting, forwarding, pinning, marking read, scheduling, reactions, polls), media (sending files/locations/contacts/dice, downloading media), contacts and users (listing, looking up, adding, deleting, blocking), and group administration (participants, adding/removing members, promoting/demoting admins, changing title, description and photo).
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Telegram MCPshow my unread Telegram messages and summarize them"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Telegram MCP
A production-ready remote Model Context Protocol server that connects your Telegram account to any MCP-compatible AI client. Authenticate securely with a QR code, then read and manage chats, messages, media, polls, contacts, and group administration through 50+ purpose-built tools.
Setup
Connect a client to https://telegram-mcp-by-narihito.vercel.app/mcp:
OpenCode opencode.json
{
"mcp": {
"telegram": {
"type": "remote",
"url": "https://telegram-mcp-by-narihito.vercel.app/mcp"
}
}
}Claude Code
claude mcp add --transport http telegram https://telegram-mcp-by-narihito.vercel.app/mcpClaude Desktop
Go to Settings > Connectors > Add custom connector and enter https://telegram-mcp-by-narihito.vercel.app/mcp.
Cursor ~/.cursor/mcp.json
{
"mcpServers": {
"telegram": {
"url": "https://telegram-mcp-by-narihito.vercel.app/mcp"
}
}
}Windsurf ~/.codeium/windsurf/mcp_config.json
{
"mcpServers": {
"telegram": {
"serverUrl": "https://telegram-mcp-by-narihito.vercel.app/mcp"
}
}
}VS Code .vscode/mcp.json
{
"servers": {
"telegram": {
"type": "http",
"url": "https://telegram-mcp-by-narihito.vercel.app/mcp"
}
}
}Cline / Roo Code
{
"mcpServers": {
"telegram": {
"type": "streamableHttp",
"url": "https://telegram-mcp-by-narihito.vercel.app/mcp"
}
}
}Codex CLI ~/.codex/config.toml
[mcp_servers.telegram]
url = "https://telegram-mcp-by-narihito.vercel.app/mcp"codex mcp add telegram --url https://telegram-mcp-by-narihito.vercel.app/mcpHermes Agent ~/.hermes/config.yaml
mcp_servers:
telegram:
url: "https://telegram-mcp-by-narihito.vercel.app/mcp"
auth: oauthGemini CLI ~/.gemini/settings.json
{
"mcpServers": {
"telegram": {
"httpUrl": "https://telegram-mcp-by-narihito.vercel.app/mcp"
}
}
}GitHub Copilot CLI ~/.copilot/mcp-config.json
{
"mcpServers": {
"telegram": {
"url": "https://telegram-mcp-by-narihito.vercel.app/mcp"
}
}
}Related MCP server: telegram-mcp
Security
Credentials stay on your device. Tokens are stored by your MCP client in OS secure storage (Keychain / Credential Manager / libsecret) or its local auth file, never in this repo.
The server is stateless with no database. Your Telegram session is sealed inside your own access token and can only be opened with the server key. Run logout anytime to terminate the session.
Tools
Tools marked $\color{red}\textsf{destructive}$ remove messages, contacts, members or access. They carry the MCP destructiveHint annotation, so clients that support it ask for confirmation before running them.
Tool | Description |
| Return the logged-in Telegram account: id, name, username and phone. |
| Change the first name, last name or bio of the logged-in account. Omitted fields stay unchanged. |
| Terminate this Telegram session. The connector stops working until the user logs in again with a new QR code. |
| List chats, groups and channels ordered by most recent activity, with unread counts and the last message. |
| Get details about a user, group or channel, including its description and member counts. |
| Search public users, groups and channels on Telegram by name or username. |
| Join a public group or channel by @username or link, or a private one by invite link (t.me/+hash). |
| Leave a group or channel. |
| Create a new group (supergroup) and optionally add members. |
| Create a new broadcast channel and optionally add subscribers. |
| Move a chat to the archive folder, or back to the main list. |
| Mute or unmute notifications for a chat, forever or for a number of seconds. |
| Pin or unpin a chat at the top of the chat list. |
| Create an invite link for a group or channel you administer. |
| Read recent messages from a chat, newest first. Use offsetId to page back through history. |
| Collect unread messages across chats. Use this to check what is new, since push updates are not available. |
| Search messages by text inside one chat, or across all chats when chat is omitted. |
| Send a text message. Supports markdown or HTML formatting, replies, silent sending and scheduling. |
| Reply to a specific message in a chat. |
| Edit the text of a message you sent. |
| Delete messages. By default they are deleted for everyone where Telegram allows it. |
| Forward messages from one chat to another. |
| Pin a message in a chat. |
| Unpin one message, or every pinned message in the chat when messageId is omitted. |
| Mark messages in a chat as read, up to maxId or everything when omitted. |
| Read the reply thread of a message, or the comments under a channel post. |
| List messages scheduled to be sent later in a chat. |
| Add an emoji reaction to a message. The emoji must be one the chat allows. |
| Remove your reaction from a message. |
| Show reaction counts on a message and, where Telegram allows it, who reacted. |
| Create a poll or quiz in a chat. For a quiz, set quiz=true and correctOption to the index of the right answer. |
| Vote in a poll by option index (0-based). Pass several indexes for multiple-choice polls. |
| Remove your vote from a poll that is still open. |
| Read poll results. For non-anonymous polls, includeVoters also lists who voted for what. |
| Stop a poll you created so nobody can vote any more. |
| Send a photo, video, document or voice note. Pass a public url (Telegram downloads it) or base64 data up to 3 MB. |
| Download the photo or file attached to a message (up to 3 MB). Images are returned so they can be viewed. |
| Send a map location. |
| Share a phone contact card in a chat. |
| Send an animated dice, darts, basketball, football, bowling or slot machine with a random result. |
| List the contacts saved in the Telegram account. |
| Look up a user by @username or id and return their profile and bio. |
| Save a contact, either an existing Telegram user or a phone number. |
| Remove a user from your contacts. |
| Block a user so they cannot message or call you. |
| Unblock a previously blocked user. |
| List members of a group or channel. Channel member lists are only visible to admins. |
| Add users to a group or channel you administer. |
| Remove a user from a group or channel. With ban=true they cannot rejoin. |
| Make a member an admin with the given rights and an optional custom title. |
| Remove admin rights from a member. |
| Change the title of a group or channel. |
| Change the description (about text) of a group or channel. |
| Change the photo of a group or channel from a public image url or base64 data (up to 5 MB). |
Support me
GitHub: NarihitoM
Telegram: @not_narihito
This server cannot be deployed
Maintenance
Related MCP Connectors
Telegram bridge for your MCP-compatible agent. Bidirectional, no LLM in our stack.
Connect any AI agent to 1,000+ apps and 27,000+ actions through one remote MCP server (OAuth).
Zero-setup MCP gateway securely connecting AI to your tools with authentication and workflows
MCP server connecting AI agents to 100+ apps (Gmail, Slack, Notion, GitHub) via one-click OAuth.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to interact with Telegram accounts through MCP, supporting messaging, contacts, groups, media, and admin functions.4Apache 2.0
- AlicenseCqualityDmaintenanceConnects AI tools to Telegram via MCP, enabling reading chats, sending messages, managing groups, and more using your own account.5439 PyPI7MIT
- FlicenseNot gradedqualityDmaintenanceEnables AI agents to control a real Telegram user account via MTProto, allowing message sending, chat reading/searching, and message management through MCP tools.15 npm-
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants like Claude to read, search, and send messages through your personal Telegram account via MCP tools.MIT