Navigazione docs

Server MCP

cloudrift può girare come server MCP (Model Context Protocol) locale, così un agente AI — Claude Code, Kiro, VS Code Copilot Chat (Agent mode), o qualsiasi altro client compatibile — può chiamare direttamente gli scanner di cloudrift come tool, senza lanciare la CLI a mano.

Tool esposti

Tool Fa chiamate AWS? Cosa restituisce
analyze_cloudrift — chiamate reali, con credenziali Report JSON aggregato sui quattro domini (spreco cloud-cost, risorse morte, sicurezza delle risorse, trend di spesa). Accetta regions, livePricing, minAgeDays, ignoreTag, configPath.
get_resource_types No — statico Catalogo completo dei tipi di risorsa rilevabili, con etichette.
get_required_iam_permissions No — statico La policy IAM read-only necessaria per analyze_cloudrift.

analyze_cloudrift eredita le stesse credenziali AWS di ogni altro comando cloudrift — un agente con accesso a questo server vede tutto ciò che quelle credenziali possono vedere. Tienilo presente quando decidi se auto-approvarlo.

Collegare un client

Kiro, VS Code e Claude Code usano ciascuno un formato di configurazione diverso — un file copiato 1:1 da uno all’altro non funzionerà.

Kiro IDE

.kiro/settings/mcp.json (workspace) oppure ~/.kiro/settings/mcp.json (globale):

{
  "mcpServers": {
    "cloudrift": {
      "command": "npx",
      "args": ["@cloudrift/cli@latest", "mcp"],
      "disabled": false,
      "autoApprove": ["get_resource_types", "get_required_iam_permissions"]
    }
  }
}

analyze_cloudrift è escluso da autoApprove perché è l’unico tool che fa chiamate AWS reali — gli altri due sono statici. Aggiungilo quando ti senti a tuo agio.

VS Code (GitHub Copilot Chat, Agent mode)

.vscode/mcp.json (workspace) oppure tramite MCP: Open User Configuration, chiave radice servers:

{
  "servers": {
    "cloudrift": {
      "command": "npx",
      "args": ["@cloudrift/cli@latest", "mcp"]
    }
  }
}

I tool MCP sono utilizzabili solo in Agent mode della Chat di Copilot — non in modalità Ask/Edit.

Claude Code

Il modo più rapido — lascia che sia la CLI a scrivere la configurazione:

claude mcp add cloudrift -- npx @cloudrift/cli@latest mcp

Aggiungi --scope project se vuoi che .mcp.json finisca committato nel repo e condiviso col team. .mcp.json scritto a mano:

{
  "mcpServers": {
    "cloudrift": {
      "type": "stdio",
      "command": "npx",
      "args": ["@cloudrift/cli@latest", "mcp"]
    }
  }
}

Claude Code ha tre scope di configurazione (local, project, user), scelti con --scope su claude mcp add. Comandi utili: claude mcp list, claude mcp get cloudrift, /mcp dentro una sessione.

Ambiente AWS non predefinito

Un client MCP lancia cloudrift mcp con un ambiente ridotto — non una copia della shell. Se ti appoggi a AWS_PROFILE o un override di regione, aggiungilo esplicitamente sotto env:

{
  "mcpServers": {
    "cloudrift": {
      "command": "npx",
      "args": ["@cloudrift/cli@latest", "mcp"],
      "env": { "AWS_PROFILE": "my-profile", "AWS_REGION": "eu-west-1" }
    }
  }
}

Un sintomo silenzioso di questa dimenticanza: ogni chiamata riesce, ma analyze_cloudrift restituisce un report vuoto — nessun errore, perché un fallimento di scan per regione viene esposto come scanErrors/domainErrors, non un crash. Se i finding sembrano più scarsi del previsto, controlla env prima di ogni altra cosa.