telegram-archive-mcp
MCP Server for Telegram-Archive — search messages, browse chats, and access archived Telegram history via MCP
Install / Use
claude mcp add GeiserX -- npx -y github:GeiserX/telegram-archive-mcpIf the server publishes to npm under a different name, use that package instead — check the repo README.
MCP Server
Model Context Protocol server
Quality Score
Category
CommunicationSupported Platforms
Tags
Our assessment of telegram-archive-mcp
telegram-archive-mcp scores 78/100 on our quality scale, 376th of 399 Communication skills we index.
Its MCP Server is 6.6 KB long, split into 5 sections with 5 code examples: a thorough specification that gives an agent plenty to work with.
It has 10 GitHub stars, so there is little community track record yet; judge it on its content.
Maintenance, license and trust
- The repository was last updated 6 days ago, so telegram-archive-mcp is actively maintained.
- It is released under GPL-3.0, a copyleft license: you can use it, but modified versions you distribute must carry the same license.
- Its trust signals score 97/100, with no cautions. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.
telegram-archive-mcp compared with similar skills
All 4 of these similar skills score higher than telegram-archive-mcp; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| telegram-archive-mcp (this skill)by GeiserX | 78 | 10 | 6d ago | MCP Server |
| Agent-Reachby Panniantong | 100 | 108.5k | 3d ago | CLAUDE.md |
| headroomby headroomlabs-ai | 100 | 78.8k | today | CLAUDE.md |
| CowAgentby zhayujie | 100 | 47.8k | today | CLAUDE.md |
| Scraplingby D4Vinci | 100 | 95.3k | today | MCP Server |
Frequently asked questions
- How do I install telegram-archive-mcp?
- Run
claude mcp add GeiserX -- npx -y github:GeiserX/telegram-archive-mcp. The install tabs above show the steps for each supported agent. - Which AI agents does telegram-archive-mcp work with?
- It is written for Claude Code and Claude Desktop, as a MCP Server file. Other agents that read the same format can often use it too.
- Is telegram-archive-mcp safe to use?
- It is GPL-3.0-licensed and scores 97/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is telegram-archive-mcp still maintained?
- The repository was last updated 6 days ago, so telegram-archive-mcp is actively maintained.
Skill content
View source on GitHubFeatures
- Speaks MCP 2026-07-28 and every earlier revision down to 2024-11-05 on stdio and Streamable HTTP. Clients that still use the
initializehandshake work unchanged. - Search one chat or every chat at once, read a chat page by page, one calendar day in your timezone, or the conversation around one message.
- Forum topics, pinned messages, folders 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). - Every tool is read-only except
refresh_stats;READ_ONLY=1hides that one too. - Signs in to Telegram-Archive through
/api/loginwithTELEGRAM_ARCHIVE_USERandTELEGRAM_ARCHIVE_PASS. - HTTP listens on loopback by default, checks
Origin, caps request bodies, and requiresMCP_AUTH_TOKENon any other address. - Ships as an npm package, a Docker image and multi-arch Go binaries.
Install
Every client below runs the server over stdio. Set the URL, user and password of your Telegram-Archive viewer.
Claude Code
claude mcp add --env TELEGRAM_ARCHIVE_URL=http://localhost:8000 \
--env TELEGRAM_ARCHIVE_USER=admin --env TELEGRAM_ARCHIVE_PASS=your-viewer-password \
--transport stdio telegram-archive -- npx -y telegram-archive-mcp
Claude Desktop (claude_desktop_config.json) and Cursor (~/.cursor/mcp.json)
{
"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"
}
}
}
}
VS Code (.vscode/mcp.json, asks for the password once)
{
"inputs": [
{ "type": "promptString", "id": "tg-pass", "description": "Telegram-Archive viewer password", "password": true }
],
"servers": {
"telegram-archive": {
"type": "stdio",
"command": "npx",
"args": ["-y", "telegram-archive-mcp"],
"env": {
"TELEGRAM_ARCHIVE_URL": "http://localhost:8000",
"TELEGRAM_ARCHIVE_USER": "admin",
"TELEGRAM_ARCHIVE_PASS": "${input:tg-pass}"
}
}
}
}
Codex (~/.codex/config.toml)
[mcp_servers.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" }
Docker, for any client above: use docker as the command with these arguments, and a release tag from the releases page, never latest:
docker run -i --rm -e TELEGRAM_ARCHIVE_URL -e TELEGRAM_ARCHIVE_USER -e TELEGRAM_ARCHIVE_PASS drumsergio/telegram-archive-mcp:vX.Y.Z
The npm package downloads the release binary on first start and checks it against the checksums published with the package, so it also works with npm 12, which skips install scripts. A long-running HTTP server (Docker Compose) and local builds are in Getting started.
Tools
| Tool | What it does |
|---|---|
| list_chats | Lists chats, most recent first; filter by search (name), archived or folder_id. Each chat's ref is the chat_id the other tools take. |
| list_folders | Lists your Telegram folders and their ids. |
| search_all_chats | Searches message text in every chat at once. |
| search_messages | Searches one chat, optionally one forum topic. |
| get_messages | Reads a chat newest first, by offset or keyset cursor, optionally one forum topic. |
| get_message_context | Returns one message with the messages before and after it. |
| get_messages_by_date | Returns every message of one calendar day in a timezone. |
| get_pinned_messages | Returns a chat's pinned messages. |
| get_topics | Lists a forum group's topics; their ids feed topic_id. |
| get_chat_stats | Message and media counts and size of one chat. |
| get_media | The photo attached to a message, as an image, or the file's details. |
| refresh_stats | Makes the viewer recalculate archive-wide statistics. Hidden with READ_ONLY=1. |
Every tool returns structured content with an output schema, alongside the same JSON as text. Arguments and defaults are on Usage.
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 12 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
Related Skills
Agent-Reach
108.5kGive your AI agent eyes to see the entire internet. Read & search Twitter, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu — one CLI, zero API fees.
headroom
78.8kCompress tool outputs, logs, files, and RAG chunks before they reach the LLM. 20% fewer tokens for coding agents, 60-95% fewer tokens for JSON, same answers. Library, proxy, MCP server.
CowAgent
47.8kOpen-source personal AI assistant & Agent Harness. Plans tasks, runs tools and skills, self-evolves with memory and knowledge. Multi-agent, multi-model, multi-channel. Lightweight, extensible, one-line install.
Scrapling
95.3k🕷️ The BEST Web Scraping framework that handles everything from a single request to a full-scale crawl! Don't be shy, join here: https://discord.gg/EMgGbDceNQ and follow here for daily tips and tricks: https://x.com/Scrapling_dev
Languages
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.
