Телеграм 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 .
Установка
Клонируйте этот репозиторий:
git clone https://github.com/your-username/telegram-mcp-server.git # Replace with your repo URL cd telegram-mcp-serverУстановите зависимости:
npm install
Конфигурация
Необходимо настроить две отдельные конфигурации:
Конфигурация сервера MCP:
Настройте сервер Telegram MCP с помощью переменных среды (в файле
.env
или непосредственно в вашей среде):TELEGRAM_API_ID=YOUR_API_ID TELEGRAM_API_HASH=YOUR_API_HASH TELEGRAM_PHONE_NUMBER=YOUR_PHONE_NUMBER_WITH_COUNTRY_CODE # e.g., +15551234567Замените значения заполнителей своими фактическими учетными данными.
Конфигурация клиента MCP:
Настройте клиентское программное обеспечение (Claude Desktop, Cursor и т. д.) для подключения к серверу MCP, изменив их файлы конфигурации:
{ "mcpServers": { "telegram": { "url": "http://localhost:8080/sse", "disabled": false, "timeout": 30 } } }Для Claude Desktop файл конфигурации находится по адресу:
В macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
В Windows:
%APPDATA%/Claude/claude_desktop_config.json
Важно: перезапустите клиент MCP, чтобы изменения вступили в силу.
Запуск сервера
Первоначальный вход (важный первый шаг): при первом запуске сервера (или если ваш сеанс истек/недействителен), он должен пройти аутентификацию в Telegram. Запустите его прямо из терминала:
npm startСервер будет использовать учетные данные из вашего файла
.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 -19
- 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 -1810543MIT 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 -53211ISC 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 -5518