IONOS CLOUD MCP Server

Inspecione e gerencie a infraestrutura da IONOS CLOUD via MCP

Documentação

Official IONOS Cloud Apache 2.0 Go reference

Alt text

IONOS CLOUD MCP Server

Um servidor Model Context Protocol (MCP) somente leitura por padrão que conecta sua conta IONOS CLOUD a qualquer assistente de IA ou agente de IA autônomo compatível com MCP: Claude Desktop, Cursor, VS Code (GitHub Copilot), Windsurf, Cline, Continue, OpenCode e mais de 5 outros. 118 ferramentas somente leitura em 7 produtos IONOS CLOUD — liste, inspecione e audite sua infraestrutura por meio de prompts em linguagem natural ou loops agênticos programáticos. Operações de escrita em Compute (servidores, volumes, rede, balanceamento de carga), Managed Kubernetes (clusters, pools de nós, nós) e DNS (zonas, registros, registros reversos, DNSSEC) são estritamente opcionais e criam recursos reais e faturáveis — consulte Operações de escrita.

Construído e mantido pela equipe IONOS Cloud. O servidor é executado como um binário local em sua estação de trabalho, em um runner de CI ou dentro de um contêiner. As chamadas à API IONOS CLOUD vão diretamente para a IONOS via HTTPS; nenhum provedor de IA terceirizado fica no caminho dos dados.

Compatibilidade: especificação MCP 2024-11-05 · Go 1.25+ para builds · imagens OCI para linux/amd64 e linux/arm64.

📚 Documentação completa do produto, guias de configuração por cliente, FAQ e tutoriais: docs.ionos.com/cloud/ai/mcp-server

Comece em 60 segundos (macOS ou Linux, via Homebrew):

brew install ionos-cloud/ionos-cloud/ionoscloud-mcp

Para outros caminhos de instalação (Docker, binário pré-compilado, go install, código-fonte), consulte Instalação.

Por quêRegistrosProdutosInstalaçãoConfiguraçãoCarregamento de ferramentasTransporteOperações de escritaDemonstraçãoDesenvolvimentoRelacionadosChangelog

Por quê

  • Somente leitura por padrão, escrita estritamente opcional — imediatamente, toda ferramenta é uma operação de inspeção (list_*, get_*, head_*), portanto é seguro conectar a contas de produção e implantar em loops agênticos não supervisionados em runners de CI. Ferramentas de escrita (create_*, update_*, delete_*) são registradas somente quando você define IONOS_MCP_TOOL_SCOPE, e mesmo assim cada criação e exclusão exige uma confirmação em duas fases (pré-visualização → token de uso único → execução). Consulte Operações de escrita.
  • Binário local, sem proxy — as chamadas à API IONOS CLOUD vão diretamente da sua máquina para a IONOS Cloud. Nenhum fornecedor de IA terceirizado no caminho dos dados.
  • Opção soberana da UE — combine o servidor com o IONOS CLOUD AI Model Hub e tanto as chamadas à API quanto a inferência do LLM terminam dentro dos data centers alemães da IONOS. Consulte o guia Fluxo de Trabalho de IA Totalmente Soberano.
  • Código aberto — Apache 2.0. Leia o código-fonte, audite o comportamento, contribua ou faça um fork.

Registros e Diretórios

Este servidor é publicado em vários registros MCP e marketplaces de IDE:

RegistroLink
Registro Oficial MCPio.github.ionos-cloud/ionoscloud-mcp
Smitheryionos-cloud/ionoscloud-mcp
mcp.soionos-cloud-mcp-server
Glamaionoscloud-mcp
Cursorionoscloud-mcp
mcpservers.orgionoscloud-mcp
PulseMCPionoscloud
MCPMarketionos-cloud
punkpeye/awesome-mcp-serversionos-cloud/ionoscloud-mcp

Produtos suportados

