Allows an AI client to manage Hostkey cloud infrastructure, including servers, DNS, S3 storage, billing, and network configurations.
Also known as hostkey-cloud/mcp-server, hostkey-mcp-server
- Stars
- 1
- Tools
- —
- Downloads, 30 days
- —
- Latest version
- 1.0.8
- Last commit
- Oct 23, 2026
- License
- MIT
What is Hostkey MCP?
Hostkey allows an AI client to manage Hostkey cloud infrastructure, including servers, DNS, S3 storage, billing, and network configurations.
Summary generated from the project's README
About Hostkey MCP server
Managing Hostkey cloud infrastructure through an AI client allows developers to control servers, DNS, S3 storage, and billing directly from their coding environment. This server connects to the InvAPI endpoint and provides 132 typed tools alongside a raw API call function. It can be run locally via stdio using npx for clients like Cursor and VS Code, or connected to remote cloud agents through a hosted endpoint.
Users must provide a HOSTKEY_API_KEY to authenticate. The system includes safety measures for sensitive actions, requiring a confirm parameter for write calls and an optional environment variable to permit destructive operations like OS reinstalls or service cancellations. For long-running processes such as deployments, the server provides a callback key that can be monitored using the check_task tool. The interface covers everything from power management and network configurations to requesting remote hands support and viewing invoices.
What you can do with it
- 1Provisioning new cloud hardwareAsk the AI to order a new VPS in a specific location.
- 2Automating operating system updatesRequest a complete OS reinstallation on an existing server.
- 3Configuring network and DNS recordsUpdate DNS zones and records or manage network ports.
Written from the project's README. Every use case is checked against a quote from it.
How to install Hostkey MCP
Formats verified 10 Nov 2026Add to CursorAdd to GooseInstall Hostkey MCP in Claude Code
$ claude mcp add --env 'HOSTKEY_API_KEY=<YOUR_HOSTKEY_API_KEY>' mcp-server -- npx -y hostkey-mcp-serverInstall Hostkey MCP in Cursor
~/.cursor/mcp.json
{
"mcpServers": {
"mcp-server": {
"command": "npx",
"args": [
"-y",
"hostkey-mcp-server"
],
"env": {
"HOSTKEY_API_KEY": "<YOUR_HOSTKEY_API_KEY>"
}
}
}
}Install Hostkey MCP in VS Code
.vscode/mcp.json
{
"servers": {
"mcp-server": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"hostkey-mcp-server"
],
"env": {
"HOSTKEY_API_KEY": "<YOUR_HOSTKEY_API_KEY>"
}
}
}
}Install Hostkey MCP in VS Code CLI
$ code --add-mcp '{"name":"mcp-server","type":"stdio","command":"npx","args":["-y","hostkey-mcp-server"],"env":{"HOSTKEY_API_KEY":"<YOUR_HOSTKEY_API_KEY>"}}'Install Hostkey MCP in Claude Desktop
claude_desktop_config.json
{
"mcpServers": {
"mcp-server": {
"command": "npx",
"args": [
"-y",
"hostkey-mcp-server"
],
"env": {
"HOSTKEY_API_KEY": "<YOUR_HOSTKEY_API_KEY>"
}
}
}
}Install Hostkey MCP in Codex
$ codex mcp add mcp-server --env 'HOSTKEY_API_KEY=<YOUR_HOSTKEY_API_KEY>' -- npx -y hostkey-mcp-serverInstall Hostkey MCP in Codex config.toml
~/.codex/config.toml
[mcp_servers.mcp-server] command = "npx" args = ["-y", "hostkey-mcp-server"] [mcp_servers.mcp-server.env] HOSTKEY_API_KEY = "<YOUR_HOSTKEY_API_KEY>"
Install Hostkey MCP in Gemini CLI
$ gemini mcp add -s user -e 'HOSTKEY_API_KEY=<YOUR_HOSTKEY_API_KEY>' mcp-server npx -- -y hostkey-mcp-serverInstall Hostkey MCP in Gemini settings.json
~/.gemini/settings.json
{
"mcpServers": {
"mcp-server": {
"command": "npx",
"args": [
"-y",
"hostkey-mcp-server"
],
"env": {
"HOSTKEY_API_KEY": "<YOUR_HOSTKEY_API_KEY>"
}
}
}
}Configuration
HOSTKEY_API_KEYRequiredSecretInvAPI API key for the .com portal (invapi.hostkey.com); per-server keys supported
HOSTKEY_ALLOW_DESTRUCTIVESet to 1 to allow destructive operations (OS reinstall, PXE cycle, service cancellation)
HOSTKEY_TOKEN_TTLSession token TTL in seconds (default 3600)
| Name | Description | |
|---|---|---|
| HOSTKEY_API_KEY | InvAPI API key for the .com portal (invapi.hostkey.com); per-server keys supported | RequiredSecret |
| HOSTKEY_ALLOW_DESTRUCTIVE | Set to 1 to allow destructive operations (OS reinstall, PXE cycle, service cancellation) | |
| HOSTKEY_TOKEN_TTL | Session token TTL in seconds (default 3600) |
Automated checks
Ran Nov 13, 2026Full report →Passed our automated checks. That is not a security audit: read the code and give the server the narrowest access it needs. How checks work
- Source repository linked and reachablePass
- Open source license (OSI)Pass
- Commit or release in the last yearPass
- Package name not close to a popular packagePass
- Remote endpoint uses HTTPSPass
- Destructive tools are labelledNot checked
- No hidden instructions to the modelPass
- No critical advisory in the package or its dependenciesPass
README
View on GitHubHostkey 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
Hostkey MCP questions
How do I add Hostkey MCP to Claude Code?
Run claude mcp add --env 'HOSTKEY_API_KEY=<YOUR_HOSTKEY_API_KEY>' mcp-server -- npx -y hostkey-mcp-server in your terminal. Add --scope user to make it available in every project.
How do I add Hostkey MCP to Cursor?
Open ~/.cursor/mcp.json and add the server under mcpServers, using the Cursor config shown in the install section above.
How can I prevent accidental changes during server operations?
Every write call requires confirm=true to execute, and the order_server tool defaults to a dry run unless explicit consent is given.
What permissions are needed for DNS modifications?
To perform DNS writes, your API key must have the pdns/edit permission.
How do I handle long-running tasks like server deployment?
Long jobs return a callback key which you can use to poll the status with the check_task tool.