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 |
Servidores relacionados
IMAP MCP
An IMAP Model Context Protocol (MCP) server to expose IMAP operations as tools for AI assistants.
Aura Backend - Advanced AI Companion
An advanced AI companion with emotional intelligence and vector database integration.
Perplexity Chat
A Python-based server for the Perplexity API that manages chat history and conversations.
Gmail AutoAuth MCP Server
Enables AI assistants to manage Gmail through natural language interactions.
KickMCP
An MCP server for seamless integration with the Kick.com API.
Voyp
Integrate AI assistants with VOYP's calling capabilities to make calls, search business info, and manage call status.
Kafka MCP Server
An MCP server for Apache Kafka, enabling LLMs to perform Kafka operations like producing and consuming messages.
Woodpecker
Manage email campaigns on Woodpecker using natural language.
Chatterbox TTS
Generates text-to-speech audio with automatic playback using the Chatterbox TTS model.
Twitter MCP Server
A server for interacting with Twitter, allowing you to post tweets, read timelines, and manage your account through the MCP standard.