Skip to main content
Glama
nityeshaga

hetzner-mcp-server

by nityeshaga

Create SSH Key

hetzner_create_ssh_key

Add an SSH public key to your Hetzner project for use when creating servers.

Instructions

Add a new SSH public key to the project.

The SSH key can then be used when creating servers to enable SSH access.

Args:

  • name: A name for the SSH key (e.g., "my-laptop")

  • public_key: The SSH public key content (starts with "ssh-rsa", "ssh-ed25519", etc.)

  • labels: Optional key-value labels for organization

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameYesName for the SSH key
labelsNoOptional labels as key-value pairs
public_keyYesThe SSH public key content
response_formatNoOutput format: 'markdown' or 'json'markdown
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate non-read-only (readOnlyHint=false) and non-destructive (destructiveHint=false), so the description need not repeat those. It adds useful context about usage (keys are used when creating servers) and provides input format hints, but it does not disclose behavior such as duplicate key handling, idempotency, or response characteristics. This is adequate but not rich.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and front-loaded, stating the core action in the first sentence. The Args list is compact and directly useful, with no filler. Every sentence contributes to understanding the tool's purpose or parameters.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple create tool with no output schema, the description explains the outcome (key added, usable for servers) and core parameters. However, it omits the optional 'response_format' parameter that appears in the schema, which is a minor gap. Overall, it is sufficiently complete for an agent to invoke the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so descriptions exist for all parameters. The description adds value beyond the schema by providing concrete examples for 'name' (e.g., 'my-laptop') and specifying that 'public_key' must start with formats like 'ssh-rsa' or 'ssh-ed25519'. It also clarifies that 'labels' is optional, which reinforces the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description uses a specific verb ('Add') and resource ('SSH public key to the project'), clearly distinguishing this create operation from sibling tools like hetzner_list_ssh_keys, hetzner_get_ssh_key, and hetzner_delete_ssh_key. It also explains the purpose (enabling SSH access on servers), removing ambiguity.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description clearly states when to use this tool: when adding an SSH key to enable SSH access on future servers. It does not explicitly list exclusions or alternative tools, but the purpose is clear enough that an agent would not confuse it with list, get, or delete operations.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/nityeshaga/hetzner-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server