mcp-telegram
mcp-telegram
MCP-сервер, который подключает ИИ-ассистентов, таких как Claude, к вашему реальному аккаунту Telegram через User API (MTProto). Это не бот — Claude читает и отправляет сообщения от вашего имени.
Создан с использованием gotd/td и официального MCP Go SDK.
Условия использования Telegram API: Этот проект использует Telegram User API. Вы должны получить собственные
api_idиapi_hashна сайте my.telegram.org и соблюдать Условия использования Telegram API. Неправомерное использование User API (спам, массовая рассылка, парсинг) может привести к блокировке вашего аккаунта. Вы несете единоличную ответственность за то, как используете этот инструмент.
Содержание
Возможности
Инструмент | Что он делает | Требуемое разрешение |
| Возвращает информацию о текущем аккаунте | — |
| Выводит список диалогов, доступных в белом списке ACL | — |
| Получает историю сообщений с пагинацией, фильтрацией по дате и загрузкой медиа |
|
| Ищет сообщения в чате по текстовому запросу, с опциональным фильтром отправителя |
|
| Отправляет текстовое сообщение или файл, с опциональным ответом на сообщение |
|
| Пересылает сообщения из одного чата в другой |
|
| Сохраняет черновик сообщения (не отправляет) |
|
| Помечает чат как прочитанный |
|
Дополнительные возможности:
Отправка файлов и фотографий
Пересылка сообщений между чатами
Ответы на конкретные сообщения
Загрузка фотографий и документов из истории сообщений
Фильтрация истории по диапазону дат (
since/until)Типизированные ссылки на объекты (
user:ID,chat:ID,channel:ID) для предотвращения конфликтов ID«Ленивое» разрешение объектов — позволяет избежать ошибок
FLOOD_WAITпри запускеГлобальное ограничение частоты запросов на уровне RPC
Что можно делать с помощью этого инструмента
После подключения вы можете просить своего ИИ-ассистента о следующем:
Просмотр сообщений
«Проверь мои непрочитанные сообщения в Telegram и сделай краткую сводку»
«Что написала @alice за последние 24 часа?»
«Покажи мне сообщения из чата Dev Team с понедельника»
Ответы и общение
«Подготовь черновик ответа на последнее сообщение от @bob — пока не отправляй»
«Отправь 'звучит неплохо, давай встретимся в 3 часа дня' пользователю @alice»
«Ответь на сообщение 1234 в чате проекта с моим отзывом»
Управление входящими
«Пометь все сообщения в новостном канале как прочитанные»
«В каких из моих разрешенных чатов есть непрочитанные сообщения?»
«Загрузи фотографии из сегодняшних сообщений в чате дизайна»
Исследования и анализ
«Найди все сообщения с упоминанием развертывания (deployment) за последнюю неделю»
«Обобщи обсуждение в командном чате за вчерашний день»
«Какие файлы были отправлены в канал проекта в этом месяце?»
Сравнение с chaindead/telegram-mcp
mcp-telegram | chaindead/telegram-mcp | |
Контроль доступа | Белый список ACL (запрещено по умолчанию) с детальными правами для каждого чата | Полный доступ ко всем чатам |
Адресация объектов | Типизированные ссылки ( | Только числовые ID (склонны к конфликтам) |
Конфигурация | YAML-конфиг с поддержкой переменных окружения | CLI-флаги |
Безопасность запуска | «Ленивое» разрешение объектов (нет массовых API-вызовов) | «Жадное» разрешение (риск |
Ограничение частоты | Встроенное middleware с алгоритмом token bucket | Нет |
Поддержка файлов | Отправка файлов, фото; загрузка медиа из истории | Только текст |
Поддержка ответов | Да | Нет |
Фильтрация по дате | Да | Нет |
Быстрый старт
Предварительные требования
Go 1.26+
Аккаунт Telegram
API-учетные данные с my.telegram.org (
api_idиapi_hash)
Установка
Homebrew (macOS / Linux):
brew install Prgebish/tap/mcp-telegramГотовые бинарные файлы (macOS / Linux / Windows):
Скачайте с GitHub Releases.
Go install:
go install github.com/Prgebish/mcp-telegram/cmd/mcp-telegram@latestИз исходного кода:
git clone https://github.com/Prgebish/mcp-telegram.git
cd mcp-telegram
go build ./cmd/mcp-telegramЭто создаст файл mcp-telegram (или mcp-telegram.exe в Windows) в текущей директории.
Аутентификация
Запустите команду аутентификации один раз, чтобы создать файл сессии. Вас попросят ввести номер телефона, код подтверждения и (если включено) пароль двухфакторной аутентификации.
macOS / Linux:
export TG_APP_ID=12345
export TG_API_HASH="your_api_hash"
mcp-telegram auth --config config.yamlWindows (PowerShell):
$env:TG_APP_ID = "12345"
$env:TG_API_HASH = "your_api_hash"
mcp-telegram.exe auth --config config.yamlWindows (cmd):
set TG_APP_ID=12345
set TG_API_HASH=your_api_hash
mcp-telegram.exe auth --config config.yamlКонфигурация
Создайте файл config.yaml:
telegram:
app_id: ${TG_APP_ID}
api_hash: ${TG_API_HASH}
session_path: ~/.config/mcp-telegram/session.json
acl:
chats:
- match: "@username"
permissions: [read, draft, mark_read]
- match: "user:123456789"
permissions: [read, send]
- match: "channel:2225853048"
permissions: [read, mark_read]
limits:
max_messages_per_request: 50
max_dialogs_per_request: 100
rate:
requests_per_second: 2.0
burst: 3
logging:
level: infoПеременные окружения в синтаксисе ${...} раскрываются при загрузке.
Настройка клиента
Сервер общается через stdio — ваш MCP-клиент запускает и управляет процессом.
Claude Code (CLI — добавьте через команду):
claude mcp add telegram -- /path/to/mcp-telegram serve --config /path/to/config.yamlClaude Desktop / Claude Code (~/.claude.json или claude_desktop_config.json):
{
"mcpServers": {
"telegram": {
"command": "/path/to/mcp-telegram",
"args": ["serve", "--config", "/path/to/config.yaml"],
"env": {
"TG_APP_ID": "12345",
"TG_API_HASH": "your_api_hash"
}
}
}
}Cursor (Настройки > MCP Servers > Добавить):
{
"telegram": {
"command": "/path/to/mcp-telegram",
"args": ["serve", "--config", "/path/to/config.yaml"],
"env": {
"TG_APP_ID": "12345",
"TG_API_HASH": "your_api_hash"
}
}
}Конфигурация
ACL
ACL работает по принципу «запрещено по умолчанию». Доступны только те чаты, которые явно указаны в acl.chats, и только с теми правами, которые вы укажете.
Поддерживаемые шаблоны сопоставления:
Шаблон | Пример | Описание |
|
| Поиск по имени пользователя Telegram (регистронезависимо) |
|
| Поиск по номеру телефона |
|
| Поиск пользователя по числовому ID |
|
| Поиск группового чата по числовому ID |
|
| Поиск канала или супергруппы по числовому ID |
Типы разрешений: read, send, draft, mark_read.
Если один и тот же объект соответствует нескольким правилам (например, через @username и user:ID), права объединяются — они никогда не перекрывают друг друга.
Ограничение частоты запросов
Секция limits.rate настраивает глобальный «token bucket», который оборачивает все RPC-вызовы Telegram:
requests_per_second— устойчивая скорость (по умолчанию: 2.0)burst— максимальный размер всплеска (по умолчанию: 3)
Загрузка медиа
media:
download: [photo, document, video, voice, audio]
directory: ~/telegram-media
allowed_upload_dirs:
- ~/Documents
- ~/DownloadsПри настройке tg_history будет автоматически загружать медиафайлы в указанную директорию. Параметр download_to может переопределить путь, но только в пределах media.directory или её поддиректорий.
allowed_upload_dirs ограничивает директории, из которых tg_send может читать файлы. Отправка файлов отключена, если это не настроено.
Безопасность
ACL «запрещено по умолчанию» — никакой чат не доступен, если он явно не добавлен в белый список
Границы файловой системы —
tg_sendможет читать файлы только изallowed_upload_dirs;download_toограничен поддиректориямиmedia.directoryПрава доступа к файлу сессии — принудительно устанавливаются в
0600(чтение/запись только владельцем)Отсутствие логирования секретов — API-хэши, токены сессий и ключи авторизации никогда не записываются в логи
Отсутствие доступа к хэшам доступа — внутренние хэши доступа Telegram удаляются из всех выходных данных инструментов
Ограничение частоты запросов — предотвращает случайное злоупотребление API
Локальный часовой пояс — фильтры дат используют часовой пояс вашей системы, а не UTC
Лицензия
Если вы находите этот проект полезным, пожалуйста, поставьте звезду — это помогает другим узнать о нем.
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/Prgebish/mcp-telegram'
If you have feedback or need assistance with the MCP directory API, please join our Discord server