rendering
PlantUML MCP Integration for CrewAI
Connect PlantUML to CrewAI through the local KosmoKrator MCP gateway with scoped tools, credentials, and write policy.
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
Expose only PlantUML instead of a broad multi-service tool list.
Reuse credentials already configured for the KosmoKrator CLI and Lua runtime.
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 tool | Source function | Type | Description |
|---|---|---|---|
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 |