T
Health: ActiveRecent health check succeeded.Last checked 7/29/2026, 10:18:13 AM

Telegram Archive Mcp

GeiserX
💬 Communication
0 Views
0 Installs

🏎️ ☁️ 🍎 🪟 🐧 - Go-based MCP server for Telegram Archive. Search and browse Telegram chat history, list chats, and retrieve messages with full-text search. Docker image available.

Quick Install

One-Click IDE Configuration
claude_desktop_config.json
{
  "mcpServers": {
    "geiserx-telegram-archive-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "geiserx-telegram-archive-mcp"
      ]
    }
  }
}
Or

Using an AI coding agent (Claude Code, Cursor, etc.)? Copy a ready-made prompt that tells it to fetch the setup instructions and install this server for you.

Documentation Overview

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

TypeWhat forMCP URI / Tool id
ResourcesBrowse archive stats, chats, and folders read-onlytelegram-archive://stats
telegram-archive://chats
telegram-archive://folders
telegram-archive://health
ToolsSearch and retrieve messages, inspect chat statisticssearch_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

VariableDefaultDescription
TELEGRAM_ARCHIVE_URLhttp://localhost:3000Telegram-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_ADDR127.0.0.1:8080HTTP 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": "acsdesk@protonmail.com",
  "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

ProjectDescription
Telegram-ArchiveAutomated, incremental Telegram backups with a local web viewer
telegram-delay-channel-clonerTelegram bot that relays messages between channels with configurable delay
telegram-slskd-local-botAutomated music discovery and download via Telegram bot with Soulseek
paperless-telegram-botManage Paperless-NGX documents entirely through Telegram
n8n-nodes-telegram-archiven8n community node for Telegram-Archive

Related MCP Servers

N
Nostr Mcp

☁️ - A Nostr MCP server that allows to interact with Nostr, enabling posting notes, and more.

💬 Communication0 views
M
Mcp Twikit

🐍 ☁️ - Interact with Twitter search and timeline

💬 Communication0 views
M
Mingle Mcp

📇 ☁️ - Agent-to-agent networking. Your AI publishes what you need, matches with other people's agents, both humans approve before connecting. 6 tools, Ed25519 signed, shared network at api.aeoess.com.

💬 Communication0 views
A
Agenticmail

📇 🏠 🍎 🪟 🐧 - Real email and SMS for AI agents. Run a local mail server with disposable inboxes, send/receive real email, fetch verification codes, and drive a real inbox — all from your machine, no third-party email API. Install with npx @agenticmail/mcp.

💬 Communication0 views
★ Spotlight Slot

Feature Your MCP Server

Get maximum visibility for your server across our directory, search results, and detail pages.

Spotlight Your Server

Own this project?

This directory is pre-filled from public sources. Claim via GitHub README, site badge, or DNS TXT to get the verified badge and attach your website.

Claim this listing

Promote this listing

Optional paid placement. Free listings stay free forever.

Share & Embed

Add our SVG badge (dark/light directory styles) or embeddable widget to your site.