← Все коннекторы Telegram MCP

opencode · SST

Подключите Telegram к opencode

Добавьте Entergram как MCP-сервер в opencode, опенсорсный терминальный ИИ-агент от SST, и дайте ему работать с вашим настоящим аккаунтом Telegram — находить пропущенные сообщения, догонять остывшие лиды и действовать в чатах прямо из командной строки.

URL MCP-сервера https://mcp.entergram.com/mcp

opencode загружает MCP-серверы из своего файла конфигурации. Пропишите Entergram как удалённый MCP-сервер — и опенсорсный агент SST сможет работать с вашим личным аккаунтом Telegram в терминале с ограниченными правами OAuth, без аккаунта бота и без ключей API.

Готовая конфигурация для вставки

opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "entergram": {
      "type": "remote",
      "url": "https://mcp.entergram.com/mcp",
      "enabled": true
    }
  }
}

Спрашивайте opencode о том, чего не спросишь у Telegram

Когда личный аккаунт подключён, opencode действует во всех чатах прямо из терминала. Попробуйте запросы вроде:

  • «Открой канал по инциденту и добавь туда дежурных.»
  • «Опубликуй сводку по деплою в канале обновлений для клиентов.»
  • «Сколько тикетов ещё открыто, прежде чем я срежу релиз?»
  • «Найди чаты, где упоминается миграция, и обобщи опасения.»
  • «Добавь в ту ветку заметку с планом отката.»
  • «Кто в бета-группе не ответил на уведомление об обновлении?»

Подключите opencode за 3 шага

Работает с TUI и CLI opencode.

  1. 01

    Скопируйте свой MCP-адрес в Entergram

    В Entergram откройте Settings → Workspace → Connectors → MCP и скопируйте URL вашего MCP-сервера. opencode читает его из opencode.json, так что вставлять адрес вы будете в файл, а не в поле ввода.

  2. 02

    Добавьте сервер в opencode.json

    В своём opencode.json добавьте Entergram в блок "mcp" как удалённый сервер с MCP-адресом Entergram: https://mcp.entergram.com/mcp.

  3. 03

    Авторизуйтесь и запускайте

    Запустите opencode, войдите в свой аккаунт Entergram и нажмите Allow access, чтобы выдать ограниченный доступ. После этого opencode сможет читать ваш аккаунт Telegram и действовать в нём в своих сессиях.

Глобально, по проектам или без интерфейса

Глобально — ~/.config/opencode/opencode.json

Одна запись, которая следует за вами в каждый открытый репозиторий. Это правильное место для личного доступа: сервер доступен и в рабочем проекте, и в выходном, а авторизуетесь вы один раз, а не по разу на каждый чекаут.

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "entergram": {
      "type": "remote",
      "url": "https://mcp.entergram.com/mcp",
      "enabled": true
    }
  }
}

По проекту — opencode.json в корне репозитория

Лежит рядом с кодом, поэтому любой, кто клонирует репозиторий, получает объявленный сервер, и рассказывать ему об этом не нужно. Ничего секретного при этом не расшаривается: файл называет эндпойнт и больше ничего, а каждый коллега всё равно проходит собственный вход со своими правами. Проектная конфигурация накладывается поверх глобальной, поэтому держите одно определение, а не два конкурирующих.

Без интерфейса — opencode run

Собственно, ради этого коннектор и подходит терминальному агенту. Один неинтерактивный вызов встраивается в скрипт деплоя, цель Makefile или шаг CI — так уведомление о релизе перестаёт зависеть от того, вспомнит ли кто-то его отправить.

opencode run "post the release summary for v2.14 in the customer channel"

Релиз — из той же оболочки

Терминальный агент нужен в те моменты, когда открыть чат-приложение значит сбить концентрацию: сразу после деплоя, посреди инцидента или в конце дня, когда хочется понять, что ещё висит. Все запуски ниже исходят из этого контекста — короткие запросы, только клавиатура и коннектор, делающий ту часть работы, которую вы иначе отложили бы до момента, когда она перестанет иметь значение. Каждый разворачивается в несколько именованных вызовов, печатающихся в журнале сессии, — а значит, их безопасно перенести в скрипт после того, как вы понаблюдали за ними вручную.

Вы спрашиваете

«Деплой закончился. Опубликуй версию и ссылку на чейнджлог в релизном канале.»

Вызванные инструменты

entergram_list_accountsentergram_list_groupsentergram_send_message

Вы получаете

