
Cloudwright turns natural language descriptions into production-ready infrastructure code with cost estimates and compliance reports attached. The MCP server exposes 18 tools across design, cost estimation, validation, analysis, and export operations. You can ask Claude to design a "HIPAA healthcare API on AWS with Postgres and Redis" and get back a typed architecture spec, per-component cost breakdown across four workload profiles, compliance findings mapped to specific HIPAA, SOC 2, and FedRAMP control IDs, and deployable Terraform or Pulumi. The validation tools catch anti-patterns at design time, the plan command proves the exported HCL actually validates, and the drift analyzer compares your spec against live Terraform state. Reach for this when you want to prototype cloud architectures in conversation and export tested infrastructure code without leaving the chat window.
Design a cloud architecture or plan a migration. Get costs, controls, code, and checked evidence.

pip install 'cloudwright-ai[cli]'
export ANTHROPIC_API_KEY=sk-ant-...
cloudwright design "HIPAA healthcare API on AWS with Postgres and Redis"
Cloudwright turns one line of English into a typed spec, a cost breakdown, a control-mapped compliance report,
and infrastructure code. A source estate and target become ordered migration waves, explicit costs,
and evidence gates. It covers AWS, GCP, Azure and Databricks across 114 service keys. Only design, modify,
chat and adr call a model. Every other command runs offline and needs no API key.
Quickstart · Migrations · Compliance · Agents · Docs · Changelog
Exports carry safe defaults. S3 gets a public-access block, SSE and versioning. RDS gets encryption, multi-AZ and deletion protection. EC2 gets IMDSv2. A compliance framework overrides the workload profile, and always forces encryption and high availability.
cloudwright design "HIPAA healthcare API on AWS with Postgres and Redis"
cloudwright cost spec.yaml --workload-profile medium
cloudwright compliance spec.yaml --frameworks hipaa,soc2
cloudwright export spec.yaml --format terraform -o ./infra
cloudwright plan spec.yaml --target terraform # proves it deploys, never applies
cloudwright migrate demo # packaged migration proof, fully offline
cloudwright chat --web # canvas at http://localhost:8765
Add --json before any subcommand for machine-readable output, or --stream to watch tokens arrive. Set ANTHROPIC_API_KEY or OPENAI_API_KEY for the four commands that need a model.

The migration model covers infrastructure, applications, data, platforms, networks, facilities, and business services in one dependency graph. It works for on-premises, cloud, cross-cloud, hybrid, data-center, and application moves. It plans and checks work. It never copies data, applies infrastructure, switches traffic, or runs a cutover.
cloudwright migrate plan examples/migrations/ph-telco-project.yaml -o assessment.yaml
cloudwright migrate verify examples/migrations/ph-telco-project.yaml examples/migrations/ph-telco-evidence.yaml

The core has no telco fields. The first proof project selects an external ph_telco pack for subscriber,
billing, usage-record, number-porting, privacy, recovery, and source-shutdown gates. A manufacturing ERP
fixture proves the same planner works without that pack. Missing blocking evidence changes the result to
closed: false and makes migrate verify exit with code 2. Each evidence file carries the deterministic
assessment ID, so observations from an older target or cutover plan cannot close a revised assessment.
MCP clients use the same engine through plan_migration and verify_migration in the migration tool group.
See Migration planning and evidence for the file contract, Python API, HTTP routes, domain-pack format, limits, and recording commands.

Other tools scan infrastructure after you deploy it. Cloudwright maps each finding to its control before any
resource exists. The fix then costs a spec edit instead of a change ticket. HIPAA 164.312(a)(2)(iv), SOC 2 CC6.1
and FedRAMP SC-28 come from the built-in scanner, with no extra tooling. Checkov folds into the same report
when it sits on your PATH.
--oscal writes an OSCAL 1.1.2 component-definition with deterministic UUIDs.--traceability prints the chain from component to resource to control to status.cloudwright plan runs terraform validate against the export, and never applies.
cloudwright review runs the scorer, the linter and the validator over a spec, and returns one severity-ranked
report. The same three critics run inside cloudwright design. When blocking findings survive generation, the
architect repairs the spec once and records the change in spec.metadata.critique. Pass
Architect(repair=False) to turn that off.

Add, drag, connect, edit and delete are deterministic frontend mutations. The Catalog drawer serves the resource
list per provider and five approved multi-resource modules. Its standards check flags orphan connections,
partial modules and missing tags. An intact module exports as a single Terraform module block, with the
catalog's pinned source and version.
cloudwright integrate --harness claude-code # exact wiring, in that client's format
cloudwright integrate --harness cursor --write # merge it into the right file
cloudwright integrate --rules --agent-file claude # a gate block for CLAUDE.md
Do not hand-write the config. cloudwright integrate emits it for Claude Code, Cursor, Cline, Windsurf, GitHub
Copilot, Zed, Codex CLI, Junie, Kiro and Antigravity. Aider gets a CLI-pipe recipe instead, because it speaks
no MCP. Every client wants a different shape: Zed wants context_servers, Copilot wants servers, and Codex
wants a TOML table.
The server exposes 24 tools in 10 groups: design, cost, validate, analyze, export, session, review, compliance, plan and migration. Full matrix in docs/integrations.md.
lint runs 10 anti-pattern checks. score grades 5 dimensions. analyze reports blast radius and single
points of failure. policy enforces policy-as-code with 9 built-in rules. security scans the spec and the
exported HCL. drift compares a design against a tfstate, and --remediate turns the gap into a cost,
compliance and plan preview.
review, compliance and plan are above. See docs/cli-reference.md.
from cloudwright import ArchSpec
from cloudwright.cost import CostEngine
from cloudwright.validator import Validator
from cloudwright.exporter import export_spec
spec = ArchSpec.from_file("spec.yaml")
priced = CostEngine().estimate(spec, workload_profile="medium")
findings = Validator().validate(spec, compliance=["hipaa", "pci-dss"])
hcl = export_spec(spec, "terraform", output_dir="./infra")
migrate verify return exit code 2.Earlier releases added control-ID mapping and plan (v1.5.0), the self-correcting architect and OSCAL
(v1.6.0), cloudwright integrate (v1.7.0), the responsive dark-theme canvas (v1.8.0), and measured
canvas interaction fixes (v1.9.0). Full history in CHANGELOG.md.
cloudwright-ai[cli], cloudwright-ai[web], cloudwright-ai-mcp.