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 (спам, массовая рассылка, парсинг) может привести к блокировке вашего аккаунта. Вы несете единоличную ответственность за то, как используете этот инструмент.
Содержание
Related MCP server: Telegram MCP Server
Возможности
Инструмент | Что он делает | Необходимое разрешение |
| Возвращает информацию о текущем аккаунте | — |
| Выводит список диалогов, доступных в белом списке ACL | — |
| Получает историю сообщений с пагинацией, фильтрацией по дате и загрузкой медиа |
|
| Ищет сообщения в чате по текстовому запросу, с опциональным фильтром отправителя |
|
| Отправляет текстовое сообщение или файл, с опциональным ответом на сообщение |
|
| Пересылает сообщения из одного чата в другой |
|
| Сохраняет черновик сообщения (не отправляет) |
|
| Помечает чат как прочитанный |
|
Дополнительные возможности:
Отправка файлов и фотографий
Пересылка сообщений между чатами
Ответы на конкретные сообщения
Загрузка фотографий и документов из истории сообщений
Фильтрация истории по диапазону дат (
since/until)Типизированные ссылки на собеседников (
user:ID,chat:ID,channel:ID) для предотвращения коллизий ID«Ленивое» разрешение собеседников — позволяет избежать ошибок
FLOOD_WAITпри запускеГлобальное ограничение частоты запросов на уровне RPC
Что можно делать с помощью этого инструмента
После подключения вы можете просить своего ИИ-ассистента о следующем:
Быть в курсе сообщений
«Проверь мои непрочитанные сообщения в Telegram и сделай краткую сводку»
«Что написала @alice за последние 24 часа?»
«Покажи мне сообщения из чата Dev Team с понедельника»
Отвечать и общаться
«Подготовь черновик ответа на последнее сообщение от @bob — пока не отправляй»
«Отправь @alice сообщение 'звучит неплохо, давай встретимся в 15:00'»
«Ответь на сообщение 1234 в чате проекта моим отзывом»
Управлять входящими
«Пометь все сообщения в новостном канале как прочитанные»
«В каких из моих разрешенных чатов есть непрочитанные сообщения?»
«Загрузи фотографии из сегодняшних сообщений в чате дизайна»
Исследовать и анализировать
«Найди все сообщения с упоминанием деплоя за последнюю неделю»
«Обобщи обсуждение в командном чате за вчерашний день»
«Какие файлы были отправлены в канал проекта в этом месяце?»
Сравнение с chaindead/telegram-mcp
mcp-telegram | chaindead/telegram-mcp | |
Контроль доступа | Белый список ACL (запрещено по умолчанию) с детальными правами для каждого чата | Полный доступ ко всем чатам |
Адресация собеседников | Типизированные ссылки ( | Только числовые ID (склонны к коллизиям) |
Конфигурация | YAML-конфиг с поддержкой переменных окружения | Флаги CLI |
Безопасность запуска | «Ленивое» разрешение собеседников (без массовых вызовов API) | «Жадное» разрешение (риск |
Ограничение частоты | Встроенное middleware с токенами | Нет |
Поддержка файлов | Отправка файлов, фото; загрузка медиа из истории | Только текст |
Поддержка ответов | Да | Нет |
Фильтрация по дате | Да | Нет |
Быстрый старт
Предварительные требования
Go 1.26+
Аккаунт Telegram
Учетные данные API с my.telegram.org (
api_idиapi_hash)
Установка
Homebrew (macOS / Linux):
brew install Prgebish/tap/mcp-telegramNPX (установка не требуется):
npx @prgebish/mcp-telegram serve --config config.yamlГотовые бинарные файлы (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), права объединяются — они никогда не перекрывают друг друга.
Ограничение частоты запросов (Rate limiting)
Секция limits.rate настраивает глобальный «ведерный» алгоритм (token bucket), который охватывает все вызовы Telegram RPC:
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 deployed
Maintenance
Related MCP Connectors
Telegram bridge for your MCP-compatible agent. Bidirectional, no LLM in our stack.
Multi-tenant Telegram gateway for AI agents — HTTP+stdio, 8 tools, MTProto User API
- QuallaaOAuthcom.quallaa
Talk to your public-facing AI from any MCP client — Claude, ChatGPT, Cursor, Cline, Windsurf.
MCP server for Gainium — manage trading bots, deals, and balances via AI assistants
Related MCP Servers
- AlicenseNot gradedqualityAmaintenanceA safe-by-default MCP server for real Telegram accounts powered by TDLib, enabling AI agents to read and act on your account with read-only mode and human approval for destructive actions.7Apache 2.0
- AlicenseAqualityAmaintenanceMCP server that acts as a gateway to Telegram, providing AI-optimized tools for messaging, search, and chat management via MTProto. Supports multi-user authentication with QR login and HTTP/stdio transports.82MIT
- AlicenseNot gradedqualityCmaintenanceAn MCP server that automates a single Telegram user account via the Telegram user API, enabling chat listing, reading/sending messages, searching, and additional actions through natural language.12 npmMIT
- AlicenseAqualityBmaintenanceAn MCP server that gives AI agents full access to a personal Telegram account via MTProto, enabling chat reading, history search, messaging, media handling, and automations.79MIT