Telegram Archive
Search and read your archived Telegram chats and messages
What can you do with Telegram Archive?
- Read-only resources for archive stats, chats, folders and health (
telegram-archive://stats,telegram-archive://chats). - Message search, message paging by offset or keyset cursor, and whole calendar days in a timezone (
get_messages_by_date). - Pinned messages, forum topics and per-chat statistics.
- The photo attached to a message, returned as an image the model can look at and scaled to 1568 pixels when larger (
get_media). - Signs in to Telegram-Archive through
/api/loginwithTELEGRAM_ARCHIVE_USERandTELEGRAM_ARCHIVE_PASS. - One JSON-RPC endpoint (
/mcp) over HTTP, or stdio withTRANSPORT=stdio. - Listens on loopback by default;
MCP_AUTH_TOKENadds bearer auth when you expose it. - Ships as a Docker image, an npm package (
npx telegram-archive-mcp) and multi-arch Go binaries.
Install
Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).
telegram-archive-mcpclaude mcp add telegram-archive -e 'TELEGRAM_ARCHIVE_URL=<TELEGRAM_ARCHIVE_URL>' -e 'TELEGRAM_ARCHIVE_USER=<TELEGRAM_ARCHIVE_USER>' -e 'TELEGRAM_ARCHIVE_PASS=<your telegram_archive_pass>' -e 'READ_ONLY=<READ_ONLY>' -- npx -y telegram-archive-mcp@0.4.0
{
"mcpServers": {
"telegram-archive": {
"command": "npx",
"args": [
"-y",
"telegram-archive-mcp@0.4.0"
],
"env": {
"TELEGRAM_ARCHIVE_URL": "<TELEGRAM_ARCHIVE_URL>",
"TELEGRAM_ARCHIVE_USER": "<TELEGRAM_ARCHIVE_USER>",
"TELEGRAM_ARCHIVE_PASS": "<your telegram_archive_pass>",
"READ_ONLY": "<READ_ONLY>"
}
}
}
}
Environment variables
TELEGRAM_ARCHIVE_URLrequired Telegram Archive instance URL (e.g. http://localhost:8000)TELEGRAM_ARCHIVE_USERTelegram Archive login usernameTELEGRAM_ARCHIVE_PASSsecret Telegram Archive login passwordREAD_ONLYSet to true to hide refresh_stats, the one tool that asks the viewer to do work
drumsergio/telegram-archive-mcp:v0.4.0claude mcp add telegram-archive -e 'TELEGRAM_ARCHIVE_URL=<TELEGRAM_ARCHIVE_URL>' -e 'TELEGRAM_ARCHIVE_USER=<TELEGRAM_ARCHIVE_USER>' -e 'TELEGRAM_ARCHIVE_PASS=<your telegram_archive_pass>' -e 'READ_ONLY=<READ_ONLY>' -- docker run -i --rm drumsergio/telegram-archive-mcp:v0.4.0
{
"mcpServers": {
"telegram-archive": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"drumsergio/telegram-archive-mcp:v0.4.0"
],
"env": {
"TELEGRAM_ARCHIVE_URL": "<TELEGRAM_ARCHIVE_URL>",
"TELEGRAM_ARCHIVE_USER": "<TELEGRAM_ARCHIVE_USER>",
"TELEGRAM_ARCHIVE_PASS": "<your telegram_archive_pass>",
"READ_ONLY": "<READ_ONLY>"
}
}
}
}
Environment variables
TELEGRAM_ARCHIVE_URLrequired Telegram Archive instance URL (e.g. http://localhost:8000)TELEGRAM_ARCHIVE_USERTelegram Archive login usernameTELEGRAM_ARCHIVE_PASSsecret Telegram Archive login passwordREAD_ONLYSet to true to hide refresh_stats, the one tool that asks the viewer to do work
Documentation
From the project's README on GitHub, refreshed weekly. Links open on GitHub.
telegram-archive-mcp
An MCP server for any Telegram-Archive instance. LLMs use it to search messages, browse chats and read archived Telegram history.
Features
- Read-only resources for archive stats, chats, folders and health (
telegram-archive://stats,telegram-archive://chats). - Message search, message paging by offset or keyset cursor, and whole calendar days in a timezone (
get_messages_by_date). - Pinned messages, forum topics and per-chat statistics.
- The photo attached to a message, returned as an image the model can look at and scaled to 1568 pixels when larger (
get_media). - Signs in to Telegram-Archive through
/api/loginwithTELEGRAM_ARCHIVE_USERandTELEGRAM_ARCHIVE_PASS. - One JSON-RPC endpoint (
/mcp) over HTTP, or stdio withTRANSPORT=stdio. - Listens on loopback by default;
MCP_AUTH_TOKENadds bearer auth when you expose it. - Ships as a Docker image, an npm package (
npx telegram-archive-mcp) and multi-arch Go binaries.
Quick start
npx telegram-archive-mcp
npx fetches the server and runs it on stdio, so your MCP client starts it for you. For Claude Desktop, Cursor or Claude Code, add:
{
"mcpServers": {
"telegram-archive": {
"command": "npx",
"args": ["-y", "telegram-archive-mcp"],
"env": {
"TELEGRAM_ARCHIVE_URL": "http://localhost:8000",
"TELEGRAM_ARCHIVE_USER": "admin",
"TELEGRAM_ARCHIVE_PASS": "your-viewer-password"
}
}
}
}
Set the URL, user and password of your Telegram-Archive viewer. Docker Compose (HTTP on 127.0.0.1:8080) and local builds are in Getting started.
Documentation
The full documentation is at geiserx.github.io/telegram-archive-mcp.
- Getting started: npm, Docker Compose, local build
- Configuration: environment variables and client configuration
- Usage: the 4 resources and 10 tools, paging, reading one day at a time
- Development: testing, contributing, credits
- Related projects: Telegram Archive, other MCP servers, where this one is listed
License
Frequently asked questions
What is Telegram Archive?
Search and read your archived Telegram chats and messages
How do I install Telegram Archive?
It runs on your machine. In Claude Code: claude mcp add telegram-archive -e 'TELEGRAM_ARCHIVE_URL=<TELEGRAM_ARCHIVE_URL>' -e 'TELEGRAM_ARCHIVE_USER=<TELEGRAM_ARCHIVE_USER>' -e 'TELEGRAM_ARCHIVE_PASS=<your telegram_archive_pass>' -e 'READ_ONLY=<READ_ONLY>' -- npx -y telegram-archive-mcp@0.4.0. For other clients, paste the JSON configuration from this page into their MCP settings.
Does Telegram Archive need an API key?
Yes. It expects TELEGRAM_ARCHIVE_URL, TELEGRAM_ARCHIVE_PASS, which you set in its configuration.
Is Telegram Archive open source?
Yes. Its code is on GitHub under the GPL-3.0 license.
Who maintains Telegram Archive?
It is published by GeiserX. AI.tn lists it but does not maintain or endorse it.
From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.