Telegram MCP в Claude и ChatGPT
Содержание
Я хотел подключить Telegram к Claude и ChatGPT так, чтобы можно было массово подгружать сообщения из каналов в контекст и работать с ними прямо из AI-инструмента. Казалось бы, задача простая: взять готовый MCP-сервер, подключить и пользоваться. На практике пришлось немного допилить чужой проект.
Что не хватало из коробки⌗
В качестве основы я взял telegram-mcp.
После подключения выяснилось, что для реальной работы не хватает нескольких вещей:
- не распознаются расшаренные папки Telegram;
- поиск чатов по умолчанию ограничен 20 результатами;
- нет глобального поиска по сообщениям.
Раньше такой набор недочетов означал бы полноценное мини-исследование: нужно разобраться в чужом Python-коде, понять, как работает MTProto, и только потом что-то править. Сейчас на это ушло буквально пару часов — Codex помог быстро дотащить изменения до рабочего состояния и даже оформить PR.
Базовая установка Telegram MCP⌗
Сначала нужно развернуть сам сервер:
git clone https://github.com/chigwell/telegram-mcp.git
cd telegram-mcp
Дальше поставить uv и зависимости:
curl -LsSf https://astral.sh/uv/install.sh | sh
uv sync
После этого нужно сгенерировать session string и подготовить .env:
uv run session_string_generator.py
cp .env.example .env
И наконец — создать свое Telegram-приложение на my.telegram.org/apps, получить TELEGRAM_API_ID и TELEGRAM_API_HASH и прописать их в .env.
Как подключить к Claude⌗
В claude_desktop_config.json нужно добавить MCP-сервер:
"mcpServers": {
"telegram-mcp": {
"command": "uv",
"args": [
"--directory",
"/path/to/telegram-mcp",
"run",
"main.py"
]
}
}
После перезапуска Claude Desktop сервер должен появиться в Customize => Connectors => Desktop.
И дальше уже можно делать вполне прикладные запросы вроде: “Напиши саммари по 20 последним сообщениям из Telegram”.
Почему с ChatGPT сложнее⌗
У ChatGPT проблема в том, что он не умеет работать с локальными MCP-серверами так же напрямую, как Claude Desktop. Теоретически можно поднять публичный MCP-сервер и подключить его через свое приложение для ChatGPT, но это означает выводить наружу сервис, который имеет доступ к личному Telegram-аккаунту. Даже с авторизацией это выглядит как плохая идея.
Поэтому более практичный путь — использовать сторонний клиент, который умеет и в модели OpenAI, и в локальные MCP-серверы.
Вариант с OpenCode⌗
В качестве такого клиента подойдет OpenCode.
В ~/.config/opencode/opencode.json можно добавить локальный MCP так:
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"telegram": {
"type": "local",
"command": ["uv", "--directory", "/Users/michaelledin/Documents/projects/telegram-mcp", "run", "main.py"],
"enabled": true
}
}
}
После этого остается подключить OpenAI-аккаунт через /connect, а затем проверить через /mcp, что сервер действительно в статусе connected.
Что в этом самое интересное⌗
Для меня важнее всего здесь не сам Telegram MCP, а скорость, с которой теперь можно закрывать такие инфраструктурные задачи. Еще недавно на подобную доработку чужого проекта уходила бы неделя. Сейчас это обычная вечерняя инженерная задача.