Телеграм 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
- -securityFlicense-qualityA versatile Model Context Protocol server that enables AI assistants to manage calendars, track tasks, handle emails, search the web, and control smart home devices.Last updated -14Python
- AsecurityAlicenseAqualityA Model Context Protocol server that allows AI assistants to interact with the VRChat API, enabling retrieval of user information, friends lists, and other VRChat data through a standardized interface.Last updated -7441TypeScriptMIT License
- AsecurityAlicenseAqualityA Model Context Protocol server that enables AI assistants to interact with iTerm2 terminals, allowing creation and management of terminal sessions, command execution, and reading terminal output.Last updated -56827JavaScriptISC License
- -securityFlicense-qualityA Model Context Protocol server implementation that enables AI assistants to interact with RetellAI's voice services for managing calls, agents, phone numbers, and voice options.Last updated -70913TypeScript