Список инструментов MCP
Все 25 инструментов MCP-сервера BLACKBOX: нужное разрешение, параметры, что возвращают и лимиты.
На этой странице
MCP-сервер blackbox (https://api.app.blackbox.md/mcp) даёт AI-ассистенту 25 инструментов. Ассистент сам выбирает нужный инструмент, когда вы описываете задачу, а вы через разрешения токена определяете, какими инструментами ему можно пользоваться. Токен создаётся на blackbox.md: «Личный кабинет» → «API-токены» (blackbox.md/ru/account/api-tokens).
Доступно: владельцу аккаунта blackbox.md — через AI-ассистента, подключённого с API-токеном. Инструменты работают только с данными аккаунта, в котором создан токен.
Как читать таблицы
- Разрешение: код разрешения, которое должно быть у токена; «—» означает, что разрешение не нужно. Какая галочка ему соответствует на странице «Токены доступа (API)», см. Разрешения токенов (scopes).
- Параметры: данные, которые ассистент передаёт инструменту. Вводить их самим не нужно, но их полезно узнавать, когда AI-клиент просит подтвердить вызов.
- Лимит: сколько вызовов разрешено на весь аккаунт, для всех токенов вместе. Эти лимиты считаются отдельно от лимитов панели app.blackbox.md. Кроме того, на все инструменты, кроме
whoamiиlist_vm_plans, действует общий лимит — 120 вызовов в минуту. - Суммы: поля
…_mdlуказаны в целых MDL, поля…_bani— в банях, сотых долях лея (1 MDL = 100 бань).
Общее поведение
| Ситуация | Ответ инструмента | Что делать |
|---|---|---|
| У токена нет нужного разрешения | Ассистент не видит инструмент; при прямом вызове приходит missing_scope: this token does not have '…' с названием разрешения. |
Создайте новый токен с недостающим разрешением: расширить разрешения существующего токена нельзя. |
| ID не существует или принадлежит другому аккаунту | not_found — в обоих случаях ответ намеренно одинаковый |
Попросите ассистента взять ID из list_servers, list_orders или list_ssh_keys. |
| ID в неверном формате | invalid_server_id, invalid_order_id или invalid_key_id |
То же, что выше. |
| Слишком много вызовов | rate_limited |
Подождите: вызовы, сделанные, пока лимит превышен, тоже засчитываются. |
| Непредвиденная ошибка на стороне BLACKBOX | internal_error |
Повторите вызов не больше одного раза. Если ошибка повторяется, напишите в поддержку, указав инструмент и время. |
| При апгрейде или отмене заказа с сервером инфраструктурный сервис временно недоступен | ошибка, сообщающая об этой недоступности | Повторите через несколько минут. |
Кроме заказанных вами серверов, list_servers может показывать серверы компании, к которым BLACKBOX открыл вам доступ. Если can_manage равно false, сервер доступен только для просмотра (в панели у него отметка «Обслуживается»), и инструменты управления с ним не работают. Если BLACKBOX выдал вам права на управление, разрешённые действия перечислены в поле capabilities; апгрейд для таких серверов недоступен.
Все коды ошибок с пояснениями: Лимиты и коды ошибок MCP.
Обзор и чтение данных
| Инструмент | Разрешение | Параметры | Что делает / что возвращает | Лимит |
|---|---|---|---|---|
whoami |
— | — | Подтверждает аккаунт: ID аккаунта (customer_id), разрешения токена (scopes), недостающие разрешения (missing_scopes) и подсказку на английском (hint). Email и имя не возвращает. |
— |
list_vm_plans |
— | — | Все 21 тариф VPS: slug, название (например, «Standard M»), семейство, vCPU, RAM (GB), диск (GB), цена в месяц в MDL (price_mdl) и признак recommended у рекомендуемого тарифа. |
— |
list_servers |
servers:read |
— | Ваши серверы: id (его используют все серверные инструменты), название, IP, тариф, дата создания, способ входа по SSH (auth_method: key, password или пусто), личное название (label), can_manage и capabilities. |
60 в минуту |
get_server |
servers:read |
server_id |
Тот же сервер, а также порт SSH, есть ли сохранённые учётные данные (has_credentials) и фактическое состояние power_state: running, shutdown, paused, crashed, suspended, nostate или пусто, если его не удалось получить. |
60 в минуту |
get_balance |
billing:read |
— | Баланс в банях (balance_bani), валюта MDL и включён ли автоплатёж с баланса (autopay_enabled). |
60 в минуту |
list_transactions |
billing:read |
limit (1–100, по умолчанию 20), offset |
Операции по балансу, сначала новые: сумма и баланс после операции (в банях), тип (topup, order_payment, invoice_payment, adjustment, refund), описание, связанный заказ или счёт и дата; а также общее число операций. |
30 в минуту |
list_orders |
billing:read |
limit, offset |
Заказы: номер BBX-… (reference), статус, тариф, сумма в MDL, дата, описание, дополнительные услуги и их состояние, состояние создания сервера (provisioning_state), IP, server_id и можно ли отменить заказ (cancellable). |
30 в минуту |
list_invoices |
billing:read |
limit, offset |
Счета: номер, статус, валюта, сумма, описание, дата выставления, срок оплаты и дата оплаты. | 30 в минуту |
Характеристики и цены тарифов: Тарифы VPS: как выбрать. Личное название сервера задаётся в панели: Переименование сервера (личное название).
В ответе list_servers нет номера заказа. Чтобы узнать, из какого заказа создан сервер, попросите ассистента вызвать list_orders и найти заказ, у которого server_id совпадает с id сервера.
Статусы в ответах
Инструменты возвращают коды на английском. В таблице — как они называются на blackbox.md, а если на сайте такой метки нет, что они означают:
| Поле | Коды | На blackbox.md |
|---|---|---|
Статус заказа (list_orders) |
new, in_progress, done, cancelled |
«Новый», «В работе», «Завершён», «Отменён» |
Состояние дополнительной услуги (list_orders) |
pending, active, attention, cancelled |
«В процессе активации», «Активен», «Свяжитесь со службой поддержки», «Отменён» |
Статус счёта (list_invoices) |
sent, overdue, paid, cancelled |
«Отправлен», «Просрочен», «Оплачен», «Отменён» |
Создание сервера (provisioning_state) |
provisioning, active, failed, terminated |
на сайте не показывается: сервер создаётся, готов, создание не удалось, сервер удалён |
Управление сервером
| Инструмент | Разрешение | Параметры | Что делает / что возвращает | Лимит |
|---|---|---|---|---|
reveal_server_credentials |
servers:credentials |
server_id |
Сохранённые имя пользователя и пароль root с датой сохранения — как кнопка «Показать учётные данные» в панели. Пароль не считывается с сервера. | 20 в минуту |
reset_server_password |
servers:credentials |
server_id |
Создаёт новый пароль root, устанавливает его на сервере и возвращает — как кнопка «Сбросить пароль». Старый пароль сразу перестаёт работать. | 3 за 5 минут |
power_server |
servers:power |
server_id, action: reboot, stop или start |
Перезагружает, останавливает или запускает сервер. Сразу отвечает status: accepted, а действие выполняется в фоне; результат показывает get_server (power_state). |
6 в минуту |
run_server_command |
servers:exec |
server_id, command (1–8192 символа), timeout_seconds (1–300, по умолчанию 60) |
Выполняет команду от root без интерактивного терминала и без вашего пароля или ключа. Возвращает exit_code, stdout и stderr (каждый не больше 64 000 символов), duration_ms и timed_out. |
30 в минуту |
get_server_ssh_access |
servers:credentials |
server_id, regenerate (по умолчанию false) |
Устанавливает для root ключ AI-агента (комментарий blackbox-agent-…) и возвращает хост, порт, пользователя root, приватный и публичный ключи, отпечаток и готовую команду ssh -i …. При каждом вызове возвращается тот же ключ; regenerate: true создаёт новый ключ и удаляет старый. |
10 за 5 минут |
get_server_resize_options |
servers:read |
server_id |
Тарифы того же семейства, на которые можно перейти (ни один ресурс не уменьшается), новая цена в месяц, сумма к оплате сейчас за остаток месяца и баланс. Ничего не меняет. | только общий лимит |
resize_server |
orders:write |
server_id, target_flavor (вариант из get_server_resize_options), confirm (по умолчанию false) |
Без подтверждения: предпросмотр с ценой и confirm_required: true, без изменений. С confirm: true: списывает разницу с баланса и перезагружает сервер на новом тарифе (несколько минут простоя; IP и данные сохраняются). Возвращает job_id и state: queued. |
3 за 10 минут, включая предпросмотры |
power_server. Перезагрузка обычная, не принудительная; послеrebootсервер, как правило, снова отвечает через 30–60 секунд. У некоторых серверов компании, на которые у вас есть права управления, возможна только перезагрузка (остальные действия отвечаютno_instance_id). См. также Перезагрузка, остановка и запуск сервера.reset_server_password. На сервере «Только ключ» пароль меняется, но вход по паролю по SSH остаётся отключённым: Сброс пароля root.run_server_command. Истечение времени — не ошибка: приходитtimed_out: true, а процесс может продолжать работать на сервере. Подробнее: Выполнение команд на сервере через AI.get_server_ssh_access. Ключ агента один на сервер и общий для всех ваших токенов: SSH-доступ и SSH-ключи через AI-ассистента.- Апгрейд. Только на больший тариф, обратно — никогда. Тарифы «VPS hosting» и выделенные серверы отвечают
not_upgradeable_plan(апгрейд через поддержку). Если на балансе не хватает средств,insufficient_balanceприходит уже на предпросмотре. См. Апгрейд сервера: переход на больший тариф.
Безопасность
reveal_server_credentials,reset_server_passwordиget_server_ssh_accessвозвращают пароли и приватные ключи в открытом виде. Они попадают в AI-клиент и к поставщику AI-модели. Выдавайтеservers:credentialsтолько при необходимости и просите ассистента не выводить секреты в переписку.
SSH-ключи
Ключи, сохранённые в аккаунте на странице «SSH-ключи» (SSH-ключи в аккаунте (blackbox.md)), и ключи, установленные на сервере в /root/.ssh/authorized_keys (Добавление и удаление SSH-ключей на сервере), управляются разными инструментами. Удаление в одном месте не убирает ключ из другого.
| Инструмент | Разрешение | Параметры | Что делает / что возвращает | Лимит |
|---|---|---|---|---|
list_ssh_keys |
ssh_keys:read |
— | Ключи, сохранённые в аккаунте: id, название, тип, отпечаток, длина в битах, комментарий, дата добавления и последнего использования; а также их количество и лимит в 20 ключей. |
30 в минуту |
add_ssh_key |
ssh_keys:write |
name (1–80 символов, одна строка), public_key (одна строка публичного ключа OpenSSH) |
Сохраняет ключ в аккаунте, но не устанавливает его ни на один сервер. Допустимые типы: ssh-ed25519, ssh-rsa (не меньше 2048 бит), ecdsa-sha2-nistp256/384/521 и аппаратные ключи sk-…. В аккаунте может быть не больше 20 ключей. |
10 в час |
delete_ssh_key |
ssh_keys:write |
key_id |
Удаляет ключ из аккаунта. С серверов, на которых он установлен, ключ не удаляется. | 20 в час |
add_server_ssh_key |
servers:credentials |
server_id и ровно один из параметров: key_id (сохранённый ключ) или public_key (вставленный ключ) |
Добавляет ключ для root на сервере. Отвечает added или already_present (ключ уже был на сервере, ничего не изменилось). |
10 за 5 минут |
list_server_ssh_keys |
servers:credentials |
server_id |
Ключи, установленные для root: тип, отпечаток, комментарий, какой из них ключ управления (is_management) и какой — ключ агента (is_agent), можно ли его удалить (removable), сколько строк пропущено и включён ли вход по паролю. |
30 в минуту |
remove_server_ssh_key |
servers:credentials |
server_id и ровно один из параметров: key_id, fingerprint (из list_server_ssh_keys) или public_key |
Удаляет ключ с сервера. Отвечает removed или not_present. |
10 за 5 минут |
set_server_password_auth |
servers:credentials |
server_id, enabled (true или false) |
Включает или отключает вход по паролю по SSH — как кнопки «Включить вход по паролю» и «Отключить вход по паролю». Проверяет конфигурацию SSH перед перезагрузкой службы и возвращает фактическое состояние (effective: yes или no). |
5 за 5 минут |
Защита от потери доступа:
remove_server_ssh_keyне удаляет ключ управления (management_key_protected) и последний ключ на сервере «Только ключ» (last_key_on_key_only_server).set_server_password_authне отключает вход по паролю, если на сервере нет ни одного вашего ключа (no_customer_key_installed).
Деньги: заказы, оплата и отмена
Все три инструмента требуют orders:write. Оплата и возвраты проходят только через баланс: пополнить баланс или заплатить картой ассистент не может.
| Инструмент | Разрешение | Параметры | Что делает / что возвращает | Лимит |
|---|---|---|---|---|
create_order |
orders:write |
source (static-plan), plan_slug, config, confirm (по умолчанию false) |
Без подтверждения: расчёт цены (quote с суммой в MDL и provisionable), ничего не создаётся. С confirm: true и теми же параметрами: заказ со статусом new и номером BBX-…, без оплаты. Цену всегда рассчитывает BLACKBOX. Повторное такое же подтверждение в течение 5 минут возвращает тот же заказ. |
20 в час, включая расчёты цены |
pay_order |
orders:write |
order_id, confirm_total_mdl (текущая сумма заказа в MDL) |
Оплачивает с баланса заказ со статусом new. Если сумма не совпадает с текущей: price_changed, оплата не проходит. Отвечает статусом in_progress, ID операции и остатком баланса (в банях). Серверы на тарифах vm-… после этого создаются автоматически. |
10 в минуту |
cancel_order |
orders:write |
order_id, confirm (по умолчанию false) |
Без подтверждения: предпросмотр с суммой возврата (refund_mdl), правилом возврата и тем, будет ли удалён сервер (server_terminated_on_cancel). С confirm: true: отменяет заказ, возврат зачисляется на баланс. |
5 за 5 минут, включая предпросмотры |
Правила возврата те же, что на сайте: Отмена заказа и возврат средств. Шаги и защиты: Заказы, оплата, отмена и апгрейд через AI.
Необратимо С
confirm: trueинструментcancel_orderсразу удаляет сервер заказа со всеми данными — без 24-часового периода ожидания, который даёт кнопка «Удалить» в панели. Прежде чем подтверждать, прочитайте предпросмотр.
Параметры create_order
Ассистент составляет параметры сам; тариф, операционную систему и ключи можно назвать ему явно. Пример для рекомендуемого тарифа с Ubuntu 24.04 и ключом, сохранённым в аккаунте:
{
"source": "static-plan",
"plan_slug": "vm-iops1-m",
"config": {
"kind": "static-plan",
"plan_id": "vm-iops1-m",
"os": "ubuntu-24",
"ssh": { "key_ids": ["ID_КЛЮЧА"] }
},
"confirm": false
}Возможные значения plan_slug (то же значение указывается и в config.plan_id) приведены ниже. Тарифы VPS имеют вид vm-СЕМЕЙСТВО-РАЗМЕР:
| Семейство | Тарифы |
|---|---|
| Basic | vm-basic1-xs, vm-basic1-s, vm-basic1-m, vm-basic1-l, vm-basic1-xl |
| CPU | vm-cores30-s, vm-cores30-m, vm-cores30-l, vm-cores30-xl, vm-cores30-xxl |
| Стандарт | vm-iops1-s, vm-iops1-m (рекомендуемый), vm-iops1-l, vm-iops1-xl |
| High-Frequency | vm-hfq1-xs, vm-hfq1-s, vm-hfq1-m |
| High-Frequency Compute | vm-hfq50-xs, vm-hfq50-s, vm-hfq50-m, vm-hfq50-l |
| Выделенные серверы | dedicated-light, dedicated-premium, dedicated-storage — их готовит команда вручную: Выделенные серверы |
| VPS hosting | vps-hosting-1, vps-hosting-2, vps-hosting-3: Тарифы «VPS hosting» с панелью управления |
Поля config:
| Поле | Значения |
|---|---|
kind |
static-plan, как в source |
plan_id |
тот же тариф, что в plan_slug |
os |
ubuntu-24, ubuntu-22, ubuntu-20, debian-12, debian-11, centos-9, almalinux-9. Без os устанавливается Ubuntu 22.04 LTS, а не самая новая версия; для Ubuntu 24.04 укажите ubuntu-24. Система, которой нет в списке, получает ошибку unsupported_os. См. Доступные операционные системы. |
ssh |
key_ids (ID из list_ssh_keys), public_keys (вставленные ключи) и password_auth; не больше 10 ключей. Если ключи переданы, а password_auth нет, сервер создаётся «только по ключу»; "password_auth": true сохраняет вход по паролю. См. SSH-ключ при заказе и серверы «только по ключу». |
extras |
["monitoring"] добавляет услугу Monitoring, 98 MDL/мес.: Дополнительные услуги для сервера. Других значений здесь не указывайте. |
Внимание Указывайте в
extrasтолькоmonitoring. MCP-сервер принимает и другие коды дополнительных услуг и добавляет их к сумме заказа и к ежемесячной цене сервера, но автоматически они не подключаются: в личном кабинете, в разделе «Заказы», они остаются в состоянии «В процессе активации». Не просите ассистента добавлять в заказ другие дополнительные услуги — для них напишите в поддержку. Перед подтверждением проверьтеtotal_mdlв расчёте цены: это должна быть цена тарифа плюс 98 MDL, если вы заказали мониторинг. Вline_itemsрасчёта только одна строка с общей суммой, поэтому услуги отдельно не видны.
Конфигуратор (source: configurator) и старые тарифы vps-2, vps-3, vps-4 заменены фиксированными тарифами: на них приходят ошибки configurator_retired и plan_retired соответственно. Для старого тарифа в ошибке может быть предложен близкий тариф vm-…. Если в расчёте цены provisionable: false, тариф временно недоступен и подтверждение вернёт plan_unavailable.
Частые вопросы
Ассистент говорит, что у него нет нужного инструмента. Почему?
У токена нет нужного разрешения, поэтому инструмент скрыт. Попросите ассистента вызвать whoami: в поле missing_scopes видно, чего не хватает. Затем создайте новый токен с этим разрешением. В тексте hint пресет называется «AI agent — full access», а на странице это кнопка «AI-администратор — полный доступ».
Почему status равен active, хотя сервер остановлен?
status показывает только то, что сервер числится в вашем аккаунте. Запущен он или остановлен, видно в поле power_state инструмента get_server.
Можно ли пользоваться инструментами без AI-ассистента?
Да, из любого MCP-клиента или из кода, но только через адрес MCP: в других местах токены bbx_pat_… не работают. См. Использование MCP из кода (AI API и HTTP).
Что значит 57800 в balance_bani?
Сумма указана в банях: 57 800 бань — это 578,00 MDL.