{"serverInfo":{"name":"UML Diagram Generator","version":"1.4.0","title":"UML Diagram Generator","description":"Create and validate UML, Mermaid, D2, Graphviz, C4, BPMN and other diagrams from source code. Return rendered images, shareable URLs, and editable playground links.","websiteUrl":"https://antoinebou12.github.io/uml-mcp/","icons":[{"src":"https://uml-mcp.vercel.app/favicon.svg","mimeType":"image/svg+xml","sizes":["any"]}]},"tools":[{"name":"list_diagram_types","description":"Find diagram types by text, renderer, or output format. Returns a map keyed by diagram_type, with each type’s backend, description, and supported formats.","inputSchema":{"type":"object","properties":{"query":{"type":"string","description":"Query"},"backend":{"type":"string","description":"Backend"},"output_format":{"type":"string","description":"Output Format"},"limit":{"type":"string","description":"Limit"}},"required":[]},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"title":"List Diagram Types"}},{"name":"generate_uml","description":"Render diagram source into an image. Returns url (render link), playground (source editor), display_markdown (chat embed), and content_base64/mime_type when image bytes are fetched. local_path identifies a saved file. Use output_format=png for inline bytes, or call generate_uml_image. MCP Apps hosts may open the linked diagram viewer.","inputSchema":{"type":"object","properties":{"diagram_type":{"type":"string","description":"Diagram type such as class, sequence, mermaid, d2, or graphviz. Use list_diagram_types when unsure."},"code":{"type":"string","description":"Diagram source code in the syntax required by diagram_type."},"output_dir":{"type":"string","description":"Local directory to save the rendered file. Omit for URL/base64 output. Hosted/read-only deployments reject file output."},"output_format":{"type":"string","description":"Requested output format: svg, png, pdf, jpeg, txt, or base64 when supported by the selected diagram type."},"theme":{"type":"string","description":"Optional theme: PlantUML name (e.g. cerulean), Mermaid default/dark/forest/neutral/base, or D2 default/dark (theme-id); ignored for other backends."},"scale":{"type":"string","description":"SVG scale factor. For example, 2.0 doubles SVG dimensions. Ignored for non-SVG output."}},"required":["diagram_type","code"]},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true,"title":"Generate Diagram"}},{"name":"generate_uml_image","description":"Render a diagram as MCP ImageContent for chat. Returns content_base64 and mime_type for image bytes, url and playground links, and display_markdown. Use when the user asks to show or display the diagram. Fetches bytes even under URL-only. MCP Apps hosts may open the linked diagram viewer.","inputSchema":{"type":"object","properties":{"diagram_type":{"type":"string","description":"Diagram Type"},"code":{"type":"string","description":"Code"},"output_format":{"type":"string","description":"Output Format"},"theme":{"type":"string","description":"Theme"},"scale":{"type":"string","description":"Scale"}},"required":["diagram_type","code"]},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true,"title":"Generate Diagram Image"}},{"name":"validate_uml","description":"Validate diagram type, format, and syntax locally (no render). Returns valid, errors, warnings, suggestions, and diagnostics; prepared_code is normalized source and changes explains normalization. Set strict=true for extra Mermaid/D2 checks.","inputSchema":{"type":"object","properties":{"diagram_type":{"type":"string","description":"Diagram type to validate. Use list_diagram_types when unsure."},"code":{"type":"string","description":"Diagram source code to validate locally without rendering."},"output_format":{"type":"string","description":"Output format whose compatibility should be validated."},"strict":{"type":"boolean","description":"Strict"}},"required":["diagram_type","code"]},"annotations":{"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":false,"title":"Check Diagram Source"}},{"name":"generate_uml_batch","description":"Render several diagrams with bounded concurrency. Each item uses the same fields as generate_uml. Partial failures stay isolated per index.","inputSchema":{"type":"object","properties":{"items":{"type":"string","description":"Items"},"output_dir":{"type":"string","description":"Output Dir"}},"required":["items"]},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true,"title":"Generate Diagram Batch"}},{"name":"rerender_diagram","description":"Render the viewer’s diagram source again with the selected theme and format. Returns content_base64, mime_type, url, playground, and display_markdown. Hidden from the model; callable from ui://uml-mcp/diagram-viewer via tools/call.","inputSchema":{"type":"object","properties":{"diagram_type":{"type":"string","description":"Diagram Type"},"code":{"type":"string","description":"Code"},"output_format":{"type":"string","description":"Output Format"},"theme":{"type":"string","description":"Theme"},"scale":{"type":"string","description":"Scale"}},"required":["diagram_type","code"]},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true,"title":"Re-render Diagram"}}],"resources":[{"uri":"uml://types","name":"uml://types","description":"Returns available diagram types with backend, description, and supported formats (e.g. class, sequence, mermaid, d2). Use before generating to verify diagram_type."},{"uri":"uml://templates","name":"uml://templates","description":"Returns starter templates (PlantUML, Mermaid, D2, etc.) for each diagram type. Use to get minimal valid code to customize."},{"uri":"uml://examples","name":"uml://examples","description":"Returns example diagrams for each type (class, sequence, activity, etc.). Use as reference for syntax and structure."},{"uri":"uml://formats","name":"uml://formats","description":"Returns supported output formats (svg, png, pdf) per diagram type. Use to choose valid output_format for generate_uml."},{"uri":"uml://capabilities","name":"uml://capabilities","description":"Matrix of diagram_type -> backend engine and supported output_format values. Same data the server uses for validation before render."},{"uri":"uml://server-info","name":"uml://server-info","description":"Returns server metadata: name, version, tools, prompts, Kroki URL. Use for discovery and health checks."},{"uri":"uml://recipes","name":"uml://recipes","description":"Starter recipes (algorithm_flowchart, paper_concept) with diagram_type + template for generate_uml."},{"uri":"uml://workflow","name":"uml://workflow","description":"Plan-then-generate workflow; pairs with uml_diagram / skill://uml-mcp-diagrams/SKILL.md."}],"prompts":[{"name":"uml_diagram","description":"Plan-then-generate any catalog diagram_type. context: diagram_type?, thinking=false?"},{"name":"algorithm_explainer","description":"Algorithm diagram with Big-O labels; uml://recipes algorithm_flowchart."},{"name":"paper_concept_diagram","description":"Paper/concept diagram with clickable citations (SVG); uml://recipes paper_concept."},{"name":"diagram_theme","description":"Pick a generate_uml theme for light, dark/black, or B&W backgrounds. context: background?, diagram_type?"},{"name":"architecture_report","description":"Markdown architecture report with generate_uml diagrams and TOC."}],"configSchemaUrl":"config-schema.json"}