Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
HOSTKEY_API_KEYYesYour Hostkey API key. Required for authorization. Obtain from InvAPI → API key management.
HOSTKEY_TOKEN_TTLNoOptional. Token TTL (see .env.example).
HOSTKEY_HTTP_TIMEOUTNoOptional. HTTP timeout (see .env.example).
HOSTKEY_ALLOW_DESTRUCTIVENoOptional. Set to '1' to allow destructive operations like OS reinstall, PXE, and service cancellation.

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": true
}
prompts
{
  "listChanged": true
}

Tools

Functions exposed to the LLM to take actions

NameDescription
get_serversA

Список серверов аккаунта Hostkey с фильтрами. Перед первым вызовом автоматически обновляет инвентарь (eq/update_servers). Возвращает ID серверов и краткие данные; для полной карточки используйте get_server.

get_serverB

Полная информация о сервере по его ID (eq/show): конфигурация, сеть, статус, расположение.

get_power_statusA

Текущий статус питания сервера (включён/выключен).

get_server_sensorsA

Показания аппаратных сенсоров сервера (температуры, напряжения, вентиляторы). Только для bare-metal.

get_server_tagsB

Все теги сервера (tags/list). Теги хранят произвольные пары ключ-значение.

search_servers_by_tagB

Поиск серверов по имени или значению тега (tags/user_search). Возвращает ID серверов.

list_presetsA

Актуальный список доступных instant-серверов (VM/BM/GPU/vGPU) с ценами в указанной локации. Токен не требуется. Нужен для подбора preset перед заказом.

search_presetsA

Поиск подходящих свободных серверов под конкретный пресет по имени (например, vm.pico). Требует авторизации.

get_preset_pricingB

Цены на доступные пресеты в указанных валютах (presets/info). Токен не требуется.

list_preset_groupsA

Список групп пресетов для категоризации каталога (presets/groups). Токен не требуется.

get_presetA

Информация о конкретном пресете или обо всех пресетах (presets/show). Может требовать авторизации в зависимости от прав.

list_stock_serversA

Список доступных stock-серверов (физические серверы стандартных конфигураций, деплой в течение рабочего дня). Токен не требуется.

get_stock_serverA

Детальная информация о конкретном stock-сервере (stocks/show).

list_osA

Список операционных систем, доступных для установки на пресет/сервер (os/list). Без instance_id возвращает ОС для всех пресетов. Токен не требуется.

list_softwareA

Список ПО (marketplace-приложений), доступного для автоустановки на сервер (software/list). Токен не требуется.

list_traffic_plansA

Доступные тарифные планы трафика для пресета в локации (traffic_plans/list). Токен не требуется.

get_account_infoA

Информация о текущем API-токене и аккаунте (auth/info): доступные вызовы, тип и роль аккаунта, ID привязанных серверов. Полезно для проверки подключения.

logoutA

Завершить текущую API-сессию (auth/logout): сессионный токен удаляется из InvAPI. При следующем вызове клиент автоматически выполнит повторный вход по API-ключу.

list_api_keysB

Список всех API-ключей аккаунта (api_keys/list).

list_server_api_keysA

Список API-ключей, выданных для конкретного сервера (api_keys/list_for_server).

get_api_keyB

Информация о конкретном API-ключе (api_keys/view).

get_api_key_historyB

История использования API-ключа за период (api_keys/history).

create_api_keyA

Создать новый API-ключ для аккаунта или конкретного сервера (api_keys/add). Значение ключа будет показано один раз в ответе — сохраните его.

update_api_keyB

Изменить параметры API-ключа (api_keys/edit): имя, IP-белый список, уведомления, активность.

delete_api_keyA

Удалить API-ключ (api_keys/delete). ДЕСТРУКТИВНО: приложения, использующие ключ, потеряют доступ.

get_network_statusA

Состояние сетевых интерфейсов сервера (net/get_status): порт, свитч, VLAN, скорость, MAC, статус подключения.

