Handles configuration management through environment variables, specifically for storing Telegram API credentials including API ID, API hash, and phone number.
Enables interaction with Telegram messaging platform, providing tools to search channels by keywords, list available channels, retrieve messages from channels, and filter messages by regex patterns.
Телеграм MCP-сервер
MCP-сервер, позволяющий помощникам ИИ (например, Клоду) взаимодействовать с вашим аккаунтом Telegram с помощью API клиента пользователя (не API бота). Создан с помощью @mtproto/core
и фреймворка FastMCP .
Функции
Инструменты
listChannels
- Выводит список доступных Telegram-каналов/чатов, доступных для учетной записи, на основе кэша сервера.
- Параметры:
limit
(число, необязательно): максимальное количество каналов для возврата (по умолчанию: 50).
- Вывод: список каналов/чатов с их идентификатором, названием, типом и хешем доступа (если применимо).
searchChannels
- Поиск кэшированных каналов/чатов по ключевым словам в их названиях.
- Параметры:
keywords
(строка): Ключевые слова для поиска в названиях каналов.limit
(число, необязательно): максимальное количество возвращаемых результатов (по умолчанию: 100).
- Вывод: список соответствующих каналов/чатов.
getChannelMessages
- Извлекает последние сообщения из определенного канала/чата, используя его идентификатор.
- Параметры:
channelId
(число): числовой идентификатор канала/чата (полученный изlistChannels
илиsearchChannels
).limit
(число, необязательно): максимальное количество возвращаемых сообщений (по умолчанию: 100).filterPattern
(строка, необязательно): регулярное выражение, совместимое с JavaScript, для фильтрации сообщений по их текстовому содержимому.
- Вывод: список сообщений, содержащих идентификатор, дату, текст и идентификатор отправителя.
Предпосылки
- Node.js: рекомендуется версия 18 или более поздняя.
- Аккаунт в Telegram:
- Вам необходим активный аккаунт Telegram.
- В вашей учетной записи должна быть включена двухэтапная аутентификация (2FA) (Настройки → Конфиденциальность и безопасность → Двухэтапная аутентификация).
- Учетные данные API Telegram:
- Получите
api_id
иapi_hash
создав новое приложение по адресу https://core.telegram.org/api/obtaining_api_id .
- Получите
Установка
- Клонируйте этот репозиторий:
- Установите зависимости:
Конфигурация
Необходимо настроить две отдельные конфигурации:
- Конфигурация сервера MCP:Настройте сервер Telegram MCP с помощью переменных среды (в файле
.env
или непосредственно в вашей среде):Замените значения заполнителей своими фактическими учетными данными. - Конфигурация клиента MCP:Настройте клиентское программное обеспечение (Claude Desktop, Cursor и т. д.) для подключения к серверу MCP, изменив их файлы конфигурации:Для Claude Desktop файл конфигурации находится по адресу:
- В macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
- В Windows:
%APPDATA%/Claude/claude_desktop_config.json
Важно: перезапустите клиент MCP, чтобы изменения вступили в силу.
- В macOS:
Запуск сервера
- Первоначальный вход (важный первый шаг): при первом запуске сервера (или если ваш сеанс истек/недействителен), он должен пройти аутентификацию в Telegram. Запустите его прямо из терминала:
- Сервер будет использовать учетные данные из вашего файла
.env
. - В терминале вам будет предложено ввести код входа, отправленный на ваш аккаунт Telegram, и пароль 2FA, если требуется.
- При успешном входе будет создан файл сеанса (
./data/session.json
). Этот файл позволяет серверу в будущем входить в систему автоматически, не требуя кодов/паролей. - Сервер также попытается создать или загрузить кэш ваших чатов (
./data/dialog_cache.json
). Это может занять некоторое время при первом запуске, особенно при большом количестве чатов. Последующие запуски будут быстрее, если кэш существует.
- Сервер будет использовать учетные данные из вашего файла
- Обычная работа: Вам необходимо запустить сервер вручную, выполнив команду
npm start
в каталоге проекта.После запуска сервера ваш клиент MCP (например, Claude Desktop) подключится к нему по URL-адресу, указанному в его конфигурации (по умолчаниюhttp://localhost:8080/sse
).
Поиск неисправностей
- Запросы на вход: Если сервер продолжает запрашивать коды входа/пароли при запуске клиентом MCP, убедитесь, что файл
data/session.json
существует и действителен. Возможно, вам придется запуститьnpm start
вручную один раз, чтобы обновить сеанс. Также проверьте, что права доступа к файлу позволяют пользователю, запустившему клиент MCP, читать/писать каталогdata
. - Проблемы с кэшем: Если каналы кажутся устаревшими или отсутствуют, вы можете удалить
./data/dialog_cache.json
и перезапустить сервер (запуститьnpm start
вручную), чтобы принудительно выполнить полное обновление. Это может занять некоторое время. - Не удается найти модуль: убедитесь, что вы запустили
npm install
в каталоге проекта. Если клиент MCP запускает сервер, убедитесь, что рабочий каталог установлен правильно или используйте абсолютные пути. - Другие проблемы: Если у вас возникнут какие-либо другие проблемы, смело сообщайте о них в этом репозитории сервера .
Библиотека клиента Telegram
Этот репозиторий также содержит базовую библиотеку telegram-client.js
используемую сервером MCP. Подробности об использовании библиотеки напрямую (например, для пользовательских скриптов) см. в LIBRARY.md .
Лицензия
Данный проект лицензирован по лицензии MIT — подробности см. в файле LICENSE .
This server cannot be installed
local-only server
The server can only run on the client's local machine because it depends on local resources.
Сервер Model Context Protocol, который позволяет помощникам на базе искусственного интеллекта взаимодействовать с Telegram, позволяя им искать каналы, составлять список доступных каналов, извлекать сообщения и фильтровать сообщения по шаблонам регулярных выражений.
- Функции
- Предпосылки
- Установка
- Конфигурация
- Запуск сервера
- Поиск неисправностей
- Библиотека клиента Telegram
- Лицензия
Related Resources
Related MCP Servers
- -securityAlicense-qualityA Model Context Protocol server implementation that enables AI assistants to interact with Slack workspaces, allowing them to browse channels, send messages, reply to threads, add reactions, and retrieve user information.Last updated -18JavaScriptApache 2.0
- AsecurityFlicenseAqualityA Model Context Protocol server that enables AI assistants to interact with Bluesky/ATProtocol, providing authentication, timeline access, post creation, and social features like likes and follows.Last updated -1810TypeScript
- AsecurityAlicenseAqualityA Discord Model Context Protocol server that enables AI assistants to interact with Discord, providing functionality for sending messages, managing channels, handling forum posts, and working with reactions.Last updated -1511TypeScriptMIT License
- AsecurityAlicenseAqualityA server implementing Model Context Protocol that enables AI assistants to interact with Slack API through a standardized interface, providing tools for messaging, channel management, user information retrieval, and more.Last updated -918JavaScriptApache 2.0