Command Palette

Search for a command to run...

UnylyUnyly
Browse all

Telegram Archive

FreeMaintained

MCP server that exposes any Telegram-Archive instance to LLMs, enabling message search, chat browsing, and access to archived Telegram history.

GitHubEmbed

About

MCP server that exposes any Telegram-Archive instance to LLMs, enabling message search, chat browsing, and access to archived Telegram history.

README

Telegram Archive MCP banner

Telegram-Archive-MCP

codecov npm Go Docker Pulls GitHub Stars License

Official MCP Registry Glama MCP Server MCPServers.org mcp.so ToolSDK Registry listed on awesome-mcp-servers

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://stats
telegram-archive://chats
telegram-archive://folders
telegram-archive://health
Tools Search and retrieve messages, inspect chat statistics search_messages
get_messages
get_pinned_messages
get_messages_by_date
get_chat_stats
get_topics
refresh_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:8080 by 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)
MCP_AUTH_TOKEN (empty) Bearer token for HTTP auth (required if not loopback)
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": "bearer",
    "token": "<your MCP_AUTH_TOKEN value>"
  },
  "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

@GeiserX.

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

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

from github.com/GeiserX/telegram-archive-mcp

Install Telegram Archive in Claude Desktop, Claude Code & Cursor

Recommended · one command, every IDE
unyly install telegram-archive-mcp

Installs into Claude Desktop, Claude Code, Cursor & VS Code — handles npx, uvx and build-from-source repos for you.

First time? Get the CLI: curl -fsSL https://unyly.org/install | sh

Or configure manually

Run in your terminal:

claude mcp add telegram-archive-mcp -- npx -y telegram-archive-mcp

Step-by-step: how to install Telegram Archive

FAQ

Is Telegram Archive MCP free?

Yes, Telegram Archive MCP is free — one-click install via Unyly at no cost.

Does Telegram Archive need an API key?

No, Telegram Archive runs without API keys or environment variables.

Is Telegram Archive hosted or self-hosted?

A hosted option is available: Unyly runs the server in the cloud, no local setup required.

How do I install Telegram Archive in Claude Desktop, Claude Code or Cursor?

Open Telegram Archive on unyly.org, pick your client tab (Claude Desktop, Claude Code, Cursor) and press Install — the config is generated automatically, no JSON editing.

Changes

Versions and requested access over time.

  • New version published
  • New version published

Related MCPs

Compare Telegram Archive with

Not sure what to pick?

Find your stack in 60 seconds

Author?

Embed badge for your README

Browse similar

All communication MCPs