get_port_graphsB

Графики загрузки порта за период (net/show_cacti): день/месяц/год.

get_ip_infoC

Информация о сетевом интерфейсе по IP-адресу (ip/get_ip).

get_ptr_recordA

Текущая PTR-запись (reverse DNS) для IP-адреса (ip/get_ptr).

port_onC

Включить сетевой порт сервера (net/port_on).

port_offA

Выключить сетевой порт сервера (net/port_off). ДЕСТРУКТИВНО: сервер потеряет сетевую связность по этому интерфейсу.

block_ipA

Заблокировать IP-адрес на сервере на уровне сети Hostkey (net/block_ip). Полезно для abuse-запросов.

unblock_ipC

Снять блокировку IP-адреса на сервере (net/unblock_ip).

update_ptr_recordB

Обновить PTR-запись для IP-адреса (ip/update_ptr). Несколько записей передаются разделителем %0A.

set_main_ipB

Назначить основной IP-адрес сервера (ip/set_main), когда адресов несколько.

list_dns_zonesA

Список всех DNS-зон аккаунта на серверах PowerDNS Hostkey (pdns/list_zones).

get_dns_zoneB

Содержимое DNS-зоны: все записи (A, AAAA, CNAME, MX, TXT и т.д.) с авторитетного сервера (pdns/view_zone).

list_dns_domainsA

Список всех доменов пользователя из таблицы доменов (pdns/list_domains).

list_dns_subdomainsB

Список сабдоменов по ID сервера (pdns/list_subdomains).

add_dns_domainA

Создать DNS-зону и добавить домен в таблицу доменов (pdns/add_domain). Требует права pdns/edit.

delete_dns_domainA

Удалить домен по ID: DNS-зону, сам домен и все его сабдомены (pdns/delete_domain). ДЕСТРУКТИВНО. Требует права pdns/edit.

add_dns_subdomainA

Добавить сабдомен в таблицу сабдоменов (pdns/add_subdomain). Требует права pdns/edit.

edit_dns_subdomainA

Обновить сабдомен (pdns/edit_subdomain). Требует права pdns/edit.

delete_dns_subdomainA

Удалить сабдомен из таблицы сабдоменов (pdns/delete_subdomain). ДЕСТРУКТИВНО. Требует права pdns/edit.

add_dns_zoneA

Создать DNS-зону на авторитетном сервере PowerDNS (pdns/add_zone). Требует права pdns/edit.

delete_dns_zoneA

Удалить DNS-зону по имени вместе со всеми записями и метаданными (pdns/delete_zone). ДЕСТРУКТИВНО. Требует права pdns/edit.

add_dns_recordA

Добавить или изменить DNS-запись в зоне (pdns/add_dns). Требует права pdns/edit. Для SRV-записей заполните proto/priority/weight/port/target. Поля mname/rname в документации отмечены как обязательные для SOA-проверок — при ошибке заполните их.

delete_dns_recordA

Удалить DNS-запись из зоны (pdns/delete_dns). ДЕСТРУКТИВНО. Требует права pdns/edit.

get_snapshotsA

Список снапшотов виртуальной машины (vm/get_snapshot): имя, snapshot_id, дата.

get_vm_engineB

Информация о движке виртуализации (vm/get_engine).

get_vm_statsB

Статистика виртуальной машины (vm/load_stats).

create_snapshotA

Создать снапшот виртуальной машины (vm/create_snapshot). Асинхронная операция — статус через check_task.

remove_snapshotA

Удалить снапшот (vm/remove_snapshot). ДЕСТРУКТИВНО: снапшот удаляется безвозвратно. Удаление возможно только на выключенной ВМ.

restore_snapshotA

Восстановить ВМ из снапшота (vm/restore_snapshot). ДЕСТРУКТИВНО: текущее состояние диска ВМ будет перезаписано состоянием снапшота.

get_vnc_consoleB

