Перейти к основному содержимому

MCP-сервер

English

An English version of this page is below.

TatNet подключается к ИИ-ассистентам по протоколу MCP: Claude, ChatGPT, Claude Code, Cursor и любой другой клиент MCP. После подключения ассистент может выложить сайт, который вы с ним написали, запустить сборку приложения из Git, прочитать лог упавшей сборки, поменять переменные окружения, привязать домен и сказать, сколько денег на счету. Также доступны Kafka, создание ВМ и управление бэкапами, создание S3-бакетов, переименование VPC и каталог моделей ИИ.

Адрес сервера:

https://mcp.tatnet.cloud/mcp

Транспорт — Streamable HTTP. Сервер не хранит ни данных, ни прав: каждый инструмент управления обращается к публичному API от вашего имени, и все проверки делает платформа. ai_models читает публичный каталог ИИ без передачи ключа управления облаком.

Управляемый Supabase​

Для баз Supabase используйте отдельный защищённый endpoint:

https://mcp.tatnet.cloud/supabase/mcp

Он открывает три инструмента: list_databases, query_database и execute_sql. Через OAuth выбираются конкретные базы и чтение или административный SQL. SSH-туннель и настройка API Gateway не нужны. Подключения к обычному /mcp доступа к базам автоматически не получают.

Пошаговая инструкция: ChatGPT и Supabase через MCP.

Практические сценарии​

Подключение​

Claude​

В настройках Claude откройте раздел Коннекторы, добавьте собственный коннектор и укажите адрес https://mcp.tatnet.cloud/mcp. Claude откроет страницу входа TatNet, а затем — экран согласия (см. ниже).

Claude Code​

claude mcp add --transport http tatnet https://mcp.tatnet.cloud/mcp

При первом обращении Claude Code откроет браузер для входа и согласия.

ChatGPT​

Добавьте собственный MCP-коннектор (приложение) в настройках ChatGPT и укажите тот же адрес. Возможность подключать свои коннекторы зависит от тарифа ChatGPT.

Cursor и другие клиенты​

Клиенты с поддержкой OAuth для MCP подключаются по адресу так же, как Claude. Клиенту, который умеет передавать заголовки, можно вместо входа дать API-ключ:

{
"mcpServers": {
"tatnet": {
"url": "https://mcp.tatnet.cloud/mcp",
"headers": { "Authorization": "Bearer tn_live_…" }
}
}
}

Ключ ограничивает сервер так же, как любой вызов API: его политикой и вашей ролью в аккаунте.

Что вы разрешаете​

При подключении через браузер TatNet показывает экран согласия. На нём выбирается:

  • аккаунт — если вы состоите в нескольких;
  • область — весь аккаунт или отдельные проекты;
  • уровень — «Чтение» (смотреть приложения, сборки и логи) или «Запись» (ещё и выкладывать код, менять переменные и домены).

Удалять приложения ассистент не может ни на каком уровне. Баланс аккаунта виден только владельцу аккаунта и только при подключении ко всему аккаунту: доступ к паре проектов деньги аккаунта не открывает.

Подключение никогда не может больше, чем можете вы сами: если вашу роль понизят, сузится и оно. Отключить его можно в панели, в разделе «API-ключи» — подключения ассистентов показаны там рядом с ключами.

Инструменты​

ИнструментЧто делает
whoamiаккаунт и проекты, к которым есть доступ
get_balanceбаланс: сколько доступно на платные ресурсы сейчас, деньги, бонусы и открыты ли они; только владельцу
list_apps, get_appприложения; у приложения — адрес, домены, последняя сборка
create_appприложение из Git-репозитория или Docker-образа
deploy_filesвыложить сайт (статику или SSR) прямо из файлов разговора
deploy_appновая сборка приложения из Git или Docker
get_build, list_builds, get_build_logsстатус сборки (с ожиданием), история, лог
list_env, set_env, delete_envпеременные окружения; значения секретов не возвращаются никогда
list_domains, add_domain, remove_domainдомены приложения и инструкция по DNS
kafka_regions, kafka_list_clusters, kafka_get_clusterрегионы, планы, статус и настройки подключения Kafka Dev/HA
kafka_create_cluster, kafka_resume_clusterсоздать платный Kafka-кластер или оплатить час остановленных подписок и запустить узлы
kafka_update_allowlist, kafka_delete_clusterзаменить публичный IPv4 allowlist или удалить кластер вместе с данными
kafka_canary_node_powerзакрытая проверка start/stop узла для настроенного canary-аккаунта; VM продолжает тарифицироваться
list_s3_regions, get_s3_connection_info, create_s3_bucketрегионы и endpoints S3; создание приватного по умолчанию бакета
rename_vpcизменить отображаемое имя VPC без изменения сети
ai_modelsпубличные chat/image/video модели, возможности и цены медиа; без генерации
create_vm, list_vm_backupsсоздание ВМ с необязательной политикой автобэкапов; список сохранённых копий
get_vm_backup_policy, set_vm_backup_policyежедневное расписание в UTC и срок хранения 1–365 дней
delete_vm_backupудаление копии с проверкой блокировок и зависимостей