As ferramentas de leitura são nomeadas list_*, get_* e head_*; as ferramentas de escrita opcionais são create_*, update_*, delete_* além de verbos de domínio como start_* e attach_*. No modo padrão eager, todas as ferramentas são registradas na inicialização; o modo lazy adia Compute e Object Storage para trás de ferramentas de carregamento; o modo dynamic expõe apenas três meta-ferramentas de busca/descrição/execução para clientes com limites rígidos de ferramentas. Consulte Modo de carregamento de ferramentas.

ProdutoFerramentasCapacidades
Compute Engine50 + 69 de escritaData centers, servidores, volumes, NICs, LANs, regras de firewall, blocos de IP, balanceadores de carga (básico / de rede / de aplicação), gateways NAT, grupos de segurança, conexões cruzadas privadas, snapshots, imagens, modelos, locais, solicitações, contrato
Kubernetes8 + 8 de escritaClusters, pools de nós, nós, versões disponíveis
Object Storage23Buckets, configuração de buckets (CORS, criptografia, ciclo de vida, política, bloqueio de acesso público, replicação, marcação, versionamento, Object Lock), objetos, chaves de acesso, regiões
DNS14 + 16 de escritaZonas, arquivos de zona (+ importação BIND), registros, registros reversos, zonas secundárias (+ transferência de zona), DNSSEC, cota
Billing15Perfil, faturas, EVN (intervalos de provisionamento), tráfego, uso, utilização, catálogo de preços de produtos, especificação FOCUS v1.3
Certificate Manager6Certificados, auto-certificados, provedores
Activity Log2Contratos, eventos

118 ferramentas somente leitura, além de 93 ferramentas de escrita opcionais em Compute Engine, Kubernetes e DNS — consulte Operações de escrita. Para esquemas de entrada/saída por ferramenta, consulte a documentação por produto ou a Referência de Ferramentas completa em docs.ionos.com.

Instalação

Escolha o que se adequa ao seu fluxo de trabalho.

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

Execute com o transporte stdio do MCP (padrão):

docker run -i --rm \
  -e IONOS_TOKEN="$IONOS_TOKEN" \
  ghcr.io/ionos-cloud/ionoscloud-mcp

Ou via HTTP (consulte Transporte de fio):

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 suportados: claude-desktop, claude-code, cursor, vscode, windsurf, cline, continue, gemini-cli, kiro e outros. Consulte a listagem do Smithery para a lista atual.

Binário pré-compilado

Baixe o arquivo para seu SO/arquitetura na última versão. Disponível para Linux, macOS e Windows em amd64 e arm64.

go install

go install github.com/ionos-cloud/ionoscloud-mcp@latest

A partir do código-fonte

git clone https://github.com/ionos-cloud/ionoscloud-mcp.git
cd ionoscloud-mcp
make build

Configuração

Você precisa de uma conta IONOS CLOUD com credenciais 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"

Gere um token no IONOS CLOUD DCD em Gerenciamento → Gerenciamento de Tokens. As credenciais do Object Storage são criadas em Armazenamento e Backup → IONOS CLOUD Object Storage → Gerenciamento de chaves.

Para escopo de token com privilégios mínimos, consulte Autenticação em docs.ionos.com.

Integração com um cliente MCP (manual)

Adicione o servidor à configuração MCP do seu 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"
      }
    }
  }
}

As credenciais do Object Storage são necessárias apenas se você planeja usar as ferramentas do Object Storage.

Guias de configuração por cliente para os 12 clientes de IA suportados: Conectar a um Cliente de IA em docs.ionos.com.

Modo de carregamento de ferramentas

