UML-MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| KROKI_SERVER | No | Kroki server URL | https://kroki.io |
| MCP_READ_ONLY | No | Disable file writes | false |
| MCP_OUTPUT_DIR | No | Diagram output directory | ./output |
| PLANTUML_SERVER | No | PlantUML server URL | http://plantuml-server:8080 |
| USE_LOCAL_KROKI | No | Use local Kroki instance | false |
| USE_LOCAL_PLANTUML | No | Use local PlantUML instance | false |
| MCP_BATCH_MAX_ITEMS | No | Max items per generate_uml_batch | 20 |
| MCP_MAX_CODE_LENGTH | No | Max diagram code length | 500000 |
| MCP_RATE_LIMIT_PER_MINUTE | No | HTTP rate limit per IP for diagram/MCP routes (0 = off) | 0 |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_diagram_typesA | List supported diagram types with Kroki backend, description, and formats (same data as uml://types resource). Use when the client cannot read resources. |
| generate_uml_batchA | Generate multiple diagrams in one call. Each item is like generate_uml (diagram_type, code, output_format?, theme?, scale?). Optional shared output_dir for all items. Returns a list of per-index results or errors. |
| generate_umlA | Generate any UML or diagram by type (class, sequence, mermaid, d2, etc.) |
| validate_umlA | Validate diagram type, format, code length, and basic syntax locally before render (no Kroki call). Returns errors and suggestions. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| uml_diagram | Base prompt for UML diagram generation |
| uml_diagram_with_thinking | Prompt for generating UML diagrams with plan-then-generate. Same workflow as uml_diagram (plan first, then code and generate_uml), plus explicit planning instructions and optional sequential-thinking MCP guidance. |
| class_diagram | Prompt for generating UML class diagrams |
| sequence_diagram | Prompt for generating UML sequence diagrams |
| activity_diagram | Prompt for generating UML activity diagrams |
| usecase_diagram | Prompt for generating UML use case diagrams |
| mermaid_sequence_api | Prompt for a Mermaid sequenceDiagram showing a typical API call: client, API, optional auth/DB, request/response, and optional alt block. |
| mermaid_gantt | Prompt for a Mermaid gantt chart with title, dateFormat, sections, and tasks. |
| bpmn_process_guide | Prompt that instructs the model to explain how to draw a BPMN process model: start/end events, tasks, gateways, sequence flow, lanes, aligned with BPMN 2.0.2. Optionally point to uml://templates (key bpmn), uml://examples (key bpmn), and generate_uml. |
| c4_model | Task-specific guidance for C4 via Kroki c4plantuml backend (aligned with uml://templates key c4plantuml). |
| wireviz_harness | Aligned with uml://templates and uml://examples for wireviz. |
| bpmn_executable_process | Task-first BPMN XML; aligned with uml://templates (key bpmn). |
| convert_class_to_mermaid | Prompt for converting a class diagram (PlantUML or prose) into Mermaid classDiagram. Instructs to output Mermaid classDiagram and optionally call generate_uml("mermaid", code). |
| algorithm_explainer | Task-focused prompt for explaining algorithms as diagrams. Steers the model through (1) picking a diagram shape that matches the algorithm's structure, (2) labeling each step with its complexity, and (3) using layout directives that reduce crossing arrows. Then call `generate_uml` with the chosen `diagram_type` and the raw source. |
| paper_concept_diagram | Task-focused prompt for academic-paper concept diagrams with clickable citation links. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| get_diagram_types | Get available diagram types |
| get_diagram_templates | Get diagram templates for different diagram types |
| get_diagram_examples | Get diagram examples for different diagram types |
| get_output_formats | Get supported output formats for each diagram type |
| get_capabilities | Type → backend → formats matrix for tooling and clients. |
| get_server_info | Get MCP server information |
| get_diagram_recipes | Return curated starter recipes that map a use case to a ready-to-edit source body. |
| get_recommended_workflow | Return the recommended workflow: plan first, then call generate_uml. |
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/antoinebou12/uml-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server