Доступ к VNC-консоли сервера (eq/console): возвращает конфиг console.vv в Base64 для virt-viewer.

start_novncB

Запустить NoVNC (HTML5) сессию консоли сервера (eq/novnc): возвращает ссылку для открытия в браузере.

list_post_install_tasksA

Доступные post-install Ansible-задачи (jenkins/get_tasks) с тегами применимости: gpu, bm, vm, vgpu, default. Без токена — общий список, с токеном — доступные конкретному пользователю.

run_post_install_taskA

Выполнить Jenkins/Ansible-задачу на сервере (jenkins/call): ID или имя задачи из list_post_install_tasks + доп. параметры. Например, установка GPU-драйверов после переустановки ОС.

add_static_natA

Создать статический DNAT до IPMI сервера (nat/add_static_nat): публичный IP для доступа к IPMI. Асинхронная операция — статус через check_task.

remove_static_natC

Удалить статический DNAT до IPMI сервера (nat/remove_static_nat).

clear_static_natA

Удалить застывшие правила статического NAT-проброса по внутреннему IP (nat/clear_static_nat).

drop_natB

Удалить запись о NAT из базы данных (nat/drop_nat). ДЕСТРУКТИВНО, служебная операция.

add_ipmi_userC

Создать временного IPMI-пользователя для веб-доступа к IPMI (eq/add_ipmi_user).

remove_ipmi_userA

Удалить временного IPMI-пользователя (eq/remove_ipmi_user).

reset_ipmiA

Перезагрузить IPMI-модуль сервера (eq/unit_reset). Применять, если IPMI не отвечает.

request_rh_power_onA

Заявка Remote Hands: включить сервер вручную (jira/request_pon). Создаёт тикет Remote Hands для дежурной смены дата-центра; статус и переписка — в тикете (ссылка придёт на email).

request_rh_power_offA

Заявка Remote Hands: выключить сервер вручную (jira/request_poff). ДЕСТРУКТИВНО для работающих сервисов. Создаёт тикет Remote Hands для дежурной смены дата-центра; статус и переписка — в тикете (ссылка придёт на email).

request_rh_rebootA

Заявка Remote Hands: перезагрузить сервер вручную (jira/request_reboot). Создаёт тикет Remote Hands для дежурной смены дата-центра; статус и переписка — в тикете (ссылка придёт на email).

request_rh_pxe_bootA

Заявка Remote Hands: загрузить сервер по PXE (jira/request_PXEboot). Нужна при переустановке ОС на серверах без модуля удалённого управления. Создаёт тикет Remote Hands для дежурной смены дата-центра; статус и переписка — в тикете (ссылка придёт на email).

request_rh_kvmA

Заявка Remote Hands: подключить IP KVM к серверу (jira/request_kvm). Создаёт тикет Remote Hands для дежурной смены дата-центра; статус и переписка — в тикете (ссылка придёт на email).

request_rh_checkA

Заявка Remote Hands: проверить сервер и загрузить его в ОС (jira/request_check). Создаёт тикет Remote Hands для дежурной смены дата-центра; статус и переписка — в тикете (ссылка придёт на email).

request_sales_assistanceB

Тикет в отдел продаж (jira/request_assistance): отмена или перенос услуги и подобные запросы. Опишите детали в message.

create_reinstall_taskA

Шаг 1 PXE-переустановки: создать мастер-ключ переустановки ОС (eq/reinstall). Возвращает reinstall_key, по которому check_task отслеживает стадии установки. ДЕСТРУКТИВНО: часть процесса, затирающего диски сервера.

create_pxe_configB

Шаг 2 PXE-переустановки: создать PXE-конфиг для установки ОС (eq/create_pxe). ДЕСТРУКТИВНО.

set_boot_deviceA

Установить порядок загрузки сервера (eq/boot_dev): pxe — сетевая загрузка (шаг 3 переустановки), disk — загрузка с диска (шаг 6), cd — смонтированный ISO.