Объявление уходит из той же оболочки, где выполнялся деплой, через секунды после успеха, а не через час. Агент определяет, какой подключённый аккаунт может публиковать, находит канал по названию, чтобы его идентификатор не пришлось хранить в скрипте, и отправляет. Впишите это в цель деплоя — и шаг перестанет быть необязательным.

Вы спрашиваете

«Я указал не тот номер сборки в том объявлении — исправь его на месте.»

Вызванные инструменты

entergram_list_messagesentergram_get_messageentergram_edit_message

Вы получаете

Исправить оригинал лучше, чем опубликовать поправку следом. Агент отматывает недавнюю историю, чтобы опознать сообщение, проверяет содержимое, прежде чем его тронуть, и правит — так что завтра любой, кто пролистает канал, прочитает верный номер, а не ветку уточнений.

Вы спрашиваете

«Открой комнату по инциденту и подтяни туда дежурных.»

Вызванные инструменты

entergram_create_group_chatentergram_list_membersentergram_invite_chat_members

Вы получаете

Тридцать секунд настройки, которые никому не хочется тратить, пока система лежит. Группа создана, реестр рабочего пространства прочитан, чтобы найти названных вами людей, приглашения разосланы. Вы возвращаетесь к логам с уже улаженной координацией, а не с наполовину начатой.

Вы спрашиваете

«Перешли пятничное уведомление о работах во все клиентские группы, которые его не видели.»

Вызванные инструменты

entergram_list_groupsentergram_list_messagesentergram_forward_messages

Вы получаете

Пересылка оригинала гарантирует, что все группы читают одинаковую формулировку, — именно это нужно для окна технических работ и именно это разрушает перепечатывание вручную. Перед рассылкой агент проверяет, какие группы уже получили сообщение, поэтому никто не увидит одно и то же уведомление дважды.

Вы спрашиваете

«Этот человек состоит в каких-то наших сообществах — в каких именно и кто ещё из нашего списка там есть?»

Вызванные инструменты

entergram_list_contactsentergram_get_contactentergram_list_contact_shared_groups

Вы получаете

Поиск общих групп отвечает на вопрос, на который сам Telegram не отвечает: где на самом деле проходит ваше пересечение с человеком. Полезно, когда баг-репорту нужен контекст о том, насколько громким окажется его автор, и полезно снова, когда вы решаете, можно ли опубликовать обходной путь один раз в общем сообществе вместо того, чтобы повторять его руками в десяти личных ветках.

Вы спрашиваете

«Прежде чем я срежу релиз: сколько открытых тикетов помечено этой вехой?»

Вызванные инструменты

entergram_list_ticket_custom_columnsentergram_list_ticketsentergram_get_ticket

Вы получаете

Проверка готовности релиза в одну строку и без дашборда. Агент читает схему тикетов, чтобы найти колонку вехи, отбирает по ней открытые тикеты и возвращает количество вместе с заголовками. Поставьте это первым шагом релизного скрипта — и блокирующий тикет остановит тег, а не всплывёт после него.

Что opencode может делать с вашим Telegram

  • Управлять Telegram целиком с клавиатуры
  • Объявлять о деплое в клиентском канале сразу после выката
  • Открывать канал по инциденту и приглашать ответственных
  • Считать открытые тикеты перед срезом релиза
  • Настраиваться глобально или по проектам через opencode.json
  • Запускаться неинтерактивно для скриптовых задач

Семьдесят инструментов, и ничего локально не устанавливается

Сервер размещает Entergram, поэтому opencode получает девять групп инструментов, не добавляя ни одной зависимости ни на вашу машину, ни в образ CI: ни мостового процесса, ни окружения Python, ни учётных данных в репозитории. Всё перечисленное ниже доступно сразу, как только выдан доступ, в пределах выбранного вами уровня, — и один и тот же список получают и интерактивная сессия, и одиночный запуск.

Аккаунты и рабочее пространство

5 инструментов

Определение личности и области доступа. Любому вызову для работы с сообщениями сначала нужен account_id из list_accounts — ИИ-клиент, пропустивший этот шаг, обратится не к тому аккаунту Telegram.

  • entergram_get_me
  • entergram_list_accounts
  • entergram_get_workspace
  • entergram_get_member
  • entergram_list_members

Чаты и поиск

8 инструментов

Поиск переписок. Представления рабочего пространства отдают состояние CRM (тикеты, комментарии, кастомные поля), а живые представления — текущее транспортное состояние Telegram и счётчики непрочитанного.

  • entergram_list_chats
  • entergram_get_chat
  • entergram_list_live_chats
  • entergram_get_live_chat
  • entergram_list_workspace_chats
  • entergram_get_workspace_chat
  • entergram_update_workspace_chat
  • entergram_get_chat_management

