Hostkey Cloud

io.github.hostkey-cloudPublished by GitHub account hostkey-cloudv1.0.8Updated Oct 30, 2026

MCP server for Hostkey .com (InvAPI): servers, power, order, DNS, S3, billing

VerifiedStreamable HTTPWeb executableCloud & InfrastructureDeveloper Tools

Overview

AI-generated overview

Hostkey Cloud MCP server that lets an assistant inspect, order, power-manage and network-configure Hostkey dedicated and virtual servers via InvAPI.

What you can do
  • List and inspect account servers, hardware sensors, tags and power status
  • Browse the catalog: presets, stock servers, operating systems, software, traffic plans and pricing
  • Order servers, power on/off, reinstall the OS and run PXE tasks
  • Manage network: ports, IP blocking, PTR records, primary IP and DNS zones and domains
  • Handle snapshots, ISO images, S3 buckets, Remote Hands tickets and billing
  • Manage API keys and account info, plus a raw API call tool and task polling
When to use it
Useful when you manage Hostkey infrastructure and want an assistant to answer questions about your servers, check status and sensors, look up catalog pricing, or carry out routine operations such as power cycling, DNS edits or ordering a new server.
Requirements
Runs locally over stdio via npx (Node.js 22.18 or newer from source) or as a hosted remote endpoint with an Authorization bearer header. Requires a Hostkey InvAPI API key supplied as HOSTKEY_API_KEY or the Authorization header; DNS writes need the pdns/edit permission. Optional HOSTKEY_TOKEN_TTL and HOSTKEY_ALLOW_DESTRUCTIVE.
Before you install
The key grants access to your Hostkey account, so use a dedicated or per-server key. Write calls need confirm=true, and OS reinstall, PXE and service cancellation additionally require HOSTKEY_ALLOW_DESTRUCTIVE=1. Ordering spends money; order_server defaults to dry_run. Deleting an API key cuts off apps using it, and disabling a port or blocking an IP cuts connectivity. With the hosted endpoint your key is sent to a third-party service.

Installation

In SourceWeft

  1. Open Hostkey Cloud in the dashboard and add it to a workspace.
  2. Connect Authorization token credentials. They are stored privately and never shown on public pages.
  3. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/io.github.hostkey-cloud%2Fmcp-server/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "hostkey-cloud": {
      "type": "http",
      "url": "https://mcp.hostkey.com/mcp",
      "headers": {
        "Authorization": "Bearer <YOUR_TOKEN>"
      }
    }
  }
}

README

Hostkey MCP Server

MCP server for Hostkey (.com portal, InvAPI invapi.hostkey.com). Runs locally over stdio — Cursor, VS Code, and other MCP clients. Hosted remote: https://mcp.hostkey.com/mcp (cloud agents).

Endpointhttps://invapi.hostkey.com (hardcoded)
AuthHOSTKEY_API_KEY
Tools132 typed tools + call_api_raw

Gives the model access to your Hostkey account: servers, catalog and ordering, power, OS reinstall, network, DNS, snapshots, IPMI/console, ISO, S3, Remote Hands, billing, and API keys.

1. Get an API key

InvAPI → API keys → create a key.

Prefer a dedicated key for MCP. Per-server keys limit access to one server. DNS writes need the pdns/edit permission.

2. Install

Cursor

[Install in Cursor]

Click the button, replace YOUR_API_KEY with your InvAPI key, then confirm.

Or add to .cursor/mcp.json manually:

json
{  "mcpServers": {    "hostkey-mcp-server": {      "command": "npx",      "args": ["-y", "hostkey-mcp-server"],      "env": {        "HOSTKEY_API_KEY": "your-api-key"      }    }  }}

Remote (cloud agents)

No local Node/npx. Point the client at the hosted endpoint and send your InvAPI key:

json
{  "mcpServers": {    "hostkey": {      "url": "https://mcp.hostkey.com/mcp",      "headers": {        "Authorization": "Bearer your-api-key"      }    }  }}

VS Code

.vscode/mcp.json:

json
{  "servers": {    "hostkey-mcp-server": {      "command": "npx",      "args": ["-y", "hostkey-mcp-server"],      "env": {        "HOSTKEY_API_KEY": "your-api-key"      }    }  }}

