Skip to content

API Pano и агент ​

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

У Pano нет MCP-сервера для управления сайтом

MCP-сервер по адресу https://panomc.com/mcp только читает эту документацию. Ничто не позволяет агенту управлять сайтом Pano через MCP. Всё, что агент делает с сайтом, он делает через описанный здесь HTTP API и с тем доступом, который вы ему передали.

Дайте агенту ваш документ OpenAPI ​

Каждый Pano сам описывает свой API, включая плагины. Сохраните документы и положите их рядом с кодом, над которым работает агент (Чтение справочника OpenAPI):

sh
curl -s http://localhost:8088/api/v1/openapi.json -o pano-openapi.json
curl -s http://localhost:8088/api/v1/plugins/pano-plugin-market/_/openapi.json -o market-openapi.json

Оба документа публичные, ключ не нужен. Именно они верны для вашего сайта и версии; эта документация описывает Pano только в целом. Для JavaScript пусть агент сгенерирует типизированный клиент, а не пишет вызовы fetch вручную:

sh
bunx @panomc/client-gen pull --url http://localhost:8088 --out src/lib/pano

Какой доступ для какой задачи ​

Личного «API-токена администратора» в Pano нет. Способы доступа такие (Доступ):

ЗадачаДоступГде его взять
Читать публичные данные: записи, серверы, сведения о сайтене нуженсоздавать нечего
Сервер, действующий от имени посетителей (сайт, бот со входом игроков)ключ фронтенда (pfk_...), а после входа ещё токен сессии посетителяВнешний вид -> Темы -> кнопка шестерёнки (Настройки показа сайта) -> Ключи подключения сайта -> Настроить
Реагировать на события (игрок зарегистрировался, запись опубликована, заказ оплачен)вебхук со своим секретомНастройки -> Вебхуки, см. Вебхуки
Операции панели (/api/v1/panel/...)сессия входа в панель; внутренний API без обещания стабильностине для скриптов

Две детали, в которых агенты ошибаются: строка «Ключи подключения сайта» скрыта, пока сайт показывает Тему, а токен сессии сайта никогда не работает в API панели (403 SITE_TOKEN_NOT_ALLOWED).

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

text
Прочитай pano-openapi.json. Напиши скрипт для Bun, который печатает заголовок и адрес пяти
последних записей с http://localhost:8088. Используй page и pageSize, при ошибке печатай error.code.
text
Прочитай pano-openapi.json. Напиши небольшую команду Discord-бота, которая показывает, какие
серверы Minecraft моего Pano в сети и сколько на них игроков, через GET /api/v1/servers.
Ключ не нужен.
text
Напиши приёмник вебхука для события Pano core.user.registered. Проверяй X-Pano-Signature так,
как описано на странице «Вебхуки» документации Pano, игнорируй повторные id событий,
отвечай 2xx в течение 10 секунд.
text
Прочитай pano-openapi.json и market-openapi.json. Перечисли операции, которые нужны скрипту,
чтобы показать игроку его собственные заказы, и скажи, каким из них нужен вход. Код пока не пиши.

Минимум прав ​

  • Начинайте без ключа. Многое из того, что нужно скрипту, публично. Добавляйте ключ, только когда задаче нужен вход.
  • Ключи хранятся в .env, а не в запросе и не в репозитории. Ключ фронтенда показывается один раз; если он попал в чат или в коммит, удалите его в панели и создайте новый.
  • Входите как тестовый игрок, а не под своей учётной записью. Скрипт, которому нужна сессия, должен использовать аккаунт без прав панели.
  • Вебхук лучше опроса со входом. В содержимом вебхуков нет адресов e-mail, IP-адресов и текстов сообщений.
  • Оставайтесь в публичном API. Скажите агенту не вызывать /api/v1/panel/...: это внутренний API, он может измениться в любом релизе.

Безопасность ​

Агент с вашим доступом администратора может изменить ваш сайт

Если вы дадите агенту пароль от панели, сессию панели из вашего браузера или оболочку на машине, где работает Pano, он сможет всё, что можете вы: удалять игроков, менять права, переключать фронтенд, останавливать серверы. Неверная команда выполняется так же охотно, как верная.

  • Используйте тестовый сайт. Пусть агент работает с локальным Pano или копией, а не с рабочим сайтом. Установка Pano занимает несколько минут.
  • Читайте перед запуском. Пусть агент сначала напишет скрипт и объяснит его; запускайте сами. Не позволяйте ему без присмотра выполнять запросы на запись (POST, PUT, PATCH, DELETE) на рабочем сайте.
  • Сначала сделайте резервную копию, если скрипт меняет данные.
  • Помните о лимитах запросов. Скрипт в цикле получит 429 RATE_LIMIT_EXCEEDED; он должен соблюдать Retry-After (Основы API).