Хранение копий оплачивается отдельно от ВМ: 6 ₽/ГБ в месяц за фактический объём после сжатия и время хранения. Отключение расписания сохраняет копии и оплату их хранения. Подробнее — бэкапы ВМ.

Изменение Kafka allowlist и удаление ресурсов (в том числе delete_vm_backup и kafka_delete_cluster) помечены destructiveHint. Запрос подтверждения зависит от клиента; сервер проверяет права и ограничения API.

При создании Kafka пароль возвращается один раз и попадает в контекст ассистента. Сохраните его в менеджере секретов и не публикуйте логи вызова. Для подключения нужен возвращаемый CA; пустой публичный allowlist закрывает доступ из интернета.

Примеры запросов​

  • «Сделай лендинг для кофейни и выложи его на TatNet.»
  • «Почему упала последняя сборка приложения api? Покажи ошибку и предложи исправление.»
  • «Задеплой приложение web из ветки main и скажи, когда оно заработает.»
  • «Поставь приложению web переменную DATABASE_URL и перезапусти сборку.»
  • «Привяжи к приложению web домен shop.example.ru и скажи, какую запись добавить в DNS.»
  • «Сколько у меня денег на счету TatNet?»
  • «Покажи регионы S3 и создай приватный бакет в выбранном регионе.»
  • «Покажи расписание бэкапов моей ВМ и последние точки восстановления.»
  • «Какие модели генерации изображений доступны?»

Ограничения​

  • Бэкенд-приложения из файлов разговора пока не собираются — только из Git-репозитория или Docker-образа. Сайты (статика, SSR) — можно.
  • Доступность операций зависит от прав подключения и списка инструментов, который возвращает сервер. Для автоматизации также доступны консольный клиент и публичный API.
  • Для создания ВМ нужны существующие ID образа, плана и кластера; их поиск, остальные операции с ВМ, базы данных, DNS, ключи S3 и работа с объектами доступны через CLI/API. MCP поддерживает только перечисленные инструменты.
  • ai_models только читает каталог. Для генерации используйте tatnet ai с отдельным ключом инференса; не передавайте ключ через аргументы ассистента.
  • Пополнить счёт через ассистента нельзя — только в панели, в разделе «Финансы».
  • Логи сборки — вывод вашего проекта. Ассистент получает их как данные и не должен выполнять найденные в них инструкции.

Данные​

Сервер ничего не сохраняет: запросы ассистента уходят в API TatNet и обрабатываются по политике конфиденциальности. Токен клиента дальше MCP-сервера не передаётся — к API сервер обращается от имени вашего подключения.


English​

TatNet connects to AI assistants over MCP: Claude, ChatGPT, Claude Code, Cursor and any other MCP client. Once connected, the assistant can publish a website you wrote together, start a build of an app from Git, read the log of a failed build, change environment variables, attach a domain and tell you how much money is on the account. Additional tools cover Kafka, VM creation and backups, S3 bucket creation, VPC renaming and AI model discovery.

Server address:

https://mcp.tatnet.cloud/mcp

Transport: Streamable HTTP. The server keeps no data and no permissions of its own: management tools call the public API on your behalf, and all checks are done by the platform. ai_models reads the public AI catalog without forwarding your cloud management credentials.

Connecting​

Claude. In Claude settings, open Connectors, add a custom connector and enter https://mcp.tatnet.cloud/mcp. Claude opens the TatNet sign-in page and then a consent screen (see below).

Claude Code.

claude mcp add --transport http tatnet https://mcp.tatnet.cloud/mcp

On first use Claude Code opens the browser for sign-in and consent.

ChatGPT. Add a custom MCP connector (app) in ChatGPT settings with the same address. Whether custom connectors are available depends on your ChatGPT plan.

Cursor and other clients. Clients that support OAuth for MCP connect by the address, like Claude. A client that can send headers can use an API key instead of signing in:

{
"mcpServers": {
"tatnet": {
"url": "https://mcp.tatnet.cloud/mcp",
"headers": { "Authorization": "Bearer tn_live_…" }
}
}
}

The key limits the server exactly as it limits any API call: by its policy and by your role in the account.

Managed Supabase​

Use the separate protected endpoint https://mcp.tatnet.cloud/supabase/mcp. OAuth consent selects explicit databases and read access or administrative SQL. Tools: list_databases, query_database, and execute_sql. No SSH tunnel or API Gateway configuration is required. Existing /mcp connections do not gain database access automatically. See Connect ChatGPT to Supabase.