clear_pxe_configA

Шаг 7 PXE-переустановки: удалить PXE-конфиг (eq/clear_pxe). ОБЯЗАТЕЛЬНО после завершения — иначе возможна внезапная переустановка при следующей перезагрузке.

list_iso_imagesA

Список доступных ISO-образов (iso/list_iso). Для клиентских ключей обязателен server_id — образы подбираются под конкретный сервер.

get_uploaded_isosB

Список ISO-образов, загруженных клиентом (iso/uploaded).

upload_isoC

Загрузить новый ISO-образ по URL (iso/upload). Доступно клиентам.

add_iso_imageB

Добавить новый ISO-образ или обновить существующий по имени (iso/add). Требует специального права 'add'.

mount_isoA

Смонтировать ISO-образ на сервер (iso/mount_iso). Асинхронная операция — вернётся callback-ключ для check_task. ID/имя образа возьмите из list_iso_images или get_uploaded_isos.

unmount_isoA

Размонтировать ISO-образ с сервера (iso/unmount_iso). Асинхронная операция — вернётся callback-ключ для check_task.

delete_iso_imageA

Удалить ISO-образ по ID (iso/delete). ДЕСТРУКТИВНО. По документации доступно только сотрудникам Hostkey — у клиентов, скорее всего, вернёт ошибку прав.

s3_list_plansB

Список доступных тарифных планов S3-хранилища (s3/list_plans).

s3_get_locationsA

Список доступных локаций для S3 (s3/get_available_locations).

s3_get_bucketsB

Список бакетов S3-аккаунта и статистика использования через AWS API (s3/get_buckets).

s3_get_buckets_via_queueA

Список бакетов, статистика и ключи доступа через очередь задач (s3/get_buckets_rmq). Может вернуть ключ задачи — тогда статус через check_task.

s3_get_filesB

Список файлов в бакете с пагинацией и поиском (s3/get_files).

s3_get_usersA

Список пользователей S3 с информацией о сервисе, трафике и использовании хранилища (s3/get_users). Полная фильтрация доступна администраторам.

s3_show_keyA

Получить расшифрованный ключ доступа S3 (s3/show_key). СЕКРЕТ: не логировать и не передавать третьим лицам.

s3_create_accountA

Создать S3-аккаунт: привязка тарифного плана и начального бакета (s3/create_account). Требует авторизации.

s3_create_bucketA

Создать новый бакет в существующем S3-аккаунте (s3/create_bucket).

s3_create_orderA

Создать платный заказ на S3-хранилище с привязкой к биллингу (s3/create_order). ДЕНЬГИ: создаёт реальный заказ/инвойс.

s3_delete_fileA

Удалить файл из бакета (s3/delete_file). ДЕСТРУКТИВНО: файл удаляется безвозвратно.

s3_delete_bucketA

Удалить бакет из S3-аккаунта (s3/delete_bucket). ДЕСТРУКТИВНО: все файлы бакета будут удалены.

s3_delete_accountA

Полностью удалить S3-аккаунт пользователя (s3/delete_account). ДЕСТРУКТИВНО: все бакеты и данные будут удалены. Требует HOSTKEY_ALLOW_DESTRUCTIVE=1.

s3_delete_payment_accountA

Инициировать удаление S3-аккаунта через отмену сервиса в биллинге (s3/delete_payment_account). ДЕСТРУКТИВНО: активному сервису будет установлена дата завершения. Требует HOSTKEY_ALLOW_DESTRUCTIVE=1.

s3_cancel_account_deletionA

Отменить процесс удаления S3-сервиса, инициированный через биллинг, и восстановить активный статус аккаунта (s3/cancel_payment_account_deletion).

s3_update_traffic_infoC

Обновить информацию о трафике S3-аккаунта (s3/update_traffic_info). Доступно только администраторам.

list_rhr_requestsA

Список заявок на удалённые работы с фильтрацией по локации и статусу (rhr/list).

