CloudBoosterDocs

render_diagram

Render a Mermaid or SVG diagram from a deployment plan

render_diagram

Render a diagram representation from a deployment plan.

  • Family: composition
  • Source: cbx-mcp/src/cbx_mcp/tools/compose.py::render_diagram
  • Backend: POST /v1/compose/render-diagram

Input schema

{
  "type": "object",
  "properties": {
    "plan": {
      "type": "object",
      "description": "Resolved composition plan, typically the `result.plan` of aws_resolve_composition."
    },
    "format": {
      "type": "string",
      "enum": ["mermaid", "svg"],
      "default": "mermaid",
      "description": "Output format. Defaults to 'mermaid'."
    }
  },
  "required": ["plan"]
}

Output schema

{
  "type": "object",
  "properties": {
    "isError": { "type": "boolean" },
    "result": {
      "type": "object",
      "properties": {
        "rendered": {
          "type": "string",
          "description": "Diagram source. For `format: 'mermaid'` this is Mermaid markup; for `format: 'svg'` it is the SVG document body."
        }
      },
      "required": ["rendered"]
    },
    "error": { "type": "string" }
  },
  "required": ["isError"]
}

The shape is the same for both formats — only the contents of rendered differ.

Example call

{
  "name": "render_diagram",
  "arguments": {
    "plan": {
      "components": [
        { "type_id": "aws:s3/bucket@v1", "name": "bucket" }
      ],
      "deploy_order": ["bucket"],
      "errors": [],
      "warnings": [],
      "auto_completed": [],
      "conflicts": [],
      "rule_set_hash": null
    },
    "format": "mermaid"
  }
}

Example result

Illustrative — Mermaid markup as a single string.

{
  "isError": false,
  "result": {
    "rendered": "graph LR\n  bucket[(S3 Bucket)]"
  }
}

On this page