Optional: HOSTKEY_TOKEN_TTL, HOSTKEY_HTTP_TIMEOUT, HOSTKEY_ALLOW_DESTRUCTIVE (see .env.example).

From source (Node.js ≥ 22.18): npm install && npm run build.

3. Confirming dangerous operations

Every write call needs confirm=true. Without it, nothing changes.

Also:

  • order_server defaults to dry_run — a real order only after explicit consent;
  • OS reinstall, PXE, and service cancellation require HOSTKEY_ALLOW_DESTRUCTIVE=1;
  • passwords and tokens are masked in responses.

Long jobs (deploy, reinstall) return a callback key — poll with check_task.

4. Tools

Groups (full list via tools/list):

GroupExamples
Serversget_servers, get_server, get_power_status
Cataloglist_presets, list_os, list_traffic_plans
Power & orderpower_on, power_off, order_server, reinstall_server
PXEcreate_reinstall_task → … → clear_pxe_config
Network / DNSports, PTR, zones and records
Snapshots, ISO, S3VM snapshots, images, buckets
Remote Handsduty-shift tickets (request_rh_*, rhr_*)
Billinginvoices, payments, contacts
Misccheck_task, call_api_raw

Prompts

PromptPurpose
order_server_promptguided server order
reinstall_server_promptOS reinstall
troubleshoot_server_promptdiagnostics

Or just ask: “list my servers” / “order a VPS in NL”.

Docs

Source: README.md at commit a50b3dd

Tools

132

get_servers

List Hostkey account servers with filters. Before the first call, automatically refreshes inventory (eq/update_servers). Returns server IDs and brief data; use get_server for the full card.

Parametersipmacgroupstatuslocation

get_server

Full server details by ID (eq/show): configuration, network, status, location.

Parametersidrequired

get_power_status

Current server power status (on/off).

Parametersidrequired

get_server_sensors

Hardware sensor readings (temperatures, voltages, fans). Bare-metal only.

Parametersidrequired

get_server_tags

All server tags (tags/list). Tags store arbitrary key-value pairs.

Parametersidrequired

search_servers_by_tag

Search servers by tag name or value (tags/search_user). Returns server IDs.

Parametersvaluerequired

list_presets

Current list of available instant servers (VM/BM/GPU/vGPU) with prices for a location. No token required. Use to pick a preset before ordering.

Parameterslocationrequired

search_presets

Search free servers matching a preset name (e.g. vm.pico). Requires auth.

Parametersnamerequiredscopelocationrequired

get_preset_pricing

Prices for available presets in given currencies (presets/info). No token required.

Parameterscurrencies

list_preset_groups

Preset groups for catalog categories (presets/groups). No token required.

Takes no parameters.

get_preset

Details for one preset or all presets (presets/show). May require auth depending on permissions.

Parametersid

list_stock_servers

Available stock servers (physical servers of standard configs; deploy within a business day). No token required.

Parametersgrouprequiredlocationrequired

get_stock_server

Details for a specific stock server (stocks/show).

Parametersidrequired

list_os

Operating systems available for a preset/server (os/list). Without instance_id returns OS for all presets. No token required.

Parametersinstance_id

list_software

Software (marketplace apps) available for auto-install (software/list). No token required.

Parameterslocationinstance_id

list_traffic_plans

Available traffic plans for a preset in a location (traffic_plans/list). No token required.

Parameterslocationrequiredinstance_idrequired

get_account_info

Current API token and account info (auth/info): available calls, account type and role, linked server IDs. Useful to verify the connection.

Takes no parameters.

logout

End the current API session (auth/logout): session token is removed from InvAPI. On the next call the client will sign in again with the API key.

Takes no parameters.

list_api_keys

List all account API keys (api_keys/list).

Takes no parameters.

list_server_api_keys

List API keys issued for a specific server (api_keys/list_for_server).

Parametersserver_idrequired

get_api_key

Details for a specific API key (api_keys/view).

Parametersidrequired

get_api_key_history

API key usage history for a period (api_keys/history).

Parametersidrequiredperiod_toperiod_from

create_api_key

Create a new API key for the account or a specific server (api_keys/add). The key value is shown once in the response — save it.

