
Telegram MCP
Подключает агента к вашему аккаунту Telegram через Telethon: читать чаты, искать по истории, отправлять и редактировать сообщения, управлять группами, контактами, папками и медиа. Больше 80 инструментов.
Как подключить
Что сделать до подключения
Python 3.10 или новее и uv
Копия репозитория: git clone https://github.com/chigwell/telegram-mcp.git и uv sync
Строка сессии: uv run session_string_generator.py, вход по QR-коду или по номеру телефона
TELEGRAM_API_ID, TELEGRAM_API_HASHна my.telegram.org/apps
TELEGRAM_SESSION_STRINGвыдаёт скрипт session_string_generator.py из репозитория; строка даёт доступ ко всему аккаунту
Конфиг для вашего клиента
Команда в терминале, в папке проекта. Флаг --scope user подключит сервер для всех проектов. Подробно о Claude Code
claude mcp add --env 'TELEGRAM_API_ID=<api_id>' --env 'TELEGRAM_API_HASH=<api_hash>' --env 'TELEGRAM_SESSION_STRING=<строка сессии>' --transport stdio telegram \
-- uv --directory /full/path/to/telegram-mcp run main.pyПроверка: claude mcp list показывает статус рядом с каждым сервером: ✔ Connected, ! Needs authentication или ✘ Failed to connect. Внутри сессии то же видно по команде /mcp.
Файл ~/.codex/config.toml или .codex/config.toml в доверенном проекте. Можно и командой codex mcp add. Подробно о Codex
[mcp_servers.telegram]
command = "uv"
args = ["--directory", "/full/path/to/telegram-mcp", "run", "main.py"]
[mcp_servers.telegram.env]
TELEGRAM_API_ID = "<api_id>"
TELEGRAM_API_HASH = "<api_hash>"
TELEGRAM_SESSION_STRING = "<строка сессии>"Проверка: В интерфейсе codex введите /mcp: появится список активных серверов. Из терминала то же покажет codex mcp list.
Файл ~/.cursor/mcp.json для всех проектов или .cursor/mcp.json в папке проекта. Подробно о Cursor
{
"mcpServers": {
"telegram": {
"command": "uv",
"args": ["--directory", "/full/path/to/telegram-mcp", "run", "main.py"],
"env": {
"TELEGRAM_API_ID": "<api_id>",
"TELEGRAM_API_HASH": "<api_hash>",
"TELEGRAM_SESSION_STRING": "<строка сессии>"
}
}
}
}Проверка: Откройте Customize в боковой панели: там список серверов с переключателями. Ошибки подключения смотрите в панели Output (Cmd+Shift+U), пункт MCP Logs в выпадающем списке.
Файл .mcp.json в корне проекта или ~/.copilot/mcp-config.json для всех проектов. Подробно о VS Code
{
"mcpServers": {
"telegram": {
"type": "stdio",
"command": "uv",
"args": ["--directory", "/full/path/to/telegram-mcp", "run", "main.py"],
"env": {
"TELEGRAM_API_ID": "<api_id>",
"TELEGRAM_API_HASH": "<api_hash>",
"TELEGRAM_SESSION_STRING": "<строка сессии>"
}
}
}
}Проверка: Попросите Copilot выполнить безобидную задачу через сервер и раскройте вызов инструмента в чате. Одна запись в конфиге подключение не подтверждает.
Файл ~/.qwen/settings.json или .qwen/settings.json в проекте. Подробно о Qwen Code
{
"mcpServers": {
"telegram": {
"command": "uv",
"args": ["--directory", "/full/path/to/telegram-mcp", "run", "main.py"],
"env": {
"TELEGRAM_API_ID": "<api_id>",
"TELEGRAM_API_HASH": "<api_hash>",
"TELEGRAM_SESSION_STRING": "<строка сессии>"
}
}
}
}Проверка: Запустите qwen и введите /mcp: откроется окно управления серверами. Из терминала статус покажет qwen mcp list.
Файл ~/.gemini/settings.json или .gemini/settings.json в проекте. Подробно о Gemini CLI
{
"mcpServers": {
"telegram": {
"command": "uv",
"args": ["--directory", "/full/path/to/telegram-mcp", "run", "main.py"],
"env": {
"TELEGRAM_API_ID": "<api_id>",
"TELEGRAM_API_HASH": "<api_hash>",
"TELEGRAM_SESSION_STRING": "<строка сессии>"
}
}
}
}Проверка: gemini mcp list показывает каждый сервер, его настройки и статус Connected или Disconnected. В сессии /mcp выводит CONNECTED, CONNECTING или DISCONNECTED и список инструментов.
Файл opencode.json в папке проекта или ~/.config/opencode/opencode.json. Подробно о OpenCode
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"servers": {
"telegram": {
"type": "local",
"command": ["uv", "--directory", "/full/path/to/telegram-mcp", "run", "main.py"],
"environment": {
"TELEGRAM_API_ID": "<api_id>",
"TELEGRAM_API_HASH": "<api_hash>",
"TELEGRAM_SESSION_STRING": "<строка сессии>"
}
}
}
}
}Проверка: opencode mcp list показывает состояние каждого сервера, подключённый выглядит как ✓ context7 connected. Внутри OpenCode то же видно в /mcps.
Настройки → Разработчик → Изменить конфиг: файл claude_desktop_config.json. После правки перезапустите приложение. Подробно о Claude Desktop
{
"mcpServers": {
"telegram": {
"command": "uv",
"args": ["--directory", "/full/path/to/telegram-mcp", "run", "main.py"],
"env": {
"TELEGRAM_API_ID": "<api_id>",
"TELEGRAM_API_HASH": "<api_hash>",
"TELEGRAM_SESSION_STRING": "<строка сессии>"
}
}
}
}Проверка: Нажмите «Add files, connectors, and more /» в левом нижнем углу поля ввода, наведите на Connectors и откройте Manage connectors. Выберите сервер, чтобы увидеть его инструменты.
Вкладка Program → Install → Edit mcp.json. Подробно о LM Studio
{
"mcpServers": {
"telegram": {
"command": "uv",
"args": ["--directory", "/full/path/to/telegram-mcp", "run", "main.py"],
"env": {
"TELEGRAM_API_ID": "<api_id>",
"TELEGRAM_API_HASH": "<api_hash>",
"TELEGRAM_SESSION_STRING": "<строка сессии>"
}
}
}
}Проверка: Попросите модель в чате выполнить задачу через инструмент сервера. Через API сервер из mcp.json вызывают по id в integrations, например mcp/playwright.
Инструменты сервера
list_chatsперечисляет чатыget_historyчитает историю чатаsearch_messagesищет сообщения в чатеsearch_globalищет по всем чатамget_message_contextпоказывает сообщения вокругexport_unread_messagesвыгружает непрочитанные в JSONexport_chat_historyвыгружает историю чата в JSONsend_messageотправляет сообщениеreply_to_messageотвечает на сообщениеedit_messageправит сообщениеsend_fileотправляет файлtranscribe_voiceрасшифровывает голосовоеcreate_pollсоздаёт опросpress_inline_buttonнажимает кнопку ботаinvite_to_groupприглашает в группуpromote_adminназначает администратораresolve_phoneнаходит пользователя по номеруset_contact_aliasзапоминает, как вы зовёте контактget_draftsпоказывает черновикиwait_for_new_messageждёт нового сообщенияЧто попросить агента
Для каких задач
Ограничения
Сервер действует от имени вашего аккаунта: строка сессии открывает к нему полный доступ, хранить её нужно как пароль
Не ставьте сервер через uvx telegram-mcp или pip install telegram-mcp: это имя на PyPI занято чужим проектом, туда утекут ключи
По умолчанию агент видит все чаты; ограничить их можно списком TELEGRAM_ALLOWED_CHAT_IDS
Расшифровка голосовых по умолчанию отправляет запись в Groq и требует GROQ_API_KEY; расширенное форматирование сообщений требует Telegram Premium