Back to Browse

Telegram MCP Server

CommunicationUse Caution4.9MCP RegistryLocalRemote
Free

Server data from the Official MCP Registry

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

About

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

Remote endpoints: streamable-http: https://telegram.regiq.in/api/mcp

Security Report

4.9
Use Caution4.9High Risk

telegram-mcp is a well-architected Telegram-to-agent bridge with proper authentication, reasonable permission scoping, and solid input validation. The codebase demonstrates good security hygiene: Bearer token auth for MCP calls, per-user webhook secrets, storage quota enforcement, and no obvious data exfiltration or credential leaks. Minor quality findings around error handling and logging do not significantly impact the security posture. Supply chain analysis found 6 known vulnerabilities in dependencies (0 critical, 1 high severity).

7 files analyzed · 12 issues found

Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.

Permissions Required

This plugin requests these system permissions. Most are normal for its category.

HTTP Network Access

Connects to external APIs or services over the internet.

env_vars

Check that this permission is expected for this type of plugin.

database

Check that this permission is expected for this type of plugin.

File System Read

Reads files on your machine. Normal for tools that analyze or process local data.

How to Install & Connect

Available as Local & Remote

This plugin can run on your machine or connect to a hosted endpoint. during install.

Documentation

View on GitHub

From the project's GitHub 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):

    {
      "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.

git clone https://github.com/globalion/telegram-mcp
cd telegram-mcp
cp .env.example .env
# fill NEXTAUTH_SECRET, GOOGLE_*, PUBLIC_BASE_URL
docker 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.

Reviews

No reviews yet

Be the first to review this server!

Telegram MCP Server - Telegram bridge for your MCP-compatible agent. | MCP Marketplace