Telegram Archive MCP
Search messages, browse chats, and access archived Telegram history from a self-hosted instance
Telegram-Archive-MCP
A tiny bridge that exposes any Telegram-Archive instance as an MCP server, enabling LLMs to search messages, browse chats, and access archived Telegram history.
What you get
| Type | What for | MCP URI / Tool id |
|---|---|---|
| Resources | Browse archive stats, chats, and folders read-only | telegram-archive://statstelegram-archive://chatstelegram-archive://folderstelegram-archive://health |
| Tools | Search and retrieve messages, inspect chat statistics | search_messagesget_messagesget_pinned_messagesget_messages_by_dateget_chat_statsget_topicsrefresh_stats |
Everything is exposed over a single JSON-RPC endpoint (/mcp).
LLMs / Agents can: initialize -> readResource -> listTools -> callTool ... and so on.
Quick-start (Docker Compose)
services:
telegram-archive-mcp:
image: drumsergio/telegram-archive-mcp:latest
ports:
- "127.0.0.1:8080:8080"
environment:
- TELEGRAM_ARCHIVE_URL=http://telegram-archive:3000
- TELEGRAM_ARCHIVE_USER=your-username
- TELEGRAM_ARCHIVE_PASS=your-password
Security note: The HTTP transport listens on
127.0.0.1:8080by default. If you need to expose it on a network, place it behind a reverse proxy with authentication.
Install via npm (stdio transport)
npx telegram-archive-mcp
Or install globally:
npm install -g telegram-archive-mcp
telegram-archive-mcp
This downloads the pre-built Go binary from GitHub Releases for your platform and runs it with stdio transport. Requires at least one published release.
Local build
git clone https://github.com/GeiserX/telegram-archive-mcp
cd telegram-archive-mcp
# (optional) create .env from the sample
cp .env.example .env && $EDITOR .env
go run ./cmd/server
Configuration
| Variable | Default | Description |
|---|---|---|
TELEGRAM_ARCHIVE_URL | http://localhost:3000 | Telegram-Archive instance URL (without trailing /) |
TELEGRAM_ARCHIVE_USER | (empty) | Login username for session auth via /api/login |
TELEGRAM_ARCHIVE_PASS | (empty) | Login password for session auth via /api/login |
LISTEN_ADDR | 127.0.0.1:8080 | HTTP listen address (Docker sets 0.0.0.0:8080) |
TRANSPORT | (empty = HTTP) | Set to stdio for stdio transport |
Put them in a .env file (from .env.example) or set them in the environment.
Testing
Tested with Inspector and it is currently fully working. Before making a PR, make sure this MCP server behaves well via this medium.
Example configuration for client LLMs
{
"schema_version": "v1",
"name_for_human": "Telegram-Archive-MCP",
"name_for_model": "telegram_archive_mcp",
"description_for_human": "Search messages, browse chats, and access archived Telegram history.",
"description_for_model": "Interact with a Telegram-Archive instance that stores archived Telegram messages. First call initialize, then reuse the returned session id in header \"Mcp-Session-Id\" for every other call. Use readResource to fetch URIs that begin with telegram-archive://. Use listTools to discover available actions and callTool to execute them.",
"auth": { "type": "none" },
"api": {
"type": "jsonrpc-mcp",
"url": "http://localhost:8080/mcp",
"init_method": "initialize",
"session_header": "Mcp-Session-Id"
},
"contact_email": "[email protected]",
"legal_info_url": "https://github.com/GeiserX/telegram-archive-mcp/blob/main/LICENSE"
}
Credits
Telegram-Archive -- Telegram message archival and search
MCP-GO -- modern MCP implementation
GoReleaser -- painless multi-arch releases
Maintainers
Contributing
Feel free to dive in! Open an issue or submit PRs.
Telegram-Archive-MCP follows the Contributor Covenant Code of Conduct.
Other MCP Servers by GeiserX
- cashpilot-mcp — Passive income monitoring
- duplicacy-mcp — Backup health monitoring
- genieacs-mcp — TR-069 device management
- lynxprompt-mcp — AI configuration blueprints
- pumperly-mcp — Fuel and EV charging prices
Related Projects
| Project | Description |
|---|---|
| Telegram-Archive | Automated, incremental Telegram backups with a local web viewer |
| telegram-delay-channel-cloner | Telegram bot that relays messages between channels with configurable delay |
| telegram-slskd-local-bot | Automated music discovery and download via Telegram bot with Soulseek |
| paperless-telegram-bot | Manage Paperless-NGX documents entirely through Telegram |
| n8n-nodes-telegram-archive | n8n community node for Telegram-Archive |
İlgili Sunucular
Slack
Interact with Slack workspaces to read and send messages directly through your AI assistant.
MCP Discord Agent Communication
Enables asynchronous communication between AI agents and users through Discord, ideal for long-running tasks.
Fastmail MCP Server
Integrate your Fastmail account with AI assistants using the Model Context Protocol.
Telegram MCP Server
Connect to your Telegram account to read and send messages.
InboxAPI
Your Agents' personal email
MCP Chat Desktop App
A cross-platform desktop app for interacting with various Large Language Models (LLMs) through the Model Context Protocol (MCP).
Instagram
Interact with Instagram Business accounts using the Instagram Graph API.
Kokoro TTS
A server that provides text-to-speech capabilities using the Kokoro TTS engine.
Instagram DMs
Send Instagram DMs via your LLM
JustCall MCP Server
The JustCall Model Context Protocol (MCP) Server lets Large Language Models (LLMs) and AI agents make real-world voice calls and send SMS directly through JustCall’s APIs — securely, contextually, and programmatically.