tg-reader
Provides an MCP server that lets an AI agent read from the user's own Telegram account via a userbot, limited to chats explicitly allowed in a project profile. It supports reading and searching chats, downloading attachments, and optionally sending messages or files when write access is enabled; editing, deleting, and marking messages as read are not supported.
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
tg-reader
MCP-сервер, через который AI-агент (Claude Code и т.п.) читает твой Telegram от твоего же аккаунта (userbot, Telethon/MTProto) — но только те чаты, что ты разрешил проекту.
Каждый проект подключает свой профиль — список чатов. Остальные чаты сервер не видит, не перечисляет и не отдаёт.
Чтение, поиск, скачивание вложений — всегда. Отправка (
send_message,send_file) — только если в профилеwrite = true.send_fileберёт файлы только внутри--upload-rootи никогда не шлёт скрытые пути (.env,.ssh…).Редактирования, удаления и отметки «прочитано» в коде нет.
⚠️ Прежде чем ставить
Сессия Telegram (
TG_SESSION) — это полный доступ к твоему аккаунту. Храни её как пароль: менеджер паролей или файл с правами600, никогда не в git и не в чат с агентом.Telegram не любит автоматизацию пользовательских аккаунтов. Читай умеренно; теоретически аккаунт могут ограничить.
Отозвать доступ: Telegram → Настройки → Устройства → завершить сессию.
Related MCP server: telegram-plugin
Установка
git clone https://github.com/agentseo/tg-reader ~/tg-reader && cd ~/tg-reader
python3 -m venv .venv && .venv/bin/pip install -r requirements.txtAPI-ключи. https://my.telegram.org/apps → создать приложение →
api_idиapi_hash. Форма выдаётERROR? См. ниже.Вход (QR-код в терминале;
--phone— вход по коду из Telegram):export TG_API_ID=... TG_API_HASH=... mkdir -p ~/.config/tg-reader (umask 077; .venv/bin/python -m tg_reader.login --raw > ~/.config/tg-reader/session)Строка сессии попадает только в файл, на экран не выводится.
Найти чаты:
TG_SESSION_FILE=~/.config/tg-reader/session .venv/bin/python -m tg_reader.chats "часть названия"печатаетid<TAB>тип<TAB>название.Профиль:
cp profiles.example.toml profiles.toml, вписать id нужных чатов.
my.telegram.org выдаёт ERROR
Частая беда при создании приложения на my.telegram.org: форма отвечает просто ERROR. Обычно
причина в VPN (страна подключения не совпадает со страной номера). Без VPN из России сайт при
этом не открывается. Помогает прямое подключение к серверу Telegram через файл hosts.
Выключи VPN и не включай, пока не получишь ключи. Затем добавь в hosts строку
149.154.167.220 my.telegram.org(149.154.167.220 — адрес my.telegram.org в сети Telegram) и сбрось DNS-кэш:
Windows: Блокнот от имени администратора → открыть
C:\Windows\System32\drivers\etc\hosts(тип файлов «Все файлы») → дописать строку → сохранить. Затем в cmd:ipconfig /flushdns.macOS:
sudo nano /etc/hosts→ дописать строку → Ctrl+O, Enter, Ctrl+X. Затемsudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder.Linux:
echo '149.154.167.220 my.telegram.org' | sudo tee -a /etc/hosts.WSL: браузер работает в Windows, поэтому править нужно
hostsWindows (см. выше).
Потом полностью закрой браузер (на Mac — Cmd+Q) и открой заново, зайди на
https://my.telegram.org, войди по номеру и коду из Telegram → API development tools →
заполни форму → появятся api_id и api_hash.
Всё равно не открывается — попробуй другой браузер (у браузера свой DNS-кэш), VPN по-прежнему выключен.
Ещё вариант — прокси или VPN Казахстана (тоже код +7).
Получив ключи, строку из
hostsможно удалить: она нужна только для этой формы.
Подключение к проекту
.mcp.json в корне проекта (пути — свои):
{
"mcpServers": {
"telegram": {
"command": "/home/me/tg-reader/.venv/bin/python",
"args": [
"-m", "tg_reader.server",
"--profile", "myproject",
"--download-dir", "/home/me/projects/myproject/tg-files"
],
"env": {
"PYTHONPATH": "/home/me/tg-reader",
"TG_API_ID": "123456",
"TG_API_HASH": "${TG_API_HASH}",
"TG_SESSION_FILE": "/home/me/.config/tg-reader/session"
}
}
}
}TG_API_HASHлучше держать в окружении шелла (${...}Claude Code подставит сам), чем писать в.mcp.json, если проект в git.--upload-root <dir>включаетsend_file(и только еслиwrite = true).tg-files/добавь в.gitignoreпроекта.Новый чат в
profiles.tomlподхватывается после перезапуска сервера (новая сессия агента).
Переменные
Env | Что |
| api_id с my.telegram.org |
| api_hash оттуда же |
| строка сессии (или вместо неё ↓) |
| путь к файлу со строкой сессии |
Как есть, без гарантий. Лицензия MIT.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
This server cannot be deployed
Maintenance
Related MCP Connectors
Let AI assistants post to your Telegram chats, groups and channels. Not affiliated with Telegram.
Your Telegram, WhatsApp, Instagram, mail and calendar in Claude or ChatGPT. Never sends messages.
Telegram for AI agents, no login: keyword search, channel posts, comments, username lookup.
Your personal Telegram account for AI: read, search and sum up chats. QR login, no API key.
12
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables AI agents to scoped, permissioned access to Telegram chats with per-chat read/write levels and human approval for sending messages.2MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI coding agents to read your own Telegram account via MTProto, including listing chats, searching and reading message history, resolving chats, and downloading attachments, with sending available only when explicitly enabled.MIT
- AlicenseAqualityCmaintenanceEnables AI agents to access and search Telegram conversations, including transcribed voice messages and OCR'd images, and to draft messages that require user approval before sending.152MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to work with Telegram through explicitly selected user accounts and bots, supporting search, reading, sending, and message management with consent-based access.40 PyPI1Apache 2.0