Prototipo · Versión preliminar: todos los servidores del registro oficial, sincronizados cada 30 minutos. Las reseñas y las cuentas llegarán en una etapa posterior.
PopNx MCPServidores MCP para quienes usan IA · explicados con palabras sencillas

Hetzner DNS

de ni-cversión 0.6.0i★ –iSe ejecuta en tu computadora
Nombre en el registroio.github.ni-c/hetzner-dns-mcp

Instalar

Resumen

Descripción del creador (original en inglés)

Manage DNS zones and records (zonefiles, RRSets, TTL, protection) via the Hetzner Cloud API

Los tres pilares de PopNx MCP

Estos tres nunca se combinan en una sola puntuación: las opiniones, las mediciones y la popularidad son cosas distintas.

Qué puedes hacer con él

Todavía no escribimos un resumen sencillo para este. Abajo están los datos que leímos del registro.

  • Conexión: Se ejecuta en tu computadora
  • Transporte: stdio
  • Categoría: Herramientas para desarrolladores
  • Debes completar: HETZNER_API_TOKEN

Instalación

Elige la app de IA que usas y copia la configuración.

Antes de instalar

  • Revisiones básicas: 1 de 1 superadas
  • Se ejecuta en tu computadora con los permisos de tu usuario (archivos, red, apps).
  • Debes completar tú: HETZNER_API_TOKEN, HETZNER_READ_ONLY, HETZNER_ALLOW_TOOLS, HETZNER_DENY_TOOLS, HETZNER_API_BASE_URL

Los valores marcados como secretos son llaves de tu cuenta. Nunca los compartas ni los pegues en un chat.

Necesitas

  • npmNode.js instalado (para el comando npx)

¿Qué app usas?

Elige tu app arriba. La recordamos, así que la próxima vez el botón dirá “Instalar en …”.

Abre Claude Desktop → Settings → Developer → Edit Config y pega esto en claude_desktop_config.json

{
  "mcpServers": {
    "hetzner-dns": {
      "command": "npx",
      "args": [
        "-y",
        "hetzner-dns-mcp"
      ],
      "env": {
        "HETZNER_API_TOKEN": "your-value",
        "HETZNER_READ_ONLY": "your-value",
        "HETZNER_ALLOW_TOOLS": "your-value",
        "HETZNER_DENY_TOOLS": "your-value",
        "HETZNER_API_BASE_URL": "your-value"
      }
    }
  }
}

Ejecuta esto en tu terminal

claude mcp add hetzner-dns --env HETZNER_API_TOKEN=your-value --env HETZNER_READ_ONLY=your-value --env HETZNER_ALLOW_TOOLS=your-value --env HETZNER_DENY_TOOLS=your-value --env HETZNER_API_BASE_URL=your-value -- npx -y hetzner-dns-mcp

Completa los valores vacíos antes de ejecutarlo.

Abrir en Cursor

O copia la configuración tú

Pégalo en .cursor/mcp.json de tu proyecto, o en ~/.cursor/mcp.json

{
  "mcpServers": {
    "hetzner-dns": {
      "command": "npx",
      "args": [
        "-y",
        "hetzner-dns-mcp"
      ],
      "env": {
        "HETZNER_API_TOKEN": "your-value",
        "HETZNER_READ_ONLY": "your-value",
        "HETZNER_ALLOW_TOOLS": "your-value",
        "HETZNER_DENY_TOOLS": "your-value",
        "HETZNER_API_BASE_URL": "your-value"
      }
    }
  }
}

Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.

Abrir en VS Code

O copia la configuración tú

Pégalo en .vscode/mcp.json de tu proyecto

{
  "servers": {
    "hetzner-dns": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "hetzner-dns-mcp"
      ],
      "env": {
        "HETZNER_API_TOKEN": "your-value",
        "HETZNER_READ_ONLY": "your-value",
        "HETZNER_ALLOW_TOOLS": "your-value",
        "HETZNER_DENY_TOOLS": "your-value",
        "HETZNER_API_BASE_URL": "your-value"
      }
    }
  }
}

Tu navegador te pide permiso para abrir la app; luego la app muestra la configuración y te pide confirmar. Los valores de las claves quedan vacíos para que los completes tú.

Este se ejecuta en tu computadora, y ChatGPT solo puede conectarse a servidores en internet. Elige otra app.

Tu elección se guarda en una cookie en este dispositivo; no necesitas cuenta.

Valores que debes completar

  • HETZNER_API_TOKEN secreto obligatorio env
    Hetzner Cloud API token (project-scoped, Cloud Console -> Security -> API tokens)
  • HETZNER_READ_ONLY env
    Set to true to register only the read-only tools (default: false)
  • HETZNER_ALLOW_TOOLS env
    Comma-separated tool names or list_* prefixes to register; 'essential' selects a curated preset (default: all tools)
  • HETZNER_DENY_TOOLS env
    Comma-separated tool names or list_* prefixes to remove from whatever HETZNER_ALLOW_TOOLS left
  • HETZNER_API_BASE_URL env
    Override the Hetzner Cloud API base URL (default: https://api.hetzner.cloud/v1)

Esta configuración se genera a partir de la ficha del creador en el registro. Si el README dice otra cosa, sigue el README.

Qué puede hacer

Se ejecuta en tu computadora; la lista de herramientas aparece en tu app de IA después de instalarlo.

Revisiones básicasi

Revisamos información que cualquiera puede ver; no hemos leído el código. Las revisiones que no aplican no se cuentan. · Revisado el 9 nov 2026

  • ✓ Superada

    El creador coincide con el repo

    El nombre en el registro se verificó con la cuenta de GitHub ni-c, dueña del repo

  • … Aún sin revisar

    Sigue en mantenimiento

    Todavía no hemos leído este repo en GitHub

  • … Aún sin revisar

    Tiene licencia

    Todavía no hemos leído este repo en GitHub

  • – No aplica

    El endpoint responde

    Este se ejecuta en tu computadora; no hay endpoint en internet

  • – No aplica

    Inicio de sesión con OAuth

    Se ejecuta en tu computadora y usa ajustes locales en su lugar

  • … Aún sin revisar

    Sin instrucciones ocultas en las descripciones de herramientas

    Se ejecuta en tu computadora; solo podemos leer listas de herramientas de endpoints en internet

Comparado con otros en Herramientas para desarrolladoresi

  • Más estrellas que el 0% de los otros 5556 servidores de esta categoría
  • Publicado en el registro más recientemente que el 36% de los otros 5556 servidores de esta categoría
  • Revisiones básicas iguales o mejores que el 100% de los otros 5556 servidores de esta categoría

Comparado con todos los servidores activos de esta categoría en el registro. Las estrellas solo cuentan cuando quien lo publica es dueño del repo.

Preguntas frecuentes

¿Es seguro Hetzner DNS?

Superó 1 de 1 revisiones básicas aplicables. No hemos leído el código. Antes de agregar una clave o un token, revisa qué acceso pide el servidor y usa una clave que tenga solo los permisos que necesitas.

¿Qué claves o códigos necesita?

Debes completar: HETZNER_API_TOKEN

¿Se ejecuta en mi computadora o en la nube?

Se ejecuta en tu computadora. Tu app de IA lo inicia cuando hace falta, y los datos no pasan por los servidores del creador (a menos que el propio servidor llame a un servicio en línea).

¿Sigue en mantenimiento?

El repo de GitHub cambió por última vez –, y la última versión (0.6.0) llegó al registro hace 2 meses.

¿Qué apps pueden usarlo?

Las apps compatibles con MCP, como Claude Desktop, Claude Code, Cursor y VS Code. También necesitas Node.js, Docker en tu computadora.

¿Qué puedo usar en su lugar?

En la misma categoría: GitHub, Desktop Commander, Cloudflare MCP

Alternativas

Servidores de la misma categoría hechos por otros creadores, ordenados por estrellas.

Cómo leer una tarjeta:↓ Descargas por semanai★ Estrellas de GitHubiTres pilares: reseñas · revisiones · usoiActualizado = fecha en que se publicó la última versión en el registroi

GitHub

Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.

de githubMuy usado★ 34,2 milActualizado hace 5 días

Computadora o nube

Desktop Commander

MCP server for terminal commands, file operations, and process management

de wonderwhy-erMuy usado↓ 709,6 mil/sem★ 10,2 milActualizado hace 17 días

Se ejecuta en tu computadora

Cloudflare MCP

Cloudflare MCP servers

de cloudflareMuy usado★ 4,4 milActualizado hace 14 meses

Se ejecuta en la nube✓ mcp.cloudflare.com

README del creador

Abrir el README

Copiado tal cual del repo del creador. PopNx MCP no lo ha revisado ni lo respalda. Se quitaron HTML, imágenes y scripts. Los enlaces llevan fuera de este sitio.

hetzner-dns-mcp

A Model Context Protocol (MCP) server for managing DNS zones and records via the Hetzner Cloud API.

Lets MCP clients like Claude Code, Claude Desktop or Codex manage your Hetzner DNS: list, create, update and delete zones and RRSets (record sets), import/export zone files, manage protection and TTLs, and track asynchronous zone actions.

Twenty-two tools is the ceiling, not the floor: HETZNER_ALLOW_TOOLS=essential registers a curated eight instead, and a model picks the right tool far more reliably from eight than from twenty-two — see choosing which tools load.

Note: This server targets the current DNS API that is part of the Hetzner Cloud API (api.hetzner.cloud). The legacy DNS API (dns.hetzner.com) was shut down in May 2026 and is not supported.

What makes it different

Zones, record sets and the actions behind them. Listing, creating, updating and deleting zones and RRSets, importing and exporting BIND zone files, changing TTLs and protection — and following the asynchronous zone actions Hetzner queues behind a change, rather than reporting success and leaving you to guess.

Nothing upstream is trusted. Record values, comments and zone files come back wrapped as untrusted data, secret-looking keys are redacted, oversized values are truncated and HTML error pages are dropped instead of pasted into the context.

Destructive calls ask a person. Deleting a zone or replacing a record set raises a real dialog through MCP elicitation. Where the client cannot show one, the call is refused and carries a random single-use token that only ever appeared in a previous tool result — so nothing hidden inside a DNS record can mint it.

Requirements

  • Node.js ≥ 24
  • A Hetzner Cloud API token for the project that holds your DNS zones — create one in the Hetzner Cloud Console under _your project → Security → API tokens_. Use a read & write token for full functionality (a read-only token limits you to the read tools).

Configuration

Configuration is provided via environment variables:

VariableRequiredDescription
HETZNER_API_TOKENyesHetzner Cloud API token (project-scoped)
HETZNER_READ_ONLYnotrue registers only the read tools; the write tools do not exist at all
HETZNER_ALLOW_TOOLSnoComma-separated tool names, list_* prefixes, or essential for a curated preset
HETZNER_DENY_TOOLSnoSame syntax; removed from whatever HETZNER_ALLOW_TOOLS left
ELICITATIONnofalse replaces the approval dialog with the two-call token. Not prefixed
HETZNER_API_BASE_URLnoBase URL of the API (default: https://api.hetzner.cloud/v1)

Without a token the server still starts and lists its tools (so registries and inspectors can introspect it), but every tool call fails with setup instructions instead of reaching the API.

HETZNER_API_TOKEN and HETZNER_API_BASE_URL are deleted from the process environment once they have been read, so a later crash report or diagnostic dump cannot expose the token.

Choosing which tools load

HETZNER_ALLOW_TOOLS and HETZNER_DENY_TOOLS take comma-separated tool names; a trailing * matches a whole family. essential is a curated preset — list_zones, get_zone, list_rrsets, get_rrset, create_rrset, set_records, delete_rrset and export_zonefile — which covers reading a zone and changing a record without the rare, catastrophic tools.

HETZNER_ALLOW_TOOLS=essential

HETZNER_ALLOW_TOOLS=list_*,get_zone,set_records HETZNER_DENY_TOOLS=delete_zone,import_zonefile

An entry that matches no tool aborts startup and names it, so a typo cannot silently hide a tool — an absent tool is not something anyone traces back to an environment variable. A filtered tool is never registered, so it is absent from tools/list and unknown to tools/call alike, exactly like a write tool under HETZNER_READ_ONLY.

If you run several of these servers at once, mcp-hub is the other answer — its /hub endpoint replaces every server's tools with six meta-tools.

Installation

Claude Code
claude mcp add hetzner-dns -s user \

-e HETZNER_API_TOKEN=your-token \ -- npx -y hetzner-dns-mcp

Claude Desktop

Add to your claude_desktop_config.json:

{

"mcpServers": { "hetzner-dns": { "command": "npx", "args": ["-y", "hetzner-dns-mcp"], "env": { "HETZNER_API_TOKEN": "your-token" } } } }

Codex

Add to your ~/.codex/config.toml:

[mcp_servers.hetzner-dns]

command = "npx" args = ["-y", "hetzner-dns-mcp"] env = { HETZNER_API_TOKEN = "your-token" }

From source
git clone https://github.com/ni-c/hetzner-dns-mcp.git

cd hetzner-dns-mcp npm install npm run build

then use node /path/to/hetzner-dns-mcp/dist/index.js as the command

Docker

Multi-arch images (amd64/arm64) are published to GHCR with an SBOM and build provenance:

docker run -i --rm -e HETZNER_API_TOKEN=your-token ghcr.io/ni-c/hetzner-dns-mcp

The image talks MCP over stdio, so clients need docker run -i (no port is exposed):

{

"mcpServers": { "hetzner-dns": { "command": "docker", "args": [ "run", "-i", "--rm", "-e", "HETZNER_API_TOKEN", "ghcr.io/ni-c/hetzner-dns-mcp" ], "env": { "HETZNER_API_TOKEN": "your-token" } } } }

Through mcp-hub

A client that cannot spawn a local process — ChatGPT connectors, Claude on the web, Cursor, LibreChat — reaches hetzner-dns-mcp through mcp-hub: one container serves many stdio MCP servers over Streamable HTTP, with an OAuth 2.1 login behind a single password and long-lived tokens for the clients that cannot do OAuth. Its /hub endpoint puts every server behind six meta-tools, so one connector reaches all of them without N×tool schemas in the model's context, and it speaks both protocol revisions — a question this server asks travels through it to the person at the far end.

Its /config/mcp.json uses Claude Code's format, so the entry is the one you already have:

{

"mcpServers": { "hetzner-dns": { "command": "npx", "args": ["-y", "hetzner-dns-mcp"], "env": { "HETZNER_API_TOKEN": "your-token", "HETZNER_ALLOW_TOOLS": "essential" }, "denyTools": ["delete_*"] } } }

allowTools and denyTools there are the hub's own per-server filter, which is not the same thing as *_ALLOW_TOOLS in env — the difference, and the mistake it invites, are in the client guide.

Tools

Every tool declares an outputSchema and answers with structuredContent alongside the text block, so a client can use the result without parsing prose. The fence stays in the text — it is the readable presentation of the same marker — and the structured half carries untrusted: true and source: "hetzner-cloud-api" as fields. Every tool carries them: record values, comments, labels and zone files are written by whoever controls the zone, and no tool here answers with anything else.

The API documents are described as open objects with the top-level keys the spec guarantees. The API is not this server's to promise, and the SDK validates each result against its schema before it goes out — a strict shape would turn a field Hetzner adds into a tool that fails outright.

An over-budget result is now an error. It used to be cut off mid-document and say so, which is fine for a text block and impossible for structuredContent: the two channels have to carry the same value, and a document sliced mid-string does not parse.

Zones
ToolDescription
list_zonesList zones with status, mode, nameservers and record counts

| get_zone

Solo se muestra el principio; lee el resto en el repo

Pregunta a PopNx