KosmoKrator

rendering

PlantUML MCP Integration for CrewAI

Connect PlantUML to CrewAI through the local KosmoKrator MCP gateway with scoped tools, credentials, and write policy.

1 functions 0 read 1 write No credentials auth

Connect PlantUML to CrewAI

Expose KosmoKrator integrations to CrewAI workers as scoped local tools.

Wrap kosmo integrations:call for specific tasks or connect workers to a local MCP gateway. The gateway is local, scoped to this integration, and starts with --write=deny so CrewAI can inspect read-capable tools without receiving write access by default.

PlantUML MCP Config for CrewAI

Use per-worker integration scopes to avoid giving every worker every tool.

{
  "mcpServers": {
    "kosmokrator-plantuml": {
      "type": "stdio",
      "command": "kosmo",
      "args": [
        "mcp:serve",
        "--integration=plantuml",
        "--write=deny"
      ]
    }
  }
}

Run the Gateway Manually

kosmokrator mcp:serve --integration=plantuml --write=deny

Why Use KosmoKrator Here

Scoped tools

Expose only PlantUML instead of a broad multi-service tool list.

Local credentials

Reuse credentials already configured for the KosmoKrator CLI and Lua runtime.

Write policy

Start read-only, then opt into ask or allow for trusted workspaces.

PlantUML Tools Visible to CrewAI

CrewAI sees stable MCP tool names generated from the PlantUML integration catalog.

MCP toolSource functionTypeDescription
integration__plantuml__render_plantuml plantuml.render_plantuml Write Render a PlantUML diagram to a PNG image. Pass valid PlantUML syntax and get back a markdown image embed. Supported diagram types: class, sequence, activity, component, state, use case, object, deployment, timing, network (nwdiag), wireframe (salt), Gantt, mindmap, WBS, JSON, YAML, ERD. Example syntax: ``` @startuml Alice -> Bob: Authentication Request Bob --> Alice: Authentication Response Alice -> Bob: Another request Bob --> Alice: Another response @enduml ``` Tips: - Always wrap syntax in @startuml / @enduml - Use `->` for solid arrows, `-->` for dashed arrows - Use `class ClassName { }` blocks for class diagrams - Use `(*) -->` for activity diagram start - Use `[Component]` for component diagrams - Use `state "Name" as s1` for state diagrams

Related PlantUML Pages