CloudBoosterDocs

aws_propose_components

Propose AWS infrastructure components from a high-level intent

aws_propose_components

Propose AWS infrastructure components given a high-level intent.

Calls the deterministic CloudBooster planner; returns a ranked list of ComponentCandidate objects.

  • Family: composition
  • Source: cbx-mcp/src/cbx_mcp/tools/compose.py::aws_propose_components
  • Backend: POST /v1/compose/aws/propose

Input schema

{
  "type": "object",
  "properties": {
    "intent": {
      "type": "string",
      "description": "Plain-English description, e.g. 'host a static site with auth'."
    },
    "constraints": {
      "type": "object",
      "description": "Optional key/value constraints, e.g. {\"region\": \"us-east-1\", \"scale_tier\": \"small\"}."
    }
  },
  "required": ["intent"]
}

The MCP tool sends a request body with the literal keys intent (string) and constraints (object) to the backend; both keys are forwarded verbatim. How the planner maps these onto its internal workload-intent model is a server-side concern that callers do not need to reason about.

Output schema

{
  "type": "object",
  "properties": {
    "isError": { "type": "boolean" },
    "result": {
      "type": "object",
      "properties": {
        "candidates": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "type_id":      { "type": "string" },
              "display_name": { "type": "string" },
              "explanation":  { "type": "string" },
              "rank_score":   { "type": "number" },
              "name":         { "type": ["string", "null"] },
              "desired_input": { "type": "object" }
            },
            "required": ["type_id", "display_name", "explanation", "rank_score"]
          }
        }
      },
      "required": ["candidates"]
    },
    "error": { "type": "string" }
  },
  "required": ["isError"]
}

Example call

{
  "name": "aws_propose_components",
  "arguments": {
    "intent": "host a static site with auth",
    "constraints": {
      "region": "us-east-1",
      "scale_tier": "small"
    }
  }
}

Example result

Illustrative — values follow the backend's published OpenAPI example for this route; real responses will contain more candidates and richer explanation strings.

{
  "isError": false,
  "result": {
    "candidates": [
      {
        "type_id": "aws:s3/bucket@v1",
        "display_name": "S3 Bucket",
        "explanation": "Object storage for static assets",
        "rank_score": 0.95
      }
    ]
  }
}

On this page