create_rhr_requestA

Создать заявку на удалённые работы (rhr/add): работы дежурной смены в дата-центре, которые нельзя выполнить удалённо. Опишите работы максимально подробно в comment. Использовать, только если модуль удалённого управления сервером недоступен/не работает.

add_rhr_commentA

Добавить видимое клиенту сообщение в историю заявки (rhr/chat).

discard_rhr_requestA

Отменить/закрыть заявку на удалённые работы (rhr/discard). ДЕСТРУКТИВНО: заявка будет отменена.

get_billing_clientA

Данные клиента из биллинга (whmcs/get_client): контакты, валюта, статус аккаунта.

get_invoicesA

Полный список инвойсов аккаунта (whmcs/get_invoices).

get_invoiceB

Данные конкретного инвойса для оплаты (whmcs/get_invoice).

get_server_invoicesA

Инвойсы, относящиеся к конкретному серверу (whmcs/get_related_invoices).

get_server_billing_dataB

Платёжная информация по аренде сервера (whmcs/get_billing_data).

get_transactionsA

Список транзакций по аккаунту клиента (whmcs/transactions).

get_credit_historyB

Движение средств по лицевому счёту: начисления и списания кредитов (whmcs/getcredits).

get_payment_gatewayA

Способы оплаты конкретного инвойса (whmcs/getpaymentgw).

download_invoiceA

Скачать инвойс в PDF (whmcs/download_invoice). Ответ обычно содержит PDF в Base64 — сохраните и декодируйте при необходимости.

get_cancellation_requestsB

Список активных заявок на отмену услуг (whmcs/get_cancellation_requests).

get_contactsA

Список дополнительных контактов аккаунта (whmcs/get_contacts).

update_billing_clientB

Изменить данные клиента в биллинге (whmcs/update_client): ФИО, компания, адрес, email, телефон и т.д.

reset_billing_passwordA

Сбросить пароль аккаунта биллинга (whmcs/reset_password): на указанный email придёт ссылка для сброса. Email должен совпадать с email аккаунта.

add_contactA

Добавить дополнительный контакт в аккаунт (whmcs/add_contact). ВНИМАНИЕ: контакт создаётся со случайным email — его нужно поменять в Invapi.

update_contactA

Изменить дополнительный контакт (whmcs/update_contact): email, пароль, телефон. Указание телефона включает 2FA по SMS.

delete_contactA

Удалить дополнительный контакт аккаунта (whmcs/delete_contact). ДЕСТРУКТИВНО.

generate_due_invoiceC

Создать следующий инвойс для сервера (whmcs/generate_due_invoice).

create_addfunds_invoiceA

Создать инвойс на пополнение кредитного баланса (whmcs/create_addfunds). ДЕНЬГИ: создаёт реальный инвойс на указанную сумму.

apply_creditA

Оплатить инвойс полностью или частично с кредитного баланса (whmcs/apply_credit). ДЕНЬГИ: списывает средства со счёта.

mass_payB

Создать групповой инвойс для оплаты нескольких инвойсов разом (whmcs/mass_pay). ДЕНЬГИ.

request_cancellationA

Запросить отмену услуги (whmcs/request_cancellation). ДЕСТРУКТИВНО: cancellation_type=1 — немедленная отмена с частичным возвратом (если возможно), 0 — отмена в конце биллинг-периода. Требует HOSTKEY_ALLOW_DESTRUCTIVE=1.

delete_cancellation_requestB

Отозвать заявку на отмену услуги (whmcs/delete_cancellation_request).

check_taskA

Проверка статуса асинхронной операции по callback-ключу (eq_callback/check). Многие операции InvAPI (вкл/выкл питания, заказ, переустановка, снапшоты) возвращают {"result":"OK","callback":"<ключ>"}. Передайте этот ключ сюда, чтобы узнать статус: result="Not ready" — операция ещё идёт; result="OK" — завершена успешно (после этого ключ сгорает). Деплой сервера может занимать 10–30 минут.

