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 |
Sì — 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.