Skip to main content
Glama

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
HOSTKEY_API_KEYYesYour Hostkey API key. Get one from InvAPI (https://invapi.hostkey.com) → API keys → create a key.
HOSTKEY_TOKEN_TTLNoOptional: token TTL setting (see .env.example).
HOSTKEY_HTTP_TIMEOUTNoOptional: HTTP timeout setting (see .env.example).
HOSTKEY_ALLOW_DESTRUCTIVENoOptional: set to '1' to allow 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_keyA

Изменить параметры 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_onA

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

port_offA

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

block_ipB

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

unblock_ipA

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

update_ptr_recordB

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

set_main_ipA

Назначить основной 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_natB

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

drop_natB

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

add_ipmi_userA

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

remove_ipmi_userB

Удалить временного 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_rebootB

Заявка 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_assistanceA

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

create_reinstall_taskA

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

create_pxe_configA

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

set_boot_deviceB

Установить порядок загрузки сервера (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_isoB

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

add_iso_imageA

Добавить новый 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_accountB

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

s3_create_bucketB

Создать новый бакет в существующем 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_infoB

Обновить информацию о трафике 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_clientC

Изменить данные клиента в биллинге (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_payC

Создать групповой инвойс для оплаты нескольких инвойсов разом (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

Many tools are distinct, but there are overlapping concepts like DNS zones vs. domains, and multiple tools for listing buckets (s3_get_buckets vs s3_get_buckets_via_queue). The sheer volume (132) increases the chance of misselection despite clear descriptions.

Naming Consistency4/5

Most tools follow a verb_noun pattern (e.g., get_invoice, create_api_key, delete_dns_record). However, there are inconsistencies like 'logout', 'port_on/off' vs 'power_on/off', and some tools use different verb forms (list vs get, create vs add) for similar operations.

Tool Count1/5

132 tools is extreme and overwhelming for an MCP server. Even a comprehensive hosting API would be better split into multiple focused servers. The count far exceeds practical usability and increases cognitive load for agents.

Completeness4/5

The tool surface covers a wide range of domains: server management, billing, DNS, S3, remote hands, and API key management. There is a raw API call tool for gaps, making the coverage quite comprehensive. Minor gaps exist (e.g., no direct server hostname update tool), but they are addressable.

Maintenance

ActivityMaintained
ResponsivenessNo issues