Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Description from the maker (original English)
Servers, volumes, networks, firewalls, load balancers, pricing and safe power operations.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Works in Claude on the web, desktop and mobile:
https://hetzner-cloud.usefulapi.io/mcpRun this in your terminal
claude mcp add --transport http hetzner-cloud https://hetzner-cloud.usefulapi.io/mcpPaste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"hetzner-cloud": {
"url": "https://hetzner-cloud.usefulapi.io/mcp"
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"hetzner-cloud": {
"type": "http",
"url": "https://hetzner-cloud.usefulapi.io/mcp"
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
ChatGPT connects only to servers on the internet:
https://hetzner-cloud.usefulapi.io/mcpMenu names can differ slightly by plan and over time.
Your choice stays on this device in a cookie; no account needed.
These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Tool names and descriptions exactly as the server reported them on Nov 6, 2026. The maker wrote them, not us; we show them as plain text.
hetzner_list_serversList the servers in the token's project, optionally filtered by name, status or a label selector. Hetzner Cloud: GET /servers.
hetzner_get_serverFetch a single server with its type, image, IPs, volumes, networks and protection flags. Hetzner Cloud: GET /servers/{id}.
hetzner_get_server_metricsFetch CPU, disk or network time series for one server over a window. Hetzner Cloud: GET /servers/{id}/metrics.
hetzner_list_server_typesList the available server types with their cores, memory, disk and hourly and monthly prices — read this before creating a server. Hetzner Cloud: GET /server_types.
hetzner_list_imagesList OS images, snapshots and backups you can boot or restore from. Hetzner Cloud: GET /images.
hetzner_list_locationsList the datacentre locations (city, country, network zone) servers can run in. Hetzner Cloud: GET /locations.
hetzner_get_pricingFetch the full price list for the project's currency — server types, volumes, traffic, floating IPs, load balancers and backups. Hetzner Cloud: GET /pricing.
hetzner_get_actionFetch the status of one asynchronous action. Every write tool here returns an action id — poll it with this to see whether the operation finished. Hetzner Cloud: GET /actions/{id}.
hetzner_list_volumesList block-storage volumes, their size and which server they are attached to. Hetzner Cloud: GET /volumes.
hetzner_get_volumesFetch a single resource by id. Hetzner Cloud: GET /volumes/{id}.
hetzner_list_networksList private networks, their IP ranges, subnets and routes. Hetzner Cloud: GET /networks.
hetzner_get_networksFetch a single resource by id. Hetzner Cloud: GET /networks/{id}.
hetzner_list_firewallsList firewalls, their rules and which resources they are applied to. Hetzner Cloud: GET /firewalls.
hetzner_get_firewallsFetch a single resource by id. Hetzner Cloud: GET /firewalls/{id}.
hetzner_list_load_balancersList load balancers, their services, targets and health status. Hetzner Cloud: GET /load_balancers.
hetzner_get_load_balancersFetch a single resource by id. Hetzner Cloud: GET /load_balancers/{id}.
hetzner_list_ssh_keysList the SSH public keys available to inject when creating a server. Hetzner Cloud: GET /ssh_keys.
hetzner_get_ssh_keysFetch a single resource by id. Hetzner Cloud: GET /ssh_keys/{id}.
hetzner_list_floating_ipsList floating IPs and which server each is assigned to. Hetzner Cloud: GET /floating_ips.
hetzner_get_floating_ipsFetch a single resource by id. Hetzner Cloud: GET /floating_ips/{id}.
hetzner_list_primary_ipsList primary IPs and their assignments. Hetzner Cloud: GET /primary_ips.
hetzner_get_primary_ipsFetch a single resource by id. Hetzner Cloud: GET /primary_ips/{id}.
hetzner_list_certificatesList TLS certificates, managed or uploaded, and their expiry. Hetzner Cloud: GET /certificates.
hetzner_get_certificatesFetch a single resource by id. Hetzner Cloud: GET /certificates/{id}.
hetzner_create_serverProvision a new server. THIS STARTS BILLING: the chosen server type is charged by the hour from the moment it boots. Call hetzner_list_server_types first to see prices, and hetzner_list_images for a bootable image. Hetzner Cloud: POST /servers.
hetzner_poweron_serverPower on a stopped server. Returns an action id — poll it with hetzner_get_action. Hetzner Cloud: POST /servers/{id}/actions/poweron.
hetzner_shutdown_serverAsk the guest OS to shut down gracefully via ACPI. Prefer this over a hard power-off. Note that a stopped server still costs money — only deleting it stops the bill. Hetzner Cloud: POST /servers/{id}/actions/shutdown.
hetzner_reboot_serverReboot a server gracefully via ACPI. Hetzner Cloud: POST /servers/{id}/actions/reboot.
hetzner_create_image_from_serverCreate a snapshot image from a server's disk — the safe thing to do BEFORE a risky change. Snapshots are billed for the space they use. Hetzner Cloud: POST /servers/{id}/actions/create_image.
hetzner_enable_server_backupTurn on automatic backups for a server. This adds roughly 20% to the server's price. Hetzner Cloud: POST /servers/{id}/actions/enable_backup.
hetzner_disable_server_backupTurn off automatic backups for a server. Existing backups are DELETED. Hetzner Cloud: POST /servers/{id}/actions/disable_backup.
hetzner_change_server_protectionTurn deletion and rebuild protection on or off for a server. Turning protection ON is the safest write in this server. Hetzner Cloud: POST /servers/{id}/actions/change_protection.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 6, 2026
The registry name was verified against the domain usefulapi.io (the registry checks domain ownership)
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
Responded in 10 ms (HTTP 200)
No sign-in needed
Read 32 tool descriptions and found no hidden instructions to the AI
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 3 of 3 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
The registry does not list a required key, though some servers ask you to sign in on first use.
It runs in the maker’s cloud. Connect over the internet with nothing to install, but what you send passes through the maker’s servers.
The GitHub repo last changed –, and the latest version (1.35.3) reached the registry yesterday.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. It connects by URL, so apps that accept remote MCP servers work too, such as ChatGPT in developer mode.
In the same category: Spec Driven Development, Remote Desktop Commander, LickityClick
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Create, edit and track LickityClick short links, campaigns and click stats from your AI assistant.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
Servers, volumes, networks, firewalls, load balancers, pricing and safe power operations. Hosted, no local install.
Live endpoint: https://hetzner-cloud.usefulapi.io/mcp · Homepage: https://usefulapi.io
https://hetzner-cloud.usefulapi.io/mcp.claude mcp add --transport http hetzner-cloud https://hetzner-cloud.usefulapi.io/mcp, then run /mcp to log in.{
"mcpServers": { "hetzner-cloud": { "url": "https://hetzner-cloud.usefulapi.io/mcp" } } }
Add only the URL. Do not add an Authorization header or an API key to the client config: the server signs you in with OAuth, and the login page asks for your Hetzner Cloud credentials.
Step-by-step setup, where to find your credentials, and FAQ: https://usefulapi.io/hetzner-cloud/
On first connect you'll paste your Hetzner Cloud credentials. They are validated, stored per-user, and scoped to you — no keys in config files.
| Tool | Type | What it does |
|---|---|---|
hetzner_list_servers | read | List servers |
hetzner_get_server | read | Get one server |
hetzner_get_server_metrics | read | Get server metrics |
hetzner_list_server_types | read | List server types |
hetzner_list_images | read | List images |
hetzner_list_locations | read | List locations |
hetzner_get_pricing | read | Get pricing |
hetzner_get_action | read | Get one action |
hetzner_list_volumes | read | List volumes |
hetzner_get_volumes | read | Get one volume |
hetzner_list_networks | read | List networks |
hetzner_get_networks | read | Get one network |
hetzner_list_firewalls | read | List firewalls |
hetzner_get_firewalls | read | Get one firewall |
hetzner_list_load_balancers | read | List load balancers |
hetzner_get_load_balancers | read | Get one load balancer |
hetzner_list_ssh_keys | read | List SSH keys |
hetzner_get_ssh_keys | read | Get one SSH key |
hetzner_list_floating_ips | read | List floating IPs |
hetzner_get_floating_ips | read | Get one floating IP |
hetzner_list_primary_ips | read | List primary IPs |
hetzner_get_primary_ips | read | Get one primary IP |
hetzner_list_certificates | read | List certificates |
hetzner_get_certificates | read | Get one certificate |
hetzner_create_server | write | Create a server |
hetzner_poweron_server | write | Power on a server |
hetzner_shutdown_server | write | Shut down a server |
hetzner_reboot_server | write | Reboot a server |
hetzner_create_image_from_server | write | Snapshot a server to an image |
hetzner_enable_server_backup | write | Enable server backups |
hetzner_disable_server_backup | write | Disable server backups |
hetzner_change_server_protection | write | Change a server's protection |
hetzner_cloud_usage_status | meta | Usage status (free-tier meter) |
hetzner_cloud_request_feature | meta | Request a missing feature |
hetzner_cloud_upgrade | meta | Upgrade to Pro or Pro+ |
hetzner_cloud_cancel_subscription | meta | Cancel the Pro subscription |
read tools are read-only; write tools mutate data (clients should confirm them); meta tools report usage, manage your subscription or send a feature request.
| Plan | Price | Limit |
|---|---|---|
| Free | $0 | 50 tool calls / month |
| Pro | $9/mo or $90/yr (2 months free) | Unlimited* |
\*Pro has a fair use limit of 10,000 tool calls a month on this server. For more, write to support@usefulapi.io.
Pro covers this server only. Subscribe with hetzner_cloud_upgrade (it returns a Stripe Checkout link). Cancel any time with hetzner_cloud_cancel_subscription: Pro continues to the end of the paid period, with no refund for the current period, and running hetzner_cloud_upgrade before then undoes the cancel. Or write to support@usefulapi.io.
MIT