O modo de carregamento seleciona como as ferramentas são expostas. Defina-o com a flag --load-mode ou a variável de ambiente IONOS_MCP_LOAD_MODE; a flag vence se ambas forem definidas, e caso contrário o padrão é eager. A análise é insensível a maiúsculas/minúsculas.

  • eager (padrão): todas as ferramentas são registradas na inicialização. Recomendado para Claude Code (que adia esquemas completos no lado do cliente via ToolSearch, pagando ~1–3k tokens apenas por nomes) e o único modo funcional para clientes que ignoram notifications/tools/list_changed (Claude Desktop, conectores claude.ai, Claude no Chrome, scanner Smithery).

  • lazy: Compute e Object Storage são registrados apenas sob demanda. Duas ferramentas sentinela (ionos_load_compute_tools, ionos_load_objectstorage_tools) aparecem na inicialização; chamar qualquer uma registra o conjunto completo de produtos e emite notifications/tools/list_changed. Use apenas se o seu cliente MCP honrar essa notificação E não tiver adiamento de esquema no lado do cliente — caso contrário, o modo eager é mais barato.

  • dynamic (alias: search): o servidor expõe apenas três meta-ferramentas — ionos_search_tools, ionos_describe_tools e ionos_call_tool — e o modelo descobre e invoca o catálogo completo por meio delas em tempo de execução. A lista real de ferramentas nunca muda, então, ao contrário de lazy, isso não requer suporte a notifications/tools/list_changed. Destinado a clientes com limites rígidos de ferramentas e sem busca de ferramentas própria (por exemplo, o limite de ~40 ferramentas do Cursor, o limite de 100 do Windsurf). Trade-off: o modelo deve searchdescribecall em vez de ver as ferramentas diretamente, custando viagens de ida e volta extras, então prefira eager no Claude Code.

O servidor registra o modo efetivo e sua origem (flag / env / padrão) no stderr na inicialização, por exemplo, load mode: dynamic (source: --load-mode flag).

{
  "mcpServers": {
    "ionoscloud": {
      "command": "/path/to/ionoscloud-mcp",
      "args": ["--load-mode", "dynamic"],
      "env": {
        "IONOS_TOKEN": "your-api-token"
      }
    }
  }
}

Limites de contagem de ferramentas: o Windsurf limita servidores MCP conectados a 100 ferramentas combinadas; o Cursor limita a ~40 em todos os servidores. Com o modo eager padrão, o servidor excede ambos. No Windsurf, lazy mantém a superfície de inicialização pequena o suficiente; no Cursor (ou qualquer cliente com limite sem busca de ferramentas própria), use dynamic para apresentar apenas três ferramentas. Para mais informações, consulte Carregamento Seletivo de Ferramentas.

Transporte de fio

O servidor fala stdio por padrão — o modo que todo cliente MCP que gera subprocessos espera (Claude Desktop, Claude Code, Cursor, Windsurf, etc.). Para implantações remotas ou em rede (por exemplo, executar o servidor centralmente e apontar vários clientes para ele), mude para o transporte HTTP Streamable com --transport http ou IONOS_MCP_TRANSPORT=http; a flag vence se ambas forem definidas.

./ionoscloud-mcp --transport http --http-addr :8080
  • --transport <stdio|http> (ou IONOS_MCP_TRANSPORT) — seleciona o transporte. Valores não reconhecidos voltam para stdio com um aviso.
  • --http-addr <addr> (ou IONOS_MCP_HTTP_ADDR) — endereço de escuta para o transporte HTTP. Padrão 127.0.0.1:8080 (somente local); use :8080 para escutar em todas as interfaces. Ignorado para stdio.

O servidor registra o transporte efetivo e sua origem no stderr na inicialização, por exemplo, transport: http (source: --transport flag).

No modo HTTP, aponte seu cliente MCP para http://<host>:<port>/ como um servidor HTTP Streamable. Não há TLS ou autenticação integrados para o endpoint HTTP em si — coloque-o atrás de um proxy reverso (por exemplo, nginx, Caddy) se precisar ser alcançável fora de uma rede confiável. IONOS_TOKEN e as outras credenciais IONOS CLOUD ainda autenticam as chamadas do próprio servidor para a API IONOS, independentemente do transporte.

Operações de escrita

O servidor é somente leitura até você optar por participar. Ferramentas de escrita nunca são registradas e nunca aparecem em tools/list a menos que você defina a variável de ambiente IONOS_MCP_TOOL_SCOPE. A barreira se aplica em todos os modos de carregamento, incluindo o dispatcher dynamic — não há bypass.

