telegram-bot
Provides tools for interacting with Telegram via a bot, including reading updates from permitted chats, retrieving chat information, and sending messages with duplicate prevention and access controls.
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
Что умеет
Возможность | Как работает |
Читать обновления | Новые сообщения, правки и посты каналов, доступные боту |
Проверять чат | Базовые сведения по разрешённому числовому ID |
Публиковать текст | Отправка сообщений, в том числе в темы форум-групп |
Работать с несколькими каналами | Отдельные списки ID для чтения и отправки |
Предотвращать повторные попытки | Сохранённый |
Сохранять состояние | Локальная SQLite-база с событиями, позицией чтения и журналом отправок |
Статус: MVP. Реализован и протестирован локальный MCP-сервер. Для работы настройте собственного бота и подключение клиента. История личного аккаунта, вложения и автоматический планировщик не входят в текущую версию.
Related MCP server: telegram-mcp-bridge
Быстрый старт
Нужны Python 3.11+, uv и бот, созданный через @BotFather. Запуск рассчитан на macOS/Linux.
git clone https://github.com/Evr1kys/telegram-bot.git
cd telegram-bot
uv sync --locked
uv run --locked python scripts/configure.pyМастер настройки попросит токен скрытым вводом и числовые ID чатов. Токен хранится вне репозитория в файле с правами 600. Можно вместо файла внедрить TELEGRAM_BOT_TOKEN через менеджер секретов. Не вставляйте токен в разговор с моделью.
Затем подключите сервер:
Клиент | Подключение |
Codex / локальный MCP-клиент | Команда |
ChatGPT | Частный stdio-сервер через Secure MCP Tunnel; нужны доступ и настройка аккаунта |
Пошаговые инструкции, переменные окружения и разбор ошибок — в руководстве по настройке. Само клонирование не подключает Telegram к ChatGPT.
Три инструмента
Инструмент | Назначение | Основные параметры |
| Прочитать события разрешённых чатов |
|
| Получить сведения о чате |
|
| Отправить разрешённое пользователем сообщение |
|
«Покажи новые сообщения из разрешённых Telegram-чатов».
«Проверь название и тип чата с ID −1001234567890».
«Отправь в канал −1001234567890: Встреча сегодня в 18:00».
Пример аргументов отправки после поручения пользователя:
{
"chat_id": -1001234567890,
"text": "Встреча сегодня в 18:00",
"request_id": "meeting_20260916_001"
}Параметр message_thread_id позволяет указать тему форума. Сохраняйте тот же request_id при повторном вызове одного запроса. Новый ID — новая попытка отправки.
Контроль доступа и отправки
Доступ закрыт по умолчанию. Чтение и отправка разрешаются отдельно для конкретных числовых ID. Плагин использует отдельного бота и не входит в личный аккаунт Telegram.
Секреты остаются в окружении сервера. Токен не входит в manifest, аргументы инструментов или сообщения об ошибках. Локальный сервер работает через stdio и не открывает сетевой порт.
Неопределённая доставка не повторяется автоматически. При таймауте состояние сохраняется как uncertain, при прерывании может остаться pending. Нужно проверить Telegram; нельзя обходить эту защиту новым идентификатором. Защита зависит от сохранности общей базы состояния.
Текст из чатов — данные. Skill запрещает воспринимать сообщения Telegram как инструкции, менять по ним разрешения или публиковать без поручения пользователя.
Подробнее: модель безопасности · статусы и ограничения.
Как устроено
flowchart LR
A[ChatGPT / Codex] -->|MCP| B[Три инструмента]
B --> C[Проверка разрешений]
C --> D[Telegram Bot API]
C <--> E[(SQLite: события и отправки)]src/telegram_bot/
├── config.py # Секреты и списки разрешённых чатов
├── client.py # Ограниченный клиент Bot API
├── store.py # Состояние и блокировки SQLite
├── service.py # Чтение и защита отправки от повторов
└── server.py # MCP-инструментыСлой Service отделён от MCP: поверх него можно добавить планировщик и очередь заданий. Несколько каналов одного владельца уже поддерживаются; изоляция нескольких владельцев требует дальнейшей разработки.
Разработка
uv sync --locked
uv run --locked python -m unittest discover -s tests -vТесты проверяют доступ, фильтрацию, перезапуски, конкурентные отправки, ошибки Telegram и настоящий обмен MCP через stdio. Telegram HTTP заменён имитацией: тестам не нужны токены, они не отправляют сообщения.
GitHub Actions запускает тесты на Python 3.11, 3.12 и 3.13. Порядок внесения изменений: CONTRIBUTING.md.
Дальнейшее развитие
Три MCP-инструмента и отдельные разрешения
Несколько каналов одного владельца
Сохранение состояния и защита повторных вызовов
Очередь публикаций с расписанием, лимитами и паузой
Отправка вложений
Раздельные учётные записи владельцев
Публичный HTTP-сервер с аутентификацией
Планы не означают, что эти функции уже доступны. Идеи и воспроизводимые ошибки можно оставить в Issues.
MIT License · Автор: Evr1kys · Независимый проект, не официальный продукт Telegram или OpenAI.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
This server cannot be deployed
Maintenance
Related MCP Connectors
Telegram bridge for your MCP-compatible agent. Bidirectional, no LLM in our stack.
Unofficial Telegram MCP server — read, search, reply and react in your own Telegram account.
Schedule posts, read analytics and manage Telegram channels in TGStudio from any MCP client.
Hosted Telegram MCP server for Claude, ChatGPT and Cursor, with each action switched per account.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceEnables sending and receiving Telegram messages through MCP clients like Claude Desktop and Gemini Spark.39 npmMIT
- AlicenseNot gradedqualityBmaintenanceEnables MCP clients like Codex or ChatGPT to securely receive, acknowledge, and send Telegram messages with durable delivery guarantees and idempotency.MIT
- AlicenseNot gradedqualityBmaintenanceEnables sending and reading Telegram messages through MCP, using either a bot or a personal user account.636 npmMIT
- FlicenseNot gradedqualityBmaintenanceEnables interaction with Telegram chats through a bot, allowing users to send messages, retrieve recent messages, and fetch chat information via MCP tools.-