Сообщения

9 инструментов

Чтение и запись истории сообщений, включая правки, пересылки и реакции. Отправка ограничена рамками одного аккаунта, поэтому ничего не действует сразу для всех ваших подключённых аккаунтов.

  • entergram_list_messages
  • entergram_get_message
  • entergram_send_message
  • entergram_send_media_message
  • entergram_edit_message
  • entergram_delete_message
  • entergram_forward_messages
  • entergram_get_message_reactions
  • entergram_set_message_reactions

Контакты

3 инструментов

С кем вы общаетесь и где ещё пересекаетесь. Именно поиск по общим группам позволяет отвечать на вопросы вроде «кто из моих лидов состоит в одном сообществе?».

  • entergram_list_contacts
  • entergram_get_contact
  • entergram_list_contact_shared_groups

Тикеты

10 инструментов

Полный контроль над службой поддержки: открыть, назначить, задать приоритет, прокомментировать и закрыть. Тикет ссылается на чат, из которого он появился, поэтому ИИ-клиент переходит от переписки к очереди за один шаг.

  • entergram_list_tickets
  • entergram_get_ticket
  • entergram_create_ticket
  • entergram_update_ticket
  • entergram_delete_ticket
  • entergram_list_chat_tickets
  • entergram_list_ticket_comments
  • entergram_create_ticket_comment
  • entergram_update_ticket_comment
  • entergram_delete_ticket_comment

Кастомные поля CRM

11 инструментов

Схема вашей воронки. Прочитайте колонки, прежде чем записывать значения: чекбоксы принимают булевы значения, мультиселекты — массивы значений опций, а даты — строки в формате ISO 8601.

  • entergram_list_custom_columns
  • entergram_get_custom_column
  • entergram_create_custom_column
  • entergram_update_custom_column
  • entergram_delete_custom_column
  • entergram_list_custom_column_options
  • entergram_create_custom_column_option
  • entergram_update_custom_column_option
  • entergram_delete_custom_column_option
  • entergram_get_chat_custom_fields
  • entergram_patch_chat_custom_fields

Кастомные поля тикетов

9 инструментов

Тот же контроль схемы на стороне тикетов — категории, уровни критичности, ступени SLA и всё остальное, что ваша поддержка отслеживает помимо статуса и приоритета.

  • entergram_list_ticket_custom_columns
  • entergram_get_ticket_custom_column
  • entergram_create_ticket_custom_column
  • entergram_update_ticket_custom_column
  • entergram_delete_ticket_custom_column
  • entergram_list_ticket_custom_column_options
  • entergram_create_ticket_custom_column_option
  • entergram_update_ticket_custom_column_option
  • entergram_delete_ticket_custom_column_option

Внутренние заметки

4 инструментов

Комментарии к чату, которых клиент никогда не увидит. Удобно, когда ИИ-клиенту нужно оставить ход своих рассуждений, чтобы его подхватил живой коллега.

  • entergram_list_chat_comments
  • entergram_create_chat_comment
  • entergram_update_chat_comment
  • entergram_delete_chat_comment

Группы и каналы

11 инструментов

Создание и администрирование групп и каналов Telegram — участники, права, приватность и описание — плюс запасной вариант с выполнением сырой команды для всего остального.

  • entergram_list_groups
  • entergram_get_group
  • entergram_list_group_members
  • entergram_create_group_chat
  • entergram_create_channel
  • entergram_invite_chat_members
  • entergram_remove_chat_member
  • entergram_update_chat_info
  • entergram_update_chat_permissions
  • entergram_update_chat_privacy
  • entergram_run_chat_command

Безопасность на стороне терминала в одном абзаце

В ваших дотфайлах не оседает ничего чувствительного. В opencode.json лежит адрес и флаг; сами учётные данные после входа в браузере хранятся в собственном хранилище авторизации opencode, а сессия Telegram остаётся внутри Entergram, где её не видят ни SST, ни провайдер модели. Если машина потерялась или раннер CI выводится из эксплуатации, отзовите доступ в Entergram в Settings → Workspace → Connectors → MCP — и любая сессия на этой машине потеряет доступ на следующем вызове.