Parametersipnamerequiredactiverequiredconfirmrequiredserver_idlogin_notify_methodrequiredlogin_notify_address

update_api_key

Update API key settings (api_keys/edit): name, IP allowlist, notifications, active flag.

Parametersidrequiredipnamerequiredactiverequiredconfirmrequiredlogin_notify_methodrequiredlogin_notify_address

delete_api_key

Delete an API key (api_keys/delete). DESTRUCTIVE: apps using the key will lose access.

Parametersidrequiredconfirmrequired

get_network_status

Server network interface status (net/get_status): port, switch, VLAN, speed, MAC, link status. Optional port limits the query to one interface (useful when another NIC has no upstream_id).

Parametersidrequiredport

get_port_graphs

Port utilization graphs for a period (net/show_cacti): day/month/year.

Parametersidrequiredportrequiredgraphrequired

get_ip_info

Network interface information by IP address (ip/get_ip).

Parametersiprequired

get_ptr_record

Current PTR record (reverse DNS) for an IP address (ip/get_ptr).

Parametersidrequirediprequired

port_on

Enable a server network port (net/port_on).

Parametersidrequiredportrequiredconfirmrequired

port_off

Disable a server network port (net/port_off). DESTRUCTIVE: the server will lose network connectivity on this interface.

Parametersidrequiredportrequiredconfirmrequired

block_ip

Block an IP address on the server at the Hostkey network level (net/block_ip). Useful for abuse requests.

Parametersidrequirediprequiredconfirmrequiredfour_hoursdescriptionrequired

unblock_ip

Unblock an IP address on the server (net/unblock_ip).

Parametersidrequirediprequiredconfirmrequired

update_ptr_record

Update the PTR record for an IP address (ip/update_ptr). Multiple records are passed separated by %0A.

Parametersidrequirediprequiredptrrequiredconfirmrequired

set_main_ip

Set the primary IP address of the server (ip/set_main) when there are multiple addresses.

Parametersidrequirediprequiredmainrequiredconfirmrequired

list_dns_zones

List all DNS zones on the account on Hostkey PowerDNS servers (pdns/list_zones).

Takes no parameters.

get_dns_zone

DNS zone contents: all records (A, AAAA, CNAME, MX, TXT, etc.) from the authoritative server (pdns/view_zone).

Parameterszonerequired

list_dns_domains

List all user domains from the domains table (pdns/list_domains).

Takes no parameters.

list_dns_subdomains

List subdomains by server ID (pdns/list_subdomains).

Parametersserver_idrequired

add_dns_domain

Create a DNS zone and add a domain to the domains table (pdns/add_domain). Requires pdns/edit permission.

Parametersnamerequiredconfirmrequired

delete_dns_domain

Delete a domain by ID: DNS zone, the domain itself, and all its subdomains (pdns/delete_domain). DESTRUCTIVE. Requires pdns/edit permission.

Parametersconfirmrequireddomain_idrequiredserver_idrequired

add_dns_subdomain

Add a subdomain to the subdomains table (pdns/add_subdomain). Requires pdns/edit permission.

Parametersnamerequiredconfirmrequireddomain_idrequiredserver_idrequired

edit_dns_subdomain

Update a subdomain (pdns/edit_subdomain). Requires pdns/edit permission.

Parametersidrequiredconfirmrequiredserver_id

delete_dns_subdomain

Delete a subdomain from the subdomains table (pdns/delete_subdomain). DESTRUCTIVE. Requires pdns/edit permission.

Parametersidrequiredconfirmrequiredserver_idrequired

add_dns_zone

Create a DNS zone on the authoritative PowerDNS server (pdns/add_zone). Requires pdns/edit permission.

Parametersdnskindnamerequireddnssecrrsetsconfirmrequiredmastersnameservers

delete_dns_zone

Delete a DNS zone by name along with all records and metadata (pdns/delete_zone). DESTRUCTIVE. Requires pdns/edit permission.

Parameterszonerequiredconfirmrequired

add_dns_record

Add or update a DNS record in a zone (pdns/add_dns). Requires pdns/edit permission. For SRV records, fill in proto/priority/weight/port/target. Fields mname/rname are marked required for SOA checks in the docs — fill them in on error.

