cloudwright-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| OPENAI_API_KEY | No | OpenAI API key for LLM operations (design, modify, chat, adr). | |
| ANTHROPIC_API_KEY | No | Anthropic API key for LLM operations (design, modify, chat, adr). | |
| CLOUDWRIGHT_MODEL | No | Override the LLM model (e.g., 'gpt-5', 'claude-opus-4-6'). | |
| CLOUDWRIGHT_API_KEY | No | API key for web server authentication (fail-fast if not set). | |
| CLOUDWRIGHT_LOG_FORMAT | No | Log format (e.g., 'json', 'console'). | |
| CLOUDWRIGHT_TRUST_PROXY | No | Enable trust for X-Forwarded-For headers behind a reverse proxy. | |
| CLOUDWRIGHT_CORS_ORIGINS | No | CORS origins for web UI (comma-separated list). | |
| CLOUDWRIGHT_LLM_PROVIDER | No | LLM provider to use (e.g., 'openai', 'anthropic'). Auto-detects from API keys if not set. | anthropic |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| design_architectureA | Design a cloud architecture from a natural-language description. Primary entry point for greenfield architecture design. Returns a complete ArchSpec (YAML-serializable dict) with components, connections, tier assignments, and a cost estimate. When to use: You have a requirement (prose) and need a concrete architecture
with services, wiring, and cost. Use Behavior: Calls an LLM provider (Anthropic or OpenAI depending on configured keys) — incurs API costs per invocation. Deterministic post-processing layers (cost engine, catalog lookup) apply safe defaults like encryption-at-rest, multi-AZ on databases, and auto-scaling. Does not deploy or modify any cloud resources. |
| modify_architectureA | Modify an existing architecture with a natural-language instruction. When to use: You already have an ArchSpec and want to evolve it (add a
cache, swap a service, change a region). Returns the updated ArchSpec.
For from-scratch design, use Behavior: Calls an LLM provider — incurs API costs. Pure function: returns a new spec without mutating the input. Does not deploy. |
| compare_providersA | Compare an architecture's service mapping across cloud providers. Returns one translated ArchSpec per target provider, showing which services the original would become on each. Use this to understand architectural portability and equivalent services. When to use vs Behavior: Calls an LLM to resolve ambiguous service mappings where the static equivalence table is insufficient. Does not deploy. |
| estimate_costA | Estimate the monthly cloud bill for an architecture spec. Returns a structured estimate with per-component breakdown, total monthly cost, data-transfer costs, and currency. Deterministic: same spec + tier yields same result. When to use: You need the numeric bill for one architecture on one
provider+tier combination. For multi-provider comparison of just the
costs, use Behavior: Pure computation — no LLM, no network, no API costs. Works offline. Does not deploy or touch cloud resources. |
| compare_provider_costsA | Compare the monthly cost totals of an architecture across cloud providers. Returns one numeric cost summary per provider (monthly total, per-component breakdown, currency). Use this for cost-focused provider selection. When to use vs Behavior: Pure computation — no LLM, no network, no API costs. Uses the
same offline catalog as |
| validate_complianceA | Validate an architecture against compliance frameworks. Returns one result object per framework with pass/fail status per check, evidence (which components triggered the rule), and remediation hints. When to use: You have a proposed architecture and need to know whether
it satisfies HIPAA / PCI-DSS / SOC 2 / FedRAMP / GDPR before proceeding.
Use Behavior: Pure computation — no LLM, no network. Evaluates the spec statically against 30+ rules. Does not access or modify any cloud resources. |
| security_scanA | Scan an architecture for security anti-patterns and misconfigurations. Returns a structured report with severity-graded findings (critical / high
/ medium / low / info), each tied to specific component IDs. Framework-
agnostic — use Checks include: unencrypted data stores, public-facing databases, missing WAF on public HTTP endpoints, weak auth on APIs, SPOFs, overly permissive connection protocols. Behavior: Pure computation — no LLM, no network. Does not touch cloud. |
| scan_terraformA | Scan Terraform HCL source for security misconfigurations. Returns findings (severity-graded) tied to specific resource blocks — e.g.
aws_s3_bucket with When to use: You have existing Terraform code (not an ArchSpec) and want
an immediate security audit. For ArchSpec-level audit, use Behavior: Pure computation — no LLM, no network. Does not run Terraform or touch cloud. Safe for scanning untrusted HCL. |
| lint_architectureA | Lint an architecture for anti-patterns and best-practice violations. Returns a list of warnings with rule name, severity (error / warning), component IDs involved, and a human-readable message. Errors (production-blocking): unencrypted data stores, single-AZ databases, missing load balancer on public compute, public databases, single point of failure. Warnings (review-worthy): oversized instances (16xlarge+), missing WAF, missing monitoring, missing backups, missing auth. When to use vs Behavior: Pure computation — no LLM, no network. Does not touch cloud. |
| analyze_blast_radiusA | Analyze blast radius and dependency structure of an architecture. For each component (or just one, if When to use: You have a spec and want to understand coupling and failure
domains before production. Complementary to Behavior: Pure graph computation — no LLM, no network. Read-only. Does not touch cloud resources. |
| score_architectureA | Score an architecture across reliability, security, cost, compliance, and complexity. Returns the dimension scores, overall weighted score (0-100), letter grade, and per-dimension notes. Weights: Reliability 30% (load balancing, multi-AZ, auto-scaling, CDN, caching), Security 25% (WAF, auth, encryption, HTTPS, DNS), Cost Efficiency 20% (budget compliance, free- tier usage), Compliance 15% (framework validation), Complexity 10% (component count, connection density, tier separation). When to use: You want a quick quality summary before a design review.
For specific findings, use Behavior: Pure computation — no LLM, no network. Read-only. |
| diff_architecturesA | Diff two architecture specs and return a structured change report. Returns a structured delta: components added / removed / modified, connections added / removed / modified, cost delta (USD/month), compliance-impact flags (e.g. WAF removal, encryption-at-rest turned off), and a human-readable summary. When to use: You have two versions of a spec (before / after a proposed change) and need a reviewable diff for approval or ADR writing. Behavior: Pure computation — no LLM, no network. Read-only. Does not modify either spec. |
| export_architectureA | Export an architecture spec to Terraform, CloudFormation, Mermaid, D2, or other formats. Returns When to use: You have a finalized ArchSpec and need IaC code, a diagram,
or an audit artifact. For multi-format export, call once per Behavior: Pure computation — no LLM, no network. Does not write files or deploy; the caller is responsible for persisting or applying the returned content. |
| list_servicesA | List all cloud services supported for a given provider. Returns one entry per service with its slug, human-readable name, category
(compute / database / storage / networking / etc.), and supported tiers.
Use this to discover valid Behavior: Pure lookup from the bundled service registry — no LLM, no network, no cloud access. |
| catalog_searchA | Search the cloud instance catalog by provider, specs, or text query. Returns matching instance types with instance family, vCPU / memory / storage, hourly on-demand price, region availability, and architecture (x86 / arm). All filters combine with AND semantics. When to use: Right-sizing workloads, finding the cheapest instance that meets a hardware bar, or discovering equivalents across families. Behavior: Pure lookup from the bundled SQLite catalog — no LLM, no
network. Prices reflect catalog snapshot date (see |
| chat_create_sessionA | Create a new stateful architecture-design conversation session. Returns When to use: Multi-turn architecture design where each turn depends on
the prior one (e.g. 'design it', 'now add a cache', 'now move to GCP').
For single-shot design use Behavior: Writes a new session file to the session store (persisted on
disk). Does not call the LLM — the first LLM call happens on the first
|
| chat_sendA | Send a message to an existing conversation session and get a response. Returns When to use: Every turn after Behavior: Calls an LLM — incurs API costs proportional to the conversation history length (history grows each turn). Persists updated session state back to the session store. |
| chat_list_sessionsA | List all saved conversation sessions. Returns a list of session metadata: session_id, creation timestamp, last-activity timestamp, cumulative token usage, and whether the session currently owns a spec. When to use: Resuming prior work, cleaning up abandoned sessions, or auditing session token spend. Behavior: Pure disk read — no LLM, no network. Read-only. |
| chat_delete_sessionA | Delete a conversation session. Returns When to use: Clean-up after a completed design, or abandoning a dead-end conversation. Does not affect any deployed infrastructure — cloudwright never deploys anything. Behavior: Removes the session file from the session store. No LLM, no network. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/xmpuspus/cloudwright'
If you have feedback or need assistance with the MCP directory API, please join our Discord server