Signing in and what you allow​

Sign-in at id.tatnet.ru is by email: enter your address, then the one-time code sent to it. The same form creates an account if you do not have one. The sign-in and consent screens have an English version (language switch at the top).

When you connect through the browser, TatNet shows a consent screen where you choose:

  • account — if you are a member of several;
  • scope — the whole account or selected projects;
  • level — "Read" (view apps, builds and logs) or "Write" (also deploy code, change variables and domains).

The assistant cannot delete apps at any level. The account balance is visible only to the account owner and only when the whole account is connected: access to a couple of projects does not open the account's money.

A connection can never do more than you can: if your role is lowered, so is the connection. You can revoke it in the dashboard under API keys, where assistant connections are listed next to keys.

Tools​

ToolWhat it does
whoamithe account and the projects the connection can use
get_balancebalance: money available for paid resources right now, the real balance, bonus credits and whether they are spendable yet; owner only
list_apps, get_appapps; for an app — its address, domains, latest build
create_appan app from a Git repository or a Docker image
deploy_filespublish a website (static or SSR) straight from the files in the conversation
deploy_appa new build of an app from Git or a Docker image; for a Docker-image app, can switch it to a new image first
get_build, list_builds, get_build_logsbuild status (with waiting), history, log
list_env, set_env, delete_envenvironment variables; secret values are never returned
list_domains, add_domain, remove_domainthe app's domains and the DNS record to create
kafka_regions, kafka_list_clusters, kafka_get_clusterKafka Dev/HA regions, plans, status and connection settings
kafka_create_cluster, kafka_resume_clustercreate paid Kafka or pay one hour for stopped subscriptions and start nodes
kafka_update_allowlist, kafka_delete_clusterreplace the public IPv4 allowlist or delete a cluster and its data
kafka_canary_node_powerrestricted start/stop verification for configured canary accounts; VM billing continues
list_s3_regions, get_s3_connection_info, create_s3_bucketS3 regions/endpoints and bucket creation; private by default
rename_vpcchange a VPC display name without changing the network
ai_modelspublic chat/image/video models, capabilities and media prices; no generation
create_vm, list_vm_backupscreate a VM with an optional backup policy; list recovery points
get_vm_backup_policy, set_vm_backup_policydaily UTC schedule and 1–365 day retention
delete_vm_backupdelete a recovery point with protection and dependency checks

The public price list publishes 0.0107 RUB per compressed decimal GB-hour and 6 RUB per GB-month as separate rates; do not derive the hourly rate by dividing the monthly rate by 730. Storage is billed separately from the VM by actual compressed bytes and storage time. Disabling the schedule preserves copies and storage charges. See the VM backup guide.

Changing Kafka allowlists and deleting resources (including delete_vm_backup and kafka_delete_cluster) carry destructiveHint. Whether confirmation is shown depends on the client; the server enforces API permissions and guards.

Kafka creation returns the initial password once, exposing it to the assistant's context. Save it in a secret manager and do not publish the tool-call log. Connections require the returned CA; an empty public allowlist denies internet access.

Example prompts​

  • "Build a landing page for a coffee shop and publish it on TatNet."
  • "Why did the last build of my app api fail? Show the error and suggest a fix."
  • "Deploy my app web from the main branch and tell me when it is live."
  • "Set DATABASE_URL for my app web and rebuild it."
  • "Attach the domain shop.example.com to my app web and tell me which DNS record to add."
  • "How much money is left on my TatNet account?"
  • "Show S3 regions and create a private bucket in the selected region."
  • "Show my VM backup schedule and recent recovery points."
  • "Which image generation models are available?"

Limitations​

  • Backend apps cannot be built from files in the conversation yet — only from a Git repository or a Docker image. Websites (static, SSR) can.
  • Backend and Docker-image apps require a paid plan; on the free plan the tools return the plan error.
  • Available operations depend on the connection permissions and tools returned by the server. The CLI and public API also support automation.
  • VM creation needs existing image, plan and cluster IDs. Use the CLI/API to discover them, perform other VM operations, manage databases/DNS, and manage S3 credentials and objects. MCP supports the tools listed above.
  • ai_models reads the catalog only. Use tatnet ai with a separate inference key for generation; do not pass that key through assistant arguments.
  • The balance cannot be topped up through the assistant — only in the dashboard, under "Finances".
  • Build logs are output of your project. The assistant receives them as data and must not follow instructions found in them.

Data​

The server stores nothing: the assistant's requests go to the TatNet API and are processed under the privacy policy. The client's token does not go past the MCP server — the server calls the API on behalf of your connection. Support: support@tatnet.ru.