O escopo é um conjunto hierárquico de capacidades separado por vírgulas (read está sempre ativo):

IONOS_MCP_TOOL_SCOPEHabilita
não definido / read (padrão)somente leitura (list_*, get_*, head_*)
writeo acima + create_*, update_* e as ações não disruptivas start_, resume_, attach_, assign_
destructiveo acima + delete_* e as ações disruptivas stop_, reboot_, suspend_, upgrade_, restore_, detach_, recreate_, import_ (implica write)
Valores não reconhecidos voltam ao padrão somente leitura, e o escopo efetivo é registrado no stderr na inicialização. Como os níveis são hierárquicos, um único valor é suficiente — destructive sozinho já concede write e read; você não precisa listar todos (embora uma lista separada por vírgulas como read,write também seja aceita).

O que pode ser escrito

ÁreaRecursos
Computaçãodata centers, servidores (+ iniciar/parar/reiniciar/suspender/retomar/atualizar), volumes (+ snapshot e restauração, anexar/desanexar), NICs, LANs
Redeblocos de IP (reserva e liberação apenas), grupos de segurança + regras, regras de firewall, conexões cruzadas privadas
Balanceamento de cargabalanceadores de carga clássicos, de rede e de aplicação + regras de encaminhamento, grupos de destino, gateways NAT + regras
Imagenssnapshot e atualização/exclusão de imagens
Kubernetesclusters, pools de nós (escala, atualização, autoescalonamento, LANs, rótulos, anotações), nós individuais (recriar, excluir)
DNSzonas primárias (+ importação de arquivo de zona BIND), registros, zonas secundárias (+ transferência de zona), registros reversos, ativação/desativação de DNSSEC

93 ferramentas no total. O servidor expõe 118 no escopo padrão somente leitura, 175 com write e 211 com destructive. As leituras não são afetadas e estão sempre disponíveis.

Confirmação em duas fases. Cada create_* e delete_*, além das ações disruptivas (stop_, reboot_, suspend_, upgrade_, restore_, detach_, recreate_), é controlado por confirmação, juntamente com a importação de arquivo de zona DNS. A primeira chamada não realiza mutação: ela retorna uma prévia — para uma exclusão, um resumo do raio de impacto do que será destruído — além de um confirmation_token de uso único (TTL de 5 minutos, vinculado àquele alvo e operação exatos). Somente uma segunda chamada que carregue esse token executa. Isso mantém um humano no circuito e limita o agente a um recurso por chamada. Alterações reversíveis de campo único (update_*, start_, attach_, assign_) são uma única chamada.

Anotações. As ferramentas de escrita carregam anotações MCP (readOnlyHint, destructiveHint, idempotentHint) para que os clientes possam criar sua própria experiência de aprovação — mas a aplicação é sempre no lado do servidor. Observe que a classe vem da operação, não do verbo HTTP: stop_server é um POST que é destrutivo, e import_dns_zone_file é um PUT que substitui todos os registros em uma zona.


⚠️ Operações de escrita criam recursos reais e cobranças reais

Habilitar IONOS_MCP_TOOL_SCOPE permite que um modelo de IA provisione infraestrutura cobrável na sua conta IONOS CLOUD ativa. Cada criação é um recurso real em uma fatura real, com efeito imediato.

Alguns recursos custam dinheiro mesmo quando nada os está usando — um bloco de IP reservado, um snapshot ou um volume deixado para trás após a exclusão do servidor. As exclusões são igualmente reais: dados destruídos não são recuperáveis sem um snapshot, e um endereço IP liberado não pode ser solicitado novamente.

Um modelo de IA decide quando e com que frequência chamar essas ferramentas. Ele pode interpretar mal sua intenção, tentar mais vezes do que você esperava ou escolher um recurso maior do que você tinha em mente. A confirmação em duas fases existe para colocar um humano nesse circuito, mas não pode impedir um cliente configurado para aprovar chamadas de ferramentas automaticamente — nessa configuração, o modelo pode concluir ambas as fases sozinho.