Персональный агент
Вариант по умолчанию для терминала одного разработчика, доступный любому участнику без шага согласования. Чтение охватывает карточку рабочего пространства, ваши подключённые аккаунты, контакты, чаты, историю сообщений и очередь тикетов; запись ограничена кастомными полями в чатах, принадлежащих вашим собственным аккаунтам. Этого хватает на разбор входящих, сводки и проверку готовности релиза — и намеренно не хватает на всё, что обращается к клиенту.
Коннектор рабочего пространства
Создаётся владельцем или администратором и содержит все права, которые определяет сервер: отправку, редактирование, пересылку, запись тикетов, запись кастомных полей в любом месте рабочего пространства и администрирование групп. Именно этот уровень нужен скрипту деплоя, если тот должен публиковать в клиентском канале без человека в цепочке.
Отзыв доступа
Мгновенный и намеренно односторонний. Чтобы обрубить доступ, вам не нужен доступ к машине, где работает opencode: отзыв в Entergram аннулирует выданное разрешение, где бы оно ни хранилось, — а это и есть главное, когда раннером выступает CI-машина, а не ноутбук у вас на столе.

Ограничения терминального коннектора

Большинство из них — про разрыв между интерактивной сессией и автоматической, а именно между ними терминальный агент и живёт. Ничто из этого не блокирует работу, но всё это дешевле узнать здесь, чем в пайплайне.

  • Первая авторизация требует браузера. Скриптовый вызов не пройдёт экран согласия, поэтому авторизуйтесь один раз в интерактивной сессии, а сохранённый доступ вынесет последующие запуски.
  • Закоммиченный opencode.json делится адресом, а не доступом. Коллеги, стянувшие репозиторий, проходят собственный вход, и их токен несёт их права, а не ваши.
  • Планировщика на нашей стороне нет. opencode завершается по окончании запуска, поэтому всё регулярное — ночная сводка, уведомление после деплоя — это ваша запись в cron или шаг пайплайна, но никогда не то, что Entergram запускает сам.
  • MCP входит в тариф Pro. На более низком тарифе сервер всё равно отвечает на рукопожатие, из-за чего сбой выглядит как ошибка конфигурации, хотя на деле относится к тарифу.
  • Для записи колонка должна существовать заранее. Агент заполнит поле отслеживания релиза в чате, но создание самого поля — действие коннектора рабочего пространства, и персональный доступ этого не сделает.
  • Адресация по аккаунту обязательна. Терминальные привычки ждут разумного значения по умолчанию, а его здесь нет: называйте аккаунт в запросе, иначе агент определит его из списка аккаунтов сам.

Решение проблем с коннектором opencode

opencode запускается, но не показывает инструментов Entergram
Проверьте, что запись лежит в блоке mcp, type имеет значение remote, а enabled — true: запись без чего-то из этого разбирается и молча пропускается. Конфигурация читается при старте, поэтому после правки перезапустите сессию.
После правки opencode отказывается запускаться
Оставьте строку $schema и прогоните файл через парсер JSON. Обычная причина — лишняя запятая, а сообщение об ошибке при старте чаще называет файл, чем конкретную строку.
Скриптовый запуск зависает на авторизации
Неинтерактивные запуски не могут открыть экран согласия. Один раз запустите opencode интерактивно, пройдите вход в Entergram — и сохранённый доступ дальше вынесет все скриптовые запуски.
Действует не та конфигурация
Проектный opencode.json накладывается поверх глобального файла в ~/.config/opencode/. Если коллега закоммитил запись, используется именно она — согласуйте два файла между собой, а не добавляйте второй сервер под другим именем.
Сообщения уходят не туда
Называйте в запросе и аккаунт, и целевой чат. entergram_list_accounts определит первый, но ничто в терминальной сессии не подразумевает значения по умолчанию, а одиночный запуск не станет останавливаться и спрашивать.
Через несколько дней вызовы начали падать
Токены истекают. Запустите opencode интерактивно и снова подтвердите доступ — файл конфигурации при этом не меняется, меняется только выданное разрешение за ним.

opencode + Telegram: частые вопросы

Как opencode подключается к MCP-серверам?
opencode читает MCP-серверы из своего файла конфигурации. Добавьте Entergram как удалённый сервер с MCP-адресом и авторизуйтесь через OAuth.
Это Telegram-бот?
Нет. Токена бота в этой схеме нет вообще — размещённый MCP-сервер действует от лица вашего собственного аккаунта Telegram, поэтому он читает историю, которая боту недоступна.
Это безопасно?
Да. OAuth 2.0 с ограниченными правами; вы решаете, к чему имеет доступ opencode, и можете отозвать доступ в любой момент.
Может ли opencode выполнять многошаговые действия в Telegram?
Да. Как автономный терминальный агент, opencode способен связать шаги в одном запуске — прочитать чаты без ответа, подготовить черновики и завести тикеты, — останавливаясь на вашем подтверждении до того, как что-то будет отправлено.

Подключите Telegram к opencode