power_onA

Включить сервер (eq/on). Асинхронная операция: в ответе будет callback-ключ для check_task.

power_offA

Выключить сервер (eq/off). ДЕСТРУКТИВНО: прерывает работу всех сервисов на сервере. Требует confirm=true. Асинхронная операция: в ответе будет callback-ключ для check_task.

reboot_serverA

Перезагрузить сервер (eq/reboot). Прерывает работу сервисов на время перезагрузки. Требует confirm=true. Асинхронная операция: в ответе будет callback-ключ для check_task.

order_serverA

Заказ instant- или stock-сервера (eq/order_instance). ВАЖНО: заказ списывает средства с кредитного баланса или выставляет инвойс. По умолчанию работает в режиме dry_run=true — только проверяет доступность пресета и ОС и возвращает сводку без создания заказа. Для реального заказа передайте dry_run=false и confirm=true после явного согласия пользователя на стоимость. Деплой занимает 10–30 минут, статус — через check_task.

reinstall_serverA

Переустановка ОС на существующем сервере (упрощённый путь через eq/order_instance с id). ДЕСТРУКТИВНО: все данные на дисках будут удалены. Требуется HOSTKEY_ALLOW_DESTRUCTIVE=1 в окружении сервера, confirm=true и повторный ввод текущего hostname сервера. Асинхронная операция: статус — через check_task.

call_api_rawA

Универсальный прямой вызов InvAPI по ресурсу и action, для ресурсов без типизированных инструментов (например: iso — библиотека ISO-образов, s3 — S3 Object Storage, rhr — Remote Hands новой версии; список действий смотрите в документации: https://hostkey.com/documentation/apidocs/). ВСЕГДА требует confirm=true; деструктивные/платные действия дополнительно требуют HOSTKEY_ALLOW_DESTRUCTIVE=1. Предпочитайте типизированные инструменты, если они есть для нужной операции.

Prompts

Interactive templates invoked by user choice

NameDescription
order_server_promptМастер заказа сервера Hostkey: локация → пресет → ОС → ПО → трафик-план → подтверждение стоимости → заказ.
reinstall_server_promptМастер переустановки ОС на сервере Hostkey с проверками и отслеживанием прогресса.
troubleshoot_server_promptДиагностика проблем с сервером Hostkey: питание, сенсоры, сеть — с рекомендациями.

Resources

Contextual data attached and managed by the client

NameDescription

No resources

TDQS

B3.2/5.0

Scored across 132 tools

Disambiguation3/5

Most tools have distinct verb_noun names and clear descriptions, but with 132 tools there are several closely related pairs (e.g., get_servers vs get_server, s3_get_buckets vs s3_get_buckets_via_queue, create_reinstall_task vs reinstall_server) that could cause misselection. The catch-all call_api_raw also overlaps with many typed tools, increasing ambiguity.

Naming Consistency4/5

The naming follows a consistent verb_noun pattern (get_, list_, create_, delete_, etc.) with domain prefixes like s3_, request_rh_, and pdns_. While there are minor deviations (e.g., port_on vs set_main_ip, or occasional camelCase like add_iso_image), the overall schema is predictable and readable.

Tool Count1/5

132 tools is an extreme count, far exceeding the 50+ threshold considered appropriate. Even for a comprehensive cloud provider API, this volume overwhelms an agent's tool-selection capability and significantly increases the chance of misselection. The server would benefit from consolidation or hierarchical grouping.

Completeness4/5

The tool surface covers CRUD and lifecycle operations across multiple domains: servers, network, DNS, S3, billing, and remote hands. Obvious gaps are rare (e.g., no direct server rename or tag edit tool, but these are edge cases). The presence of a raw API call tool also fills potential holes, so agents can accomplish most tasks.

Maintenance

ActivityMaintained
ResponsivenessNo issues