Skip to main content

SETUP — пошаговая настройка tgcloud-mcp#

От нуля до ассистента, который управляет serverless-ботами Telegram. English: SETUP. Короткие страницы установки: 中文, العربية, Deutsch, Français.

0. Что понадобится#

  • Node.js 20+ (node -v)
  • Аккаунт Telegram и бот, созданный в @BotFather
  • CLI access token (шаг 2)
  • Доступ к cloud.telegram.org и api.telegram.org

1. Установка сервера#

Вариант A — npm:

Вариант B — одна команда (клон в ~/.tgcloud-mcp и мастер):

Вариант C — Docker:

2. CLI access token#

  1. @BotFather → ваш бот → Serverless → CLI Access → Access token.
  2. Формат app<id>:<secret>. Это не API-токен (123456:AA…). Сначала включите Serverless.

Два способа:

  • привязать к проекту: npx tgcloud login (неинтерактивно: printf 'app...\n' | TGCLOUD_ASSUME_TTY=1 npx tgcloud login). Агент делает это инструментом login_bot;
  • окружение (CI): TGCLOUD_TOKEN='app...' — тогда login не нужен.

Токен не попадает в вывод инструментов: сервер его маскирует.

3. Клиент#

Автоматически: tgcloud-mcp setup или node ~/.tgcloud-mcp/scripts/setup.mjs. Готовые фрагменты: node scripts/generate-install-links.mjs.

Мастер предлагает Agent Plugin. Копия agent-plugin/ попадает в ~/.tgcloud-mcp/agent-plugin. Для Cursor — ещё в ~/.cursor/plugins/local/tgcloud. Для VS Code — chat.pluginLocations, если settings.json — строгий JSON. Codex, Copilot и Kiro берут тот же каталог из своего UI. Claude Code и opencode остаются на MCP-конфиге и скилле:

Вручную (npm):

opencode (~/.config/opencode/opencode.json):

Claude Code / Cursor:

VS Code (mcp.json):

Перезапустите клиента. Должны появиться 16 инструментов и ресурсы tgcloud://docs/*.

4. Переменные#

ПеременнаяПо умолчаниюНазначение
TGCLOUD_CLInpxКоманда запуска CLI
TGCLOUD_CLI_ARGStgcloudАргументы перед субкомандой
TGCLOUD_TIMEOUT_MS120000Таймаут. deploy даёт сборке не меньше 300000 мс
TGCLOUD_TOKEN—CLI access token вместо tgcloud login

5. Пробный диалог#

«Создай бота в ~/bots/echo» → create_project → токен → login_bot → правка handlers/message.js → push → webhook_sync.

Кукбук: docs/cookbook-srl-bot.md.

Решение проблем#

  • "tgcloud login" requires an interactive terminal — login_bot или TGCLOUD_TOKEN.
  • Token format looks wrong — это был API-токен. Нужен CLI access token (шаг 2).
  • Could not reach the tgcloud server — нет пути к cloud.telegram.org. Обёртка: HTTPS_PROXY и NODE_USE_ENV_PROXY=1 через TGCLOUD_CLI.
  • revision R — fetch, затем diff, затем push (или осознанный --force с confirm).
  • --safe, --yes, or --dry-run — migrate: по умолчанию dry-run; применение — dry_run: false и confirm: true (apply: "safe" или "yes").
  • Старый layout (schema.js в корне) — upgrade dry-run, затем apply с confirm: true.