io.github.hostkey-cloud/mcp-server
MCP server for Hostkey .com (InvAPI): servers, power, order, DNS, S3, billing
Install
Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).
claude mcp add --transport http io-github-hostkey-cloud-mcp-server 'https://mcp.hostkey.com/mcp' --header 'Authorization: <Bearer <InvAPI API key> for the .com portal (invapi.hostkey.com)>'
{
"mcpServers": {
"io-github-hostkey-cloud-mcp-server": {
"type": "http",
"url": "https://mcp.hostkey.com/mcp",
"headers": {
"Authorization": "<Bearer <InvAPI API key> for the .com portal (invapi.hostkey.com)>"
}
}
}
}
hostkey-mcp-serverclaude mcp add io-github-hostkey-cloud-mcp-server -e 'HOSTKEY_API_KEY=<your hostkey_api_key>' -e 'HOSTKEY_TOKEN_TTL=<HOSTKEY_TOKEN_TTL>' -e 'HOSTKEY_ALLOW_DESTRUCTIVE=<HOSTKEY_ALLOW_DESTRUCTIVE>' -- npx -y hostkey-mcp-server@1.0.8
{
"mcpServers": {
"io-github-hostkey-cloud-mcp-server": {
"command": "npx",
"args": [
"-y",
"hostkey-mcp-server@1.0.8"
],
"env": {
"HOSTKEY_API_KEY": "<your hostkey_api_key>",
"HOSTKEY_TOKEN_TTL": "<HOSTKEY_TOKEN_TTL>",
"HOSTKEY_ALLOW_DESTRUCTIVE": "<HOSTKEY_ALLOW_DESTRUCTIVE>"
}
}
}
}
Environment variables
HOSTKEY_API_KEYrequired secret InvAPI API key for the .com portal (invapi.hostkey.com); per-server keys supportedHOSTKEY_TOKEN_TTLSession token TTL in seconds (default 3600)HOSTKEY_ALLOW_DESTRUCTIVESet to 1 to allow destructive operations (OS reinstall, PXE cycle, service cancellation)
Documentation
From the project's README on GitHub, refreshed weekly. Links open on GitHub.
Contents
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).
| Endpoint | https://invapi.hostkey.com (hardcoded) |
| Auth | HOSTKEY_API_KEY |
| Tools | 132 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
Click the button, replace YOUR_API_KEY with your InvAPI key, then confirm.
Or add to .cursor/mcp.json manually:
{
"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:
{
"mcpServers": {
"hostkey": {
"url": "https://mcp.hostkey.com/mcp",
"headers": {
"Authorization": "Bearer your-api-key"
}
}
}
}
VS Code
.vscode/mcp.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_serverdefaults todry_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):
| Group | Examples |
|---|---|
| Servers | get_servers, get_server, get_power_status |
| Catalog | list_presets, list_os, list_traffic_plans |
| Power & order | power_on, power_off, order_server, reinstall_server |
| PXE | create_reinstall_task → … → clear_pxe_config |
| Network / DNS | ports, PTR, zones and records |
| Snapshots, ISO, S3 | VM snapshots, images, buckets |
| Remote Hands | duty-shift tickets (request_rh_*, rhr_*) |
| Billing | invoices, payments, contacts |
| Misc | check_task, call_api_raw |
Prompts
| Prompt | Purpose |
|---|---|
order_server_prompt | guided server order |
reinstall_server_prompt | OS reinstall |
troubleshoot_server_prompt | diagnostics |
Or just ask: “list my servers” / “order a VPS in NL”.
Docs
Frequently asked questions
What is io.github.hostkey-cloud/mcp-server?
MCP server for Hostkey .com (InvAPI): servers, power, order, DNS, S3, billing
How do I install io.github.hostkey-cloud/mcp-server?
It runs as a remote server. In Claude Code: claude mcp add --transport http io-github-hostkey-cloud-mcp-server 'https://mcp.hostkey.com/mcp' --header 'Authorization: <Bearer <InvAPI API key> for the .com portal (invapi.hostkey.com)>'. For other clients, paste the JSON configuration from this page into their MCP settings.
Does io.github.hostkey-cloud/mcp-server need an API key?
Yes. It expects HOSTKEY_API_KEY, Authorization, which you set in its configuration.
Is io.github.hostkey-cloud/mcp-server open source?
Yes. Its code is on GitHub under the MIT license.
Who maintains io.github.hostkey-cloud/mcp-server?
It is published by hostkey-cloud. AI.tn lists it but does not maintain or endorse it.
From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.