# Telegram MCP Server Comparison (2026-06-15)

## Server Options Found on GitHub (sorted by popularity)

### 1. chaindead/telegram-mcp ⭐ 300+
- **Language**: Go
- **Auth**: MTProto (real account)
- **Install**: `brew install chaindead/tap/telegram-mcp` or `go install` or binary
- **Features**: Dialog list, unread messages, mark read, drafts, message retrieval, contacts, media download
- **Transport**: stdio
- **Pros**: Most popular, well-documented, cross-platform
- **Cons**: Go binary (harder to debug/extend), requires Go 1.24+ for source install

### 2. sparfenyuk/mcp-telegram ⭐ active (RECOMMENDED)
- **Language**: Python
- **Auth**: MTProto (real account)
- **Install**: `uv tool install git+https://github.com/sparfenyuk/mcp-telegram`
- **Features**: Same as chaindead — dialogs, messages, contacts, media, drafts
- **Transport**: stdio
- **Pros**: Python (easy to extend), uv-based install, CLI sign-in flow
- **Cons**: Less stars than chaindead; **pydantic-settings env var conflict** — sign-in command reads ALL `.env` vars and rejects unknowns. Use direct Telethon login instead (see `telethon-login.py`)

### 3. fast-mcp-telegram (leshchenko1979) ⭐ 46
- **Language**: Python
- **Auth**: MTProto (real account)
- **Install**: `uv tool install fast-mcp-telegram`
- **Features**: Production-grade, multi-user ACL, dual transport (stdio + HTTP SSE), voice transcription
- **Transport**: stdio + HTTP SSE
- **Pros**: Most feature-rich, ACL for multi-user, voice transcription
- **Cons**: **Does NOT support SOCKS5 proxy** — only MTProto proxy (`tg://proxy`). Unusable on servers behind firewalls (e.g. China) that need SOCKS5/HTTP proxy to reach Telegram.

### 4. zhigang1992/telegram-mcp ⭐ 14
- **Language**: TypeScript
- **Auth**: MTProto
- **Features**: Send/read/search messages, wait for incoming, conversation history
- **Transport**: stdio

### 5. IQAIcom/mcp-telegram ⭐ 7
- **Language**: TypeScript
- **Auth**: Bot API (BotFather token)
- **Features**: Send message, get channel info, forward, pin, get members
- **Limitation**: Bot API only — cannot access contacts, personal chats, or global search
- **Use case**: Channel/bot management, NOT personal account access

### 6. moltis ⭐ 2740
- **Note**: Full agent platform (Rust), not a standalone MCP server
- **Overkill** if you just want Telegram MCP

## Recommendation

**For Hermes integration (default)**: Use `sparfenyuk/mcp-telegram` (Python, uv install). Skip `mcp-telegram sign-in` due to pydantic env var conflict — use the direct Telethon login script instead.

**For firewalled servers (China, etc.)**: MUST use `sparfenyuk/mcp-telegram` — it's the only one supporting SOCKS5 proxy via `python-socks`. `fast-mcp-telegram` will fail to connect.

**Avoid** Bot API-based servers (like IQAIcom) if you need contacts, cross-chat search, or personal account access.

## Key Distinction: MTProto vs Bot API

| | MTProto | Bot API |
|---|---|---|
| Auth | Your real TG account | Bot token from @BotFather |
| Contacts | ✅ | ❌ |
| All chats | ✅ | Only where bot is added |
| Global search | ✅ | ❌ |
| Rate limits | Per-account | Per-bot (more lenient) |
| Risk | Account suspension if abused | Low risk |

## Proxy Support Matrix

| Server | SOCKS5 | HTTP Proxy | MTProto Proxy |
|---|---|---|---|
| sparfenyuk/mcp-telegram | ✅ (python-socks) | ❌ | ❌ |
| chaindead/telegram-mcp | ❓ | ❓ | ❓ |
| fast-mcp-telegram | ❌ | ❌ | ✅ |