Parametersttlnameporttyperequiredzonerequiredmnameprotornametargetweightconfirmrequiredcontentrequired+3 more

delete_dns_record

Delete a DNS record from a zone (pdns/delete_dns). DESTRUCTIVE. Requires pdns/edit permission.

Parametersnamerequiredtyperequiredzonerequiredconfirmrequired

get_snapshots

List virtual machine snapshots (vm/get_snapshot): name, snapshot_id, date.

Parametersidrequired

get_vm_engine

Virtualization engine information (vm/get_engine).

Takes no parameters.

get_vm_stats

Virtual machine statistics (vm/load_stats).

Parametersidrequired

create_snapshot

Create a virtual machine snapshot (vm/create_snapshot). Async operation. Track with check_task.

Parametersidrequirednamerequiredconfirmrequired

remove_snapshot

Delete a snapshot (vm/remove_snapshot). DESTRUCTIVE: the snapshot is permanently deleted. Deletion is only possible on a powered-off VM.

Parametersidrequirednamerequiredconfirmrequired

restore_snapshot

Restore a VM from a snapshot (vm/restore_snapshot). DESTRUCTIVE: the current VM disk state will be overwritten with the snapshot state.

Parametersidrequirednamerequiredconfirmrequired

get_vnc_console

Access the server VNC console (eq/console): returns console.vv config in Base64 for virt-viewer.

Parametersidrequired

start_novnc

Start a NoVNC (HTML5) server console session (eq/novnc): returns a link to open in the browser.

Parametersidrequiredwhite_ip

list_post_install_tasks

Available post-install Ansible tasks (jenkins/get_tasks) with applicability tags: gpu, bm, vm, vgpu, default. Without a token — general list; with a token — tasks available to the specific user.

Takes no parameters.

run_post_install_task

Run a Jenkins/Ansible task on a server (jenkins/call): task ID or name from list_post_install_tasks + extra params. E.g. installing GPU drivers after OS reinstall.

Parametersidrequiredtaskrequiredparamsconfirmrequired

add_static_nat

Create a static DNAT to the server IPMI (nat/add_static_nat): public IP for classic IPMI access. Distinct from Secure IPMI Proxy in the panel — Proxy Active alone may not satisfy this call. Async; track with check_task. On server_ipmi_acl_required pass ip_acl.

Parametersidrequiredttlip_aclconfirmrequiredsecured

remove_static_nat

Remove static DNAT to the server IPMI (nat/remove_static_nat).

Parametersidrequiredconfirmrequired

clear_static_nat

Remove stale static NAT forwarding rules by internal IP (nat/clear_static_nat).

Parametersiprequiredconfirmrequired

drop_nat

Delete a NAT record from the database (nat/drop_nat). DESTRUCTIVE, internal/ops action.

Parametersidipconfirmrequired

add_ipmi_user

Create a temporary IPMI user for web access to IPMI (eq/add_ipmi_user).

Parametersidrequiredconfirmrequired

remove_ipmi_user

Remove a temporary IPMI user (eq/remove_ipmi_user).

Parametersidrequiredconfirmrequired

reset_ipmi

Reboot the server IPMI module (eq/unit_reset). Use when IPMI is unresponsive.

Parametersidrequiredconfirmrequired

request_rh_power_on

Remote Hands request: power on the server manually (jira/request_pon). Creates a Remote Hands ticket for the datacenter on-call shift; status and correspondence are in the ticket (link will be emailed).

Parametersidrequiredconfirmrequired

request_rh_power_off

Remote Hands request: power off the server manually (jira/request_poff). DESTRUCTIVE for running services. Creates a Remote Hands ticket for the datacenter on-call shift; status and correspondence are in the ticket (link will be emailed).

Parametersidrequiredconfirmrequired

request_rh_reboot

Remote Hands request: reboot the server manually (jira/request_reboot). Creates a Remote Hands ticket for the datacenter on-call shift; status and correspondence are in the ticket (link will be emailed).

Parametersidrequiredconfirmrequired

request_rh_pxe_boot

Remote Hands request: boot the server via PXE (jira/request_PXEboot). Needed when reinstalling OS on servers without a remote management module. Creates a Remote Hands ticket for the datacenter on-call shift; status and correspondence are in the ticket (link will be emailed).

Parametersidrequiredconfirmrequired

request_rh_kvm

Remote Hands request: attach IP KVM to the server (jira/request_kvm). Creates a Remote Hands ticket for the datacenter on-call shift; status and correspondence are in the ticket (link will be emailed).

Parametersidrequiredconfirmrequired

request_rh_check

Remote Hands request: check the server and boot it into the OS (jira/request_check). Creates a Remote Hands ticket for the datacenter on-call shift; status and correspondence are in the ticket (link will be emailed).

Parametersidrequiredconfirmrequired

request_sales_assistance

Ticket to the sales department (jira/request_assistance): cancellation or transfer of a service and similar requests. Describe details in message.

Parametersidconfirmrequiredmessagerequiredsubject

create_reinstall_task

PXE reinstall step 1: create an OS reinstall master key (eq/reinstall). Returns reinstall_key used by check_task to track install stages. DESTRUCTIVE: part of the process that wipes server disks.

Parametersidrequiredconfirmrequired

create_pxe_config

PXE reinstall step 2: create a PXE config for OS install (eq/create_pxe). DESTRUCTIVE.

Parametersidrequiredos_idrequiredconfirmrequiredssh_keyhostnamerequiredroot_passrequiredreinstall_keypost_install_scriptpost_install_callback

set_boot_device

Set server boot order (eq/boot_dev): pxe — network boot (reinstall step 3), disk — boot from disk (step 6), cd — mounted ISO.

Parametersidrequiredmediarequiredconfirmrequired

clear_pxe_config

PXE reinstall step 7: remove the PXE config (eq/clear_pxe). REQUIRED after completion — otherwise an unexpected reinstall may occur on the next reboot.

Parametersidrequiredconfirmrequiredhostnamerequired

list_iso_images

List available ISO images (iso/list_iso). InvAPI requires a server id (for client keys); images are matched to the server configuration.

Parametersidrequired

get_uploaded_isos

List ISO images uploaded by the client (iso/uploaded).

Takes no parameters.

upload_iso

Upload a new ISO image by URL (iso/upload). Available to clients.

Parametersurlrequirednameconfirmrequired

add_iso_image

Add a new ISO image or update an existing one by name (iso/add). Requires special 'add' permission.

Parametersurlnamerequiredconfirmrequired

mount_iso

Mount an ISO image on a server (iso/mount_iso). Async operation. Callback key returned — track with check_task. InvAPI expects `iso` (name or id). Pass iso, or name / iso_id aliases.

Parametersidrequiredisonameiso_idconfirmrequired

unmount_iso

Unmount an ISO image from a server (iso/unmount_iso). Async operation. Callback key returned — track with check_task.

Parametersidrequiredconfirmrequired

delete_iso_image

Delete an ISO image by ID (iso/delete). DESTRUCTIVE. Per docs, available only to Hostkey staff — clients will likely get a permission error.

Parametersidrequiredconfirmrequired

s3_list_plans

List available S3 storage plans (s3/list_plans).

Parameterslocation

s3_get_locations

List available locations for S3 (s3/get_available_locations).

Takes no parameters.

s3_get_buckets

List S3 account buckets and usage (s3/get_buckets_rmq). Pass s3uid or account_id from s3_get_users. May return a task key — then track with check_task.

Parameterss3uidaccount_id

s3_get_buckets_via_queue

Same as s3_get_buckets: list buckets via s3/get_buckets_rmq. Prefer s3_get_buckets.

Parameterss3uidaccount_id

s3_get_files

List files in a bucket with pagination and search (s3/get_files).

Parameterspagelimits3uidbucketrequiredsearchaccount_id

s3_get_users

List S3 users with service, traffic, and storage usage info (s3/get_users). Full filtering is available to administrators. Use returned s3uid/id with s3_get_buckets.

Parameterslocation

s3_show_key

Get a decrypted S3 access key (s3/show_key). SECRET: do not log or share with third parties.

Parameterss3uidkey_typerequiredaccount_id

s3_create_account

Create an S3 account: bind a plan and initial bucket (s3/create_account). Requires authentication.

Parametersbucketconfirmrequiredplan_idlocation

s3_create_bucket

Create a new bucket in an existing S3 account (s3/create_bucket).

Parameterss3uidbucketrequiredconfirmrequiredaccount_id

s3_create_order

Create a paid S3 storage order linked to billing (s3/create_order). MONEY: creates a real order/invoice.

Parametersconfirmrequiredplan_idlocation

s3_delete_file

Delete a file from a bucket (s3/delete_file). DESTRUCTIVE: the file is permanently deleted.

Parametersfilerequireds3uidbucketrequiredconfirmrequiredaccount_id

s3_delete_bucket

Delete a bucket from an S3 account (s3/delete_bucket). DESTRUCTIVE: all files in the bucket will be deleted.

Parameterss3uidbucketrequiredconfirmrequiredaccount_id

s3_delete_account

Fully delete a user's S3 account (s3/delete_account). DESTRUCTIVE: all buckets and data will be deleted. Requires HOSTKEY_ALLOW_DESTRUCTIVE=1.

Parameterss3uidconfirmrequiredaccount_id

s3_delete_payment_account

Initiate S3 account deletion via service cancellation in billing (s3/delete_payment_account). DESTRUCTIVE: an end date will be set on the active service. Requires HOSTKEY_ALLOW_DESTRUCTIVE=1.

Parameterss3uidconfirmrequiredaccount_id

s3_cancel_account_deletion

Cancel S3 service deletion initiated via billing and restore the account to active status (s3/cancel_payment_account_deletion).

Parameterss3uidconfirmrequiredaccount_id

s3_update_traffic_info

Update S3 account traffic information (s3/update_traffic_info). Available to administrators only.

Parameterss3uidconfirmrequiredaccount_id

list_rhr_requests

List Remote Hands requests with filtering by location and status (rhr/list).

Parametersstatuslocation

create_rhr_request

Create a Remote Hands request (rhr/add): on-site datacenter shift work that cannot be done remotely. Describe the work in as much detail as possible in comment. Use only if the remote server management module is unavailable/not working.

Parametersidrequiredcommentrequiredconfirmrequiredrequest_type

add_rhr_comment

Add a client-visible message to the request history (rhr/chat).

Parametersidrequiredconfirmrequiredmessagerequired

discard_rhr_request

Cancel/close a Remote Hands request (rhr/discard). DESTRUCTIVE: the request will be cancelled.

Parametersidrequiredconfirmrequired

get_billing_client

Client data from billing (whmcs/get_client): contacts, currency, account status.

Takes no parameters.

get_invoices

Full list of account invoices (whmcs/get_invoices).

Takes no parameters.

get_invoice

Data for a specific invoice for payment (whmcs/get_invoice).

Parametersinvoice_idrequired

get_server_invoices

Invoices related to a specific server (whmcs/get_related_invoices).

Parametersidrequired

get_server_billing_data

Billing information for a server rental (whmcs/get_billing_data).

Parametersidrequired

get_transactions

List of transactions for the client account (whmcs/transactions).

Parametersinvoice_idtransaction_id

get_credit_history

Credit balance movement: credit additions and deductions (whmcs/getcredits).

Parametersidrequired

get_payment_gateway

Payment methods for a specific invoice (whmcs/getpaymentgw).

Parametersinvoice_idrequired

download_invoice

Download an invoice as PDF (whmcs/download_invoice). InvAPI returns binary PDF; MCP returns JSON with encoding=base64 and data — decode to a .pdf file.

Parametersinvoice_idrequired

get_cancellation_requests

List of active service cancellation requests (whmcs/get_cancellation_requests).

Parametersid

get_contacts

List of additional account contacts (whmcs/get_contacts).

Takes no parameters.

update_billing_client

Update client data in billing (whmcs/update_client): name, company, address, email, phone, etc.

Parametersconfirmrequiredbilling_citybilling_emailbilling_statebilling_countrybilling_address1billing_address2billing_lastnamebilling_postcodebilling_firstnamebilling_companynamebilling_phonenumber

reset_billing_password

Reset the billing account password (whmcs/reset_password): a reset link is sent to the given email. Email must match the account email.

Parametersemailrequiredconfirmrequired

add_contact

Add an additional contact to the account (whmcs/add_contact). WARNING: the contact is created with a random email — change it in Invapi.

Parametersconfirmrequired

update_contact

Update an additional contact (whmcs/update_contact): email, password, phone. Providing a phone enables SMS 2FA.

Parametersemailrequiredconfirmrequiredpassword2contact_idrequiredphonenumber

delete_contact

Delete an additional account contact (whmcs/delete_contact). DESTRUCTIVE.

Parametersconfirmrequiredcontact_idrequired

generate_due_invoice

Create the next invoice for a server (whmcs/generate_due_invoice).

Parametersidrequiredconfirmrequired

create_addfunds_invoice

Create an invoice to top up the credit balance (whmcs/create_addfunds). MONEY: creates a real invoice for the given amount.

Parametersamountrequiredconfirmrequired

apply_credit

Pay an invoice in full or in part from the credit balance (whmcs/apply_credit). MONEY: deducts funds from the account.

Parametersamountrequiredconfirmrequiredinvoice_idrequired

mass_pay

Create a group invoice to pay multiple invoices at once (whmcs/mass_pay). MONEY.

Parametersconfirmrequiredinvoicesrequired

request_cancellation

Request service cancellation (whmcs/request_cancellation). DESTRUCTIVE: cancellation_type=1 — immediate cancel with partial refund (if possible), 0 — cancel at end of billing period. Requires HOSTKEY_ALLOW_DESTRUCTIVE=1.

Parametersidrequiredconfirmrequiredcancellation_typerequiredterminate_reason_custom

delete_cancellation_request

Withdraw a service cancellation request (whmcs/delete_cancellation_request).

Parametersidrequiredconfirmrequired

check_task

Check async job status by callback key (eq_callback/check). Many InvAPI operations (power on/off, order, reinstall, snapshots) return {"result":"OK","callback":"<key>"}. Pass that key here: result="Not ready" — still running; result="OK" — finished (key then expires). Server deploy can take 10–30 minutes. If the client sent progressToken, emits notifications/progress.

Parameterskeyrequired

power_on

Power on a server (eq/on). Async: response includes a callback key for check_task.

Parametersidrequiredconfirmrequired

power_off

Power off a server (eq/off). DESTRUCTIVE: interrupts all services on the server. Requires confirm=true. Async: response includes a callback key for check_task.

Parametersidrequiredconfirmrequired

reboot_server

Reboot a server (eq/reboot). Interrupts services during reboot. Requires confirm=true. Async: response includes a callback key for check_task.

Parametersidrequiredconfirmrequired

order_server

Order an instant or stock server (eq/order_instance). IMPORTANT: ordering charges the credit balance or creates an invoice. Defaults to dry_run=true — only checks preset/OS availability and returns a summary without placing an order. For a real order pass dry_run=false and confirm=true after explicit user consent on the cost. Deploy takes 10–30 minutes; status via check_task.

Parametersos_idrequiredown_ospresetrequiredconfirmdry_runsoft_idssh_keyhostnamepromocoderoot_passrequiredtraffic_planrequireddeploy_notify+4 more

reinstall_server

Reinstall OS on an existing server (simplified path via eq/order_instance with id). DESTRUCTIVE: all disk data will be erased. Requires HOSTKEY_ALLOW_DESTRUCTIVE=1 in the server environment, confirm=true, and re-entering the server's current hostname. Async: status via check_task.

Parametersidrequiredos_idrequiredown_osconfirmrequiredsoft_idssh_keyhostnamerequiredroot_passrequireddeploy_notifypost_install_script

call_api_raw

Universal direct InvAPI call by resource and action, for resources without typed tools (e.g.: iso — ISO image library, s3 — S3 Object Storage, rhr — Remote Hands new version; see action list in the docs: https://hostkey.com/documentation/apidocs/). ALWAYS requires confirm=true; destructive/paid actions additionally require HOSTKEY_ALLOW_DESTRUCTIVE=1. Prefer typed tools when they exist for the needed operation.

Parametersauthactionrequiredparamsconfirmrequiredresourcerequired

Version history

6
  1. v1.0.8LatestOct 23, 2026
  2. v1.0.7Oct 21, 2026
  3. v1.0.4Oct 16, 2026
  4. v1.0.3Oct 14, 2026
  5. v1.0.2Sep 23, 2026
  6. v1.0.1Sep 16, 2026

Score

100% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listed15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts