Telegram Mcp

io.github.Shreyas-ProfilePublished by GitHub account Shreyas-Profilev0.4.0Updated Oct 24, 2026

Telegram bridge for your MCP-compatible agent. Bidirectional, no LLM in our stack.

VerifiedStreamable HTTPWeb executableCommunication & Collaboration

Overview

AI-generated overview

A hosted Telegram bridge that lets an MCP agent read messages you send to your bot and reply back through Telegram.

What you can do
Fetch new inbound Telegram messages since the last pull, read once so each message is consumed on retrieval. Send text messages from the agent to your Telegram bot. List the most recent stored messages in both directions without advancing the read cursor. Clear the stored message history for the account. Telegram slash commands such as help, recent, window, usage and clear are answered by the platform even when no agent is polling.
When to use it
Useful when you want to talk to an agent from Telegram on your phone and have it answer in the same chat, without exposing the agent directly. Suits setups where the agent polls for new messages rather than receiving pushes. Not needed if you only want one-way notifications.
Requirements
Remote endpoint at telegram.regiq.in, or self-hosting with Docker and Compose. A Google account for sign-in, a Telegram bot token from BotFather, and an MCP API key sent as the Authorization Bearer header. Self-hosting also needs a Google OAuth client, a public HTTPS domain for webhooks, and environment settings such as NEXTAUTH_SECRET, GOOGLE_* and PUBLIC_BASE_URL.
Before you install
The hosted service stores your Telegram messages and requires a bot token pasted into its dashboard plus an MCP API key sent as the Authorization header. clear_history and the /clear command permanently wipe stored history. Messages pass through a third-party hosted platform; self-hosting avoids that but needs its own secrets.

Installation

In SourceWeft

  1. Open Telegram Mcp in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.Shreyas-Profile%2Ftelegram-mcp/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "telegram": {
      "type": "http",
      "url": "https://telegram.regiq.in/api/mcp"
    }
  }
}

README

telegram-mcp

Built by Shreyas · Shipped by Globalion

Bidirectional Telegram ⇆ agent bridge. No LLM in our stack.

Your agent (Claude Desktop, Cursor, a custom script) is the brain. Our platform is the pipe: we take messages you send on Telegram, store them, and hand them to your agent when it polls. When your agent has something to say back, it pushes through us to your Telegram.

  • Bring your own agent. Any MCP client works.
  • No inference in the middle. We don't call an LLM. No vendor lock-in.
  • Bidirectional. get_new_messages pulls inbound, send_telegram_message pushes outbound.
  • Platform slash-commands. /help, /clear, /recent, /window, /usage all work even if your agent is offline.

Hosted at telegram.regiq.in or self-host with the Docker Compose below.

Use it (hosted)

  1. Visit https://telegram.regiq.in, sign in with Google.

  2. DM @BotFather → /newbot. Paste the token in your dashboard.

  3. On the dashboard: Generate MCP API key, copy it.

  4. Add to Claude Desktop's claude_desktop_config.json (or Cursor / any MCP client):

    json
    {  "mcpServers": {    "telegram": {      "url": "https://telegram.regiq.in/api/mcp",      "headers": {        "Authorization": "Bearer YOUR_KEY_HERE"      }    }  }}
  5. Send /start to your bot on Telegram.

Now your agent can call get_new_messages to see what you sent it, and send_telegram_message to reply.

Tools

ToolDirectionNotes
get_new_messages()user → agentReturns inbound messages since the last pull. Read-once.
send_telegram_message(text)agent → userDelivers text to the user's Telegram bot.
list_recent_messages(max=20)readLast N stored messages, both directions. No cursor advance.
clear_history()actionWipes stored history for the user.

Slash commands (platform-handled)

Handled by the platform directly — your agent isn't involved. So /help works even when nothing is polling.

CommandEffect
/startRegisters this Telegram chat with your account.
/helpLists commands.
/recent [N]Shows the last N stored messages.
/clearWipes history.
/window NSets the history window (default 20).
/usageStored message count.

Self-host

You'll need:

  • Docker + Compose
  • A Google OAuth client — Cloud Console. Scopes: openid, email, profile. Redirect: <PUBLIC_BASE_URL>/api/auth/callback/google
  • A public HTTPS domain for Telegram webhooks (Cloudflare Tunnel or ngrok http 3012 locally)

No LLM key required. Your agent brings its own model.

bash
git clone https://github.com/globalion/telegram-mcpcd telegram-mcpcp .env.example .env# fill NEXTAUTH_SECRET, GOOGLE_*, PUBLIC_BASE_URLdocker compose up -d# open http://localhost:3012

Architecture

  Telegram app                                Your MCP agent     ▲   │                                      ▲   │     │   │ text                          poll   │   │ push     │   ▼                                      │   ▼   ┌──────────────────────────────────────────────────┐   │  Our platform (Hetzner)                          │   │  - /api/telegram/webhook/<per-user-secret>       │   │    · slash-commands answered here                │   │    · plain text stored, no reply                 │   │  - /api/mcp   Bearer-auth JSON-RPC               │   │    · get_new_messages, send_telegram_message     │   │    · list_recent_messages, clear_history         │   │  - Postgres: User, ApiKey, TelegramLink, Message │   └──────────────────────────────────────────────────┘

Per-user webhook URL segment is a random secret so a leaked bot token can't be pointed at someone else's account. Google sign-in is identity + ban anchor only — per-message identity comes from the MCP API key + chatId.

License

MIT. See LICENSE.

Source: README.md at commit ad391a0

Tools

0
SourceWeft has not read this server's tools yet.

Version history

1
  1. v0.4.0LatestSep 16, 2026

Score

85% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts