IONOS CLOUD MCP Server
Inspeccionar y gestionar la infraestructura de IONOS CLOUD a través de MCP
Documentación
IONOS CLOUD MCP Server
Un servidor Model Context Protocol (MCP) de solo lectura por defecto que conecta tu cuenta de IONOS CLOUD con cualquier asistente de IA o agente autónomo compatible con MCP: Claude Desktop, Cursor, VS Code (GitHub Copilot), Windsurf, Cline, Continue, OpenCode y más de 5 otros. 118 herramientas de solo lectura en 7 productos de IONOS CLOUD — lista, inspecciona y audita tu infraestructura mediante indicaciones en lenguaje natural o bucles de agentes programáticos. Las operaciones de escritura en Compute (servidores, volúmenes, redes, balanceo de carga), Managed Kubernetes (clústeres, pools de nodos, nodos) y DNS (zonas, registros, registros inversos, DNSSEC) son estrictamente opcionales y crean recursos reales y facturables — consulta Operaciones de escritura.
Construido y mantenido por el equipo de IONOS Cloud. El servidor se ejecuta como un binario local en tu estación de trabajo, un runner de CI o dentro de un contenedor. Las llamadas a la API de IONOS CLOUD van directamente a IONOS a través de HTTPS; ningún proveedor de IA de terceros se interpone en la ruta de datos.
Compatibilidad: especificación MCP 2024-11-05 · Go 1.25+ para compilaciones · imágenes OCI para linux/amd64 y linux/arm64.
📚 Documentación completa del producto, guías de configuración por cliente, preguntas frecuentes y tutoriales: docs.ionos.com/cloud/ai/mcp-server
Comienza en 60 segundos (macOS o Linux, mediante Homebrew):
brew install ionos-cloud/ionos-cloud/ionoscloud-mcp
Para otras rutas de instalación (Docker, binario precompilado, go install, fuente), consulta Instalación.
Por qué • Registros • Productos • Instalación • Configuración • Carga de herramientas • Transporte • Operaciones de escritura • Demo • Desarrollo • Relacionados • Registro de cambios
Por qué
- Solo lectura por defecto, escrituras estrictamente opcionales — de fábrica, cada herramienta es una operación de inspección (
list_*,get_*,head_*), por lo que es seguro conectarla a cuentas de producción y desplegarla en bucles de agentes no supervisados en runners de CI. Las herramientas de escritura (create_*,update_*,delete_*) se registran solo cuando configurasIONOS_MCP_TOOL_SCOPE, e incluso entonces cada creación y eliminación requiere una confirmación en dos fases (vista previa → token de un solo uso → ejecutar). Consulta Operaciones de escritura. - Binario local, sin proxy — las llamadas a la API de IONOS CLOUD van directamente desde tu máquina a IONOS Cloud. Ningún proveedor de IA de terceros en la ruta de datos.
- Opción soberana de la UE — combina el servidor con el IONOS CLOUD AI Model Hub y tanto las llamadas a la API como la inferencia del LLM terminan dentro de los centros de datos alemanes de IONOS. Consulta la guía Flujo de trabajo de IA totalmente soberano.
- Código abierto — Apache 2.0. Lee el código fuente, audita el comportamiento, contribuye o haz un fork.
Registros y directorios
Este servidor está publicado en múltiples registros de MCP y mercados de IDE:
| Registro | Enlace |
|---|---|
| Registro oficial de MCP | io.github.ionos-cloud/ionoscloud-mcp |
| Smithery | ionos-cloud/ionoscloud-mcp |
| mcp.so | ionos-cloud-mcp-server |
| Glama | ionoscloud-mcp |
| Cursor | ionoscloud-mcp |
| mcpservers.org | ionoscloud-mcp |
| PulseMCP | ionoscloud |
| MCPMarket | ionos-cloud |
| punkpeye/awesome-mcp-servers | ionos-cloud/ionoscloud-mcp |
Productos compatibles
Las herramientas de lectura se denominan list_*, get_* y head_*; las herramientas de escritura opcionales son create_*, update_*, delete_* más verbos de dominio como start_* y attach_*. En el modo eager predeterminado, todas las herramientas se registran al inicio; el modo lazy difiere Compute y Object Storage detrás de herramientas de carga; el modo dynamic expone solo tres meta-herramientas de búsqueda/descripción/ejecución para clientes con límites estrictos de herramientas. Consulta Modo de carga de herramientas.
| Producto | Herramientas | Capacidades |
|---|---|---|
| Compute Engine | 50 + 69 escritura | Centros de datos, servidores, volúmenes, NICs, LANs, reglas de firewall, bloques de IP, balanceadores de carga (básico / de red / de aplicación), puertas de enlace NAT, grupos de seguridad, conexiones cruzadas privadas, instantáneas, imágenes, plantillas, ubicaciones, solicitudes, contrato |
| Kubernetes | 8 + 8 escritura | Clústeres, pools de nodos, nodos, versiones disponibles |
| Object Storage | 23 | Buckets, configuración de buckets (CORS, cifrado, ciclo de vida, política, bloqueo de acceso público, replicación, etiquetado, versionado, Object Lock), objetos, claves de acceso, regiones |
| DNS | 14 + 16 escritura | Zonas, archivos de zona (+ importación BIND), registros, registros inversos, zonas secundarias (+ transferencia de zona), DNSSEC, cuota |
| Billing | 15 | Perfil, facturas, EVN (intervalos de aprovisionamiento), tráfico, uso, utilización, catálogo de precios de productos, especificación FOCUS v1.3 |
| Certificate Manager | 6 | Certificados, auto-certificados, proveedores |
| Activity Log | 2 | Contratos, eventos |
118 herramientas de solo lectura, más 93 herramientas de escritura opcionales en Compute Engine, Kubernetes y DNS — consulta Operaciones de escritura. Para los esquemas de entrada/salida por herramienta, consulta la documentación por producto o la Referencia de herramientas completa en docs.ionos.com.
Instalación
Elige la que se adapte a tu flujo de trabajo.
Homebrew (macOS, Linux) — recomendado
brew install ionos-cloud/ionos-cloud/ionoscloud-mcp
Docker (linux/amd64, linux/arm64)
docker pull ghcr.io/ionos-cloud/ionoscloud-mcp:latest
Ejecuta con el transporte stdio de MCP (predeterminado):
docker run -i --rm \
-e IONOS_TOKEN="$IONOS_TOKEN" \
ghcr.io/ionos-cloud/ionoscloud-mcp
O a través de HTTP (consulta Transporte de cable):
docker run --rm -p 8080:8080 \
-e IONOS_TOKEN="$IONOS_TOKEN" \
ghcr.io/ionos-cloud/ionoscloud-mcp --transport http --http-addr :8080
Smithery
npx -y @smithery/cli install @ionos-cloud/ionoscloud-mcp --client claude-desktop
Valores de --client compatibles: claude-desktop, claude-code, cursor, vscode, windsurf, cline, continue, gemini-cli, kiro y otros. Consulta el listado de Smithery para la lista actual.
Binario precompilado
Descarga el archivo para tu sistema operativo/arquitectura desde la última versión. Disponible para Linux, macOS y Windows en amd64 y arm64.
go install
go install github.com/ionos-cloud/ionoscloud-mcp@latest
Desde el código fuente
git clone https://github.com/ionos-cloud/ionoscloud-mcp.git
cd ionoscloud-mcp
make build
Configuración
Necesitas una cuenta de IONOS CLOUD con credenciales de API.
# Required: API token for control-plane APIs (Compute, DNS, Billing, Certificate Manager, Object Storage management)
export IONOS_TOKEN="your-api-token"
# Optional: only required if you use Object Storage data-plane tools
# (listing objects, reading bucket configuration, checking access keys).
export IONOS_S3_ACCESS_KEY="your-s3-access-key"
export IONOS_S3_SECRET_KEY="your-s3-secret-key"
# Optional: opt in to write operations (default: read-only). Values are hierarchical,
# so a single level suffices: "write" allows create/update; "destructive" also allows
# delete (it implies "write"). See "Write operations".
# export IONOS_MCP_TOOL_SCOPE="write"
Genera un token en el IONOS CLOUD DCD bajo Gestión → Gestión de tokens. Las credenciales de Object Storage se crean bajo Storage & Backup → IONOS CLOUD Object Storage → Gestión de claves.
Para el alcance de tokens con privilegios mínimos, consulta Autenticación en docs.ionos.com.
Integración con un cliente MCP (manual)
Añade el servidor a la configuración MCP de tu cliente de IA:
{
"mcpServers": {
"ionoscloud": {
"command": "/path/to/ionoscloud-mcp",
"env": {
"IONOS_TOKEN": "your-api-token",
"IONOS_S3_ACCESS_KEY": "your-s3-access-key",
"IONOS_S3_SECRET_KEY": "your-s3-secret-key"
}
}
}
}
Las credenciales de Object Storage solo son necesarias si planeas usar las herramientas de Object Storage.
Guías de configuración por cliente para los 12 clientes de IA compatibles: Conectar a un cliente de IA en docs.ionos.com.
Modo de carga de herramientas
El modo de carga selecciona cómo se exponen las herramientas. Configúralo con la bandera --load-mode o la variable de entorno IONOS_MCP_LOAD_MODE; la bandera gana si ambas están configuradas, y de lo contrario el valor predeterminado es eager. El análisis es insensible a mayúsculas y minúsculas.
-
eager(predeterminado): todas las herramientas se registran al inicio. Recomendado para Claude Code (que difiere los esquemas completos en el cliente mediante ToolSearch, pagando ~1–3k tokens solo por los nombres) y el único modo que funciona para clientes que ignorannotifications/tools/list_changed(Claude Desktop, conectores de claude.ai, Claude en Chrome, escáner de Smithery). -
lazy: Compute y Object Storage se registran solo bajo demanda. Dos herramientas centinela (ionos_load_compute_tools,ionos_load_objectstorage_tools) aparecen al inicio; llamar a cualquiera de ellas registra el conjunto completo de productos y emitenotifications/tools/list_changed. Úsalo solo si tu cliente MCP respeta esa notificación Y carece de diferimiento de esquemas en el cliente — de lo contrario, el modo eager es más económico. -
dynamic(alias:search): el servidor expone solo tres meta-herramientas —ionos_search_tools,ionos_describe_toolsyionos_call_tool— y el modelo descubre e invoca el catálogo completo a través de ellas en tiempo de ejecución. La lista real de herramientas nunca cambia, por lo que a diferencia delazyesto no requiere soporte denotifications/tools/list_changed. Diseñado para clientes con límites estrictos de herramientas y sin búsqueda de herramientas propia (por ejemplo, el límite de ~40 herramientas de Cursor, el de 100 de Windsurf). Compensación: el modelo debesearch→describe→callen lugar de ver las herramientas directamente, lo que cuesta rondas adicionales, así que prefiereeageren Claude Code.
El servidor registra el modo efectivo y su fuente (bandera / entorno / predeterminado) en stderr al inicio, por ejemplo load mode: dynamic (source: --load-mode flag).
{
"mcpServers": {
"ionoscloud": {
"command": "/path/to/ionoscloud-mcp",
"args": ["--load-mode", "dynamic"],
"env": {
"IONOS_TOKEN": "your-api-token"
}
}
}
}
Límites de recuento de herramientas: Windsurf limita los servidores MCP conectados a 100 herramientas combinadas; Cursor limita a ~40 en todos los servidores. Con el modo eager predeterminado, el servidor supera ambos. En Windsurf, lazy mantiene la superficie de inicio lo suficientemente pequeña; en Cursor (o cualquier cliente con límites sin búsqueda de herramientas propia), usa dynamic para presentar solo tres herramientas. Para más información, consulta Carga selectiva de herramientas.
Transporte de cable
El servidor habla stdio por defecto — el modo que espera todo cliente MCP que genera subprocesos (Claude Desktop, Claude Code, Cursor, Windsurf, etc.). Para despliegues remotos o en red (por ejemplo, ejecutar el servidor centralmente y apuntar múltiples clientes a él), cambia al transporte HTTP Streamable con --transport http o IONOS_MCP_TRANSPORT=http; la bandera gana si ambas están configuradas.
./ionoscloud-mcp --transport http --http-addr :8080
--transport <stdio|http>(oIONOS_MCP_TRANSPORT) — selecciona el transporte. Los valores no reconocidos vuelven astdiocon una advertencia.--http-addr <addr>(oIONOS_MCP_HTTP_ADDR) — dirección de escucha para el transporte HTTP. Predeterminado127.0.0.1:8080(solo local); usa:8080para escuchar en todas las interfaces. Se ignora para stdio.
El servidor registra el transporte efectivo y su fuente en stderr al inicio, por ejemplo transport: http (source: --transport flag).
En modo HTTP, apunta tu cliente MCP a http://<host>:<port>/ como servidor HTTP Streamable. No hay TLS ni autenticación integrados para el propio endpoint HTTP — colócalo detrás de un proxy inverso (por ejemplo, nginx, Caddy) si necesita ser accesible fuera de una red de confianza. IONOS_TOKEN y las demás credenciales de IONOS CLOUD siguen autenticando las llamadas del servidor a la API de IONOS independientemente del transporte.
Operaciones de escritura
El servidor es de solo lectura hasta que te das de alta. Las herramientas de escritura nunca se registran y nunca aparecen en tools/list a menos que configures la variable de entorno IONOS_MCP_TOOL_SCOPE. La restricción se aplica en todos los modos de carga, incluido el despachador dynamic — no hay forma de omitirla.
El alcance es un conjunto jerárquico de capacidades separado por comas (read siempre está activado):
IONOS_MCP_TOOL_SCOPE | Habilita |
|---|---|
sin configurar / read (predeterminado) | solo lectura (list_*, get_*, head_*) |
write | lo anterior + create_*, update_* y las acciones no disruptivas start_, resume_, attach_, assign_ |
destructive | lo anterior + delete_* y las acciones disruptivas stop_, reboot_, suspend_, upgrade_, restore_, detach_, recreate_, import_ (implica write) |
Los valores no reconocidos se degradan a solo lectura, y el alcance efectivo se registra en stderr al inicio. Debido a que los niveles son jerárquicos, un solo valor es suficiente — destructive por sí solo ya otorga write y read; no necesitas enumerarlos todos (aunque también se acepta una lista separada por comas como read,write). |
Qué se puede escribir
| Área | Recursos |
|---|---|
| Compute | centros de datos, servidores (+ iniciar/detener/reiniciar/suspender/reanudar/actualizar), volúmenes (+ instantánea y restauración, adjuntar/desadjuntar), NICs, LANs |
| Redes | bloques de IP (solo reservar y liberar), grupos de seguridad + reglas, reglas de firewall, conexiones cruzadas privadas |
| Balanceo de carga | balanceadores de carga clásicos, de red y de aplicación + reglas de reenvío, grupos de destino, puertas de enlace NAT + reglas |
| Imágenes | instantáneas y actualización/eliminación de imágenes |
| Kubernetes | clústeres, pools de nodos (escalar, actualizar, autoescalado, LANs, etiquetas, anotaciones), nodos individuales (recrear, eliminar) |
| DNS | zonas primarias (+ importación de archivos de zona BIND), registros, zonas secundarias (+ transferencia de zona), registros inversos, habilitar/deshabilitar DNSSEC |
93 herramientas en total. El servidor expone 118 en el alcance de solo lectura predeterminado, 175 con write, y 211 con destructive. Las lecturas no se ven afectadas y siempre están disponibles.
Confirmación en dos fases. Cada create_* y delete_*, además de las acciones disruptivas (stop_, reboot_, suspend_, upgrade_, restore_, detach_, recreate_), está sujeto a confirmación, junto con la importación de archivos de zona DNS. La primera llamada no realiza ninguna mutación: devuelve una vista previa — para una eliminación, un resumen del radio de explosión de lo que se destruirá — más un confirmation_token de un solo uso (TTL de 5 minutos, vinculado a ese objetivo y operación exactos). Solo una segunda llamada que lleve ese token ejecuta la acción. Esto mantiene a un humano en el circuito y limita al agente a un recurso por llamada. Los cambios reversibles de un solo campo (update_*, start_, attach_, assign_) son una sola llamada.
Anotaciones. Las herramientas de escritura llevan anotaciones MCP (readOnlyHint, destructiveHint, idempotentHint) para que los clientes puedan construir su propia experiencia de aprobación — pero la aplicación siempre es del lado del servidor. Ten en cuenta que la clase proviene de la operación, no del verbo HTTP: stop_server es un POST que es destructivo, y import_dns_zone_file es un PUT que reemplaza cada registro en una zona.
⚠️ Las operaciones de escritura crean recursos reales y cargos reales
Habilitar
IONOS_MCP_TOOL_SCOPEpermite que un modelo de IA aprovisione infraestructura facturable en tu cuenta IONOS CLOUD en vivo. Cada creación es un recurso real en una factura real, efectivo de inmediato.Algunos recursos cuestan dinero incluso cuando nadie los usa — un bloque de IP reservado, una instantánea o un volumen dejado atrás después de que su servidor fue eliminado. Las eliminaciones son igualmente reales: los datos destruidos no se pueden recuperar sin una instantánea, y una dirección IP liberada no se puede volver a solicitar.
Un modelo de IA decide cuándo y con qué frecuencia llamar a estas herramientas. Puede malinterpretar tu intención, reintentar más de lo esperado o elegir un recurso más grande de lo que tenías en mente. La confirmación en dos fases existe para poner a un humano en ese circuito, pero no puede detener a un cliente configurado para aprobar llamadas de herramientas automáticamente — en esa configuración, el modelo puede completar ambas fases por sí solo.
Eres responsable de todo lo creado, modificado o eliminado en tu cuenta a través de estas herramientas, y de los cargos resultantes. IONOS no controla ni es responsable de cómo un modelo elige llamarlas, ni de ningún costo, pérdida de datos o interrupción que surja de esas llamadas.
Reduce el riesgo: deja el servidor en solo lectura a menos que necesites escrituras; otorga
writeen lugar dedestructivecuando no se requiera eliminación; exige aprobación manual de las llamadas de herramientas en tu cliente; lee la vista previa antes de devolver un token de confirmación; y prefiere una cuenta que no sea de producción al experimentar.
Habilita las escrituras en la configuración de tu cliente MCP, por ejemplo:
{
"mcpServers": {
"ionoscloud": {
"command": "/path/to/ionoscloud-mcp",
"env": {
"IONOS_TOKEN": "your-api-token",
"IONOS_MCP_TOOL_SCOPE": "destructive"
}
}
}
}
Demo
En Claude Desktop o cualquier otro cliente compatible, después de configurar el servidor, prueba uno de estos mensajes. Cubren los tipos de flujos de trabajo de inspección de múltiples pasos que son tediosos de escribir como scripts pero fáciles en lenguaje natural:
- Auditoría de costos: "Audita mi cuenta IONOS CLOUD, encuentra los 5 principales recursos que generan costos este mes y sugiere consejos de eficiencia de costos."
- Barrido de seguridad: "Enumera cada bucket cuyo bloqueo de acceso público esté desactivado o cuya política sea pública — marca cualquier cosa que parezca no intencional."
- Rastro de auditoría: "Muéstrame cada solicitud de API fallida en mi contrato en los últimos 30 días, agrupada por usuario."
- Recursos olvidados: "Encuentra volúmenes no adjuntos, bloques de IP sin usar y servidores detenidos en todos mis centros de datos."
- Verificación de sanidad DNS: "Enumera todas las zonas en mi cuenta y marca cualquier zona sin DNSSEC habilitado o con registros que apunten a IPs que ya no poseo."
- Caducidad de certificados: "¿Qué certificados en mi cuenta caducan en los próximos 60 días?"
- Investigación de picos de tráfico: "Mi última factura fue más alta de lo habitual — muéstrame el tráfico diario y la utilización del período de facturación anterior y dime qué cambió."
- Recorrido de incorporación: "Guíame a través de lo que tengo ejecutándose en IONOS CLOUD — centros de datos, servidores, almacenamiento, DNS — como si se lo explicaras a un nuevo compañero de equipo."
Cada mensaje encadena múltiples llamadas list_* y get_* y produce un resumen que puedes pegar en un ticket, panel o documento. Para recorridos de extremo a extremo:
- Ejecuta una auditoría de postura de seguridad en tus buckets de IONOS CLOUD Object Storage
- Genera un informe de costos compatible con FOCUS
Desarrollo
Probando el protocolo MCP localmente
Puedes probar la implementación del protocolo MCP del servidor usando stdin/stdout:
# Initialize and list tools
{
echo '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"test","version":"0.1.0"}}}'
echo '{"jsonrpc":"2.0","method":"notifications/initialized"}'
echo '{"jsonrpc":"2.0","id":2,"method":"tools/list","params":{}}'
sleep 1
} | ./ionoscloud-mcp
# Call a tool (requires a valid IONOS_TOKEN)
{
echo '{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2024-11-05","capabilities":{},"clientInfo":{"name":"test","version":"0.1.0"}}}'
echo '{"jsonrpc":"2.0","method":"notifications/initialized"}'
echo '{"jsonrpc":"2.0","id":2,"method":"tools/call","params":{"name":"list_datacenters","arguments":{}}}'
sleep 1
} | ./ionoscloud-mcp
Compilando desde el código fuente
make build
# or
go build -o ionoscloud-mcp .
Ejecuta make sin argumentos para ver los objetivos disponibles.
Proyectos relacionados
- Documentación del producto IONOS CLOUD MCP Server — documentación completa del producto
- IONOS CLOUD AI Model Hub — LLMs de peso abierto alojados en Alemania; combínalo con este servidor para un bucle de IA totalmente soberano de la UE
- IONOS CLOUD Documentation MCP — un servidor MCP público gratuito que expone el sitio de documentación de IONOS para asistentes de IA
Contribuciones
Las incidencias y solicitudes de extracción son bienvenidas. Para la configuración de desarrollo, estilo de código e instrucciones de prueba, consulta CONTRIBUTING.md. Para preguntas y discusión, usa GitHub Discussions.
Seguridad
Si crees que has encontrado una vulnerabilidad de seguridad, por favor no abras una incidencia pública. Repórtala de forma privada a través del informe privado de vulnerabilidades de GitHub o por correo electrónico a sdk-tooling@ionos.com. Política completa: SECURITY.md.
Registro de cambios
Los cambios notables por versión se rastrean en CHANGELOG.md. Para los artefactos publicados con cada etiqueta (binarios de Linux/macOS/Windows, imágenes OCI multi-arquitectura), consulta la página de GitHub Releases.
Documentación de la API
Para más información sobre la API de IONOS CLOUD:
Licencia
Apache License 2.0 — consulta LICENSE.