Você é responsável por tudo que for criado, modificado ou excluído na sua conta por meio dessas ferramentas, e pelas cobranças resultantes. A IONOS não controla e não é responsável pela forma como um modelo escolhe chamá-las, nem por qualquer custo, perda de dados ou indisponibilidade decorrente dessas chamadas.

Reduza o risco: deixe o servidor somente leitura, a menos que precise de escritas; conceda write em vez de destructive quando a exclusão não for necessária; exija aprovação manual das chamadas de ferramentas no seu cliente; leia a prévia antes de retornar um token de confirmação; e prefira uma conta fora de produção ao experimentar.


Habilite as escritas na configuração do seu cliente MCP, por exemplo:

{
  "mcpServers": {
    "ionoscloud": {
      "command": "/path/to/ionoscloud-mcp",
      "env": {
        "IONOS_TOKEN": "your-api-token",
        "IONOS_MCP_TOOL_SCOPE": "destructive"
      }
    }
  }
}

Demonstração

No Claude Desktop ou em qualquer outro cliente compatível, após configurar o servidor, tente um destes prompts. Eles cobrem os tipos de fluxos de trabalho de inspeção em várias etapas que são tediosos de escrever como scripts, mas fáceis em linguagem natural:

  • Auditoria de custos: "Audite minha conta IONOS CLOUD, encontre os 5 principais recursos que geram custos neste mês e sugira dicas de eficiência de custos."
  • Varredura de segurança: "Liste todos os buckets cujo bloqueio de acesso público está desativado ou cuja política é pública — sinalize qualquer coisa que pareça não intencional."
  • Trilha de auditoria: "Mostre-me todas as solicitações de API com falha no meu contrato nos últimos 30 dias, agrupadas por usuário."
  • Recursos esquecidos: "Encontre volumes não anexados, blocos de IP não utilizados e servidores parados em todos os meus data centers."
  • Verificação de sanidade do DNS: "Liste todas as zonas na minha conta e sinalize qualquer uma sem DNSSEC ativado ou com registros apontando para IPs que não possuo mais."
  • Expiração de certificados: "Quais certificados na minha conta expiram nos próximos 60 dias?"
  • Investigação de pico de tráfego: "Minha última fatura foi maior que o normal — mostre-me o tráfego diário e a utilização do período de faturamento anterior e diga o que mudou."
  • Tour de integração: "Explique-me o que tenho em execução na IONOS CLOUD — data centers, servidores, armazenamento, DNS — como se estivesse explicando para um novo colega de equipe."

Cada prompt encadeia múltiplas chamadas de list_* e get_* e produz um resumo que você pode colar em um ticket, painel ou documento. Para tutoriais de ponta a ponta:

Desenvolvimento

Testando o protocolo MCP localmente

Você pode testar a implementação do protocolo MCP do 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 a partir do código-fonte

make build
# or
go build -o ionoscloud-mcp .

Execute make sem argumentos para ver os alvos disponíveis.

Projetos relacionados

Contribuindo

Issues e pull requests são bem-vindos. Para configuração de desenvolvimento, estilo de código e instruções de teste, consulte CONTRIBUTING.md. Para perguntas e discussões, use GitHub Discussions.

Segurança

Se você acredita ter encontrado uma vulnerabilidade de segurança, por favor, não abra uma issue pública. Reporte-a de forma privada via relatório privado de vulnerabilidades do GitHub ou por e-mail para sdk-tooling@ionos.com. Política completa: SECURITY.md.

Changelog

Mudanças notáveis por versão são rastreadas em CHANGELOG.md. Para os artefatos publicados com cada tag (binários Linux/macOS/Windows, imagens OCI multi-arquitetura), consulte a página de GitHub Releases.

Documentação da API

Para mais informações sobre a API IONOS CLOUD:

Licença

Apache License 2.0 — consulte LICENSE.