git:20260503.2df8dd8 to git:20260503.1706cae

43 added, 59 removed. Audit A to B.

- # UML-MCP: LLM-oriented overview
-
- Human-oriented index (install, clients, troubleshooting): docs/user-manual.md
-
- Teaser
- UML-MCP renders PlantUML, Mermaid, D2, and Kroki-backed types (Sequence, Use Case, Class, Activity, Component, State, Object, Deployment, Mermaid, D2, Graphviz, ERD, BPMN, C4) from text you or the user supply.
-
- Prompt hint
- [DIAGRAM TYPE]: Sequence, Use Case, Class, Activity, Component, State, Object, Deployment, Mermaid, D2, Graphviz, ERD, BPMN, C4.
- [ELEMENT TYPE]: Actors, Messages, Objects, Classes, Interfaces, Components, States, Nodes, Edges, Links, Frames, Constraints, Entities, Relationships, Tasks, Events, Modules.
- [PURPOSE]: Communication, Planning, Design, Analysis, Modeling, Documentation, Implementation, Testing, Debugging.
- [DIAGRAMMING TOOL]: PlantUML, Mermaid, D2 (Kroki for rendering).
-
- Recommended: use the uml_diagram or uml_diagram_with_thinking prompt so the model plans first (diagram type, purpose, elements), then generates code and calls generate_uml.
+ # UML-MCP — LLM-oriented project summary
- ---
+ > Human-oriented docs: https://antoinebou12.github.io/uml-mcp/ — repo: https://github.com/antoinebou12/uml-mcp
- UML-MCP is a diagram generation server that implements the Model Context Protocol (MCP). It lets AI assistants and other MCP clients create diagrams (UML, Mermaid, D2, Graphviz, ERD, etc.) via tools and resources.
+ UML-MCP is a Python MCP (Model Context Protocol) server that renders diagrams from text: PlantUML UML, Mermaid, D2, Graphviz, Kroki-backed types (30+ diagram kinds), with SVG/PNG/PDF/JPEG and base64 outputs. Pipeline: Kroki first, then PlantUML or Mermaid.ink fallbacks.
- ## What it does
+ ## Endpoints
- - Generates diagrams from code/descriptions using PlantUML, Kroki, Mermaid, D2, Graphviz backends.
- - Exposes MCP tools generate_uml and validate_uml, plus resources (uml://types, uml://templates, uml://examples, uml://formats, uml://server-info, uml://workflow).
- - Output formats: SVG, PNG, PDF, JPEG (and others per diagram type; see uml://formats).
+ - Public HTTP MCP: https://uml-mcp.vercel.app/mcp (path must be `/mcp`, not site root)
+ - Smithery: https://smithery.ai/server/antoinebou12/uml
- ## Diagram types
+ ## MCP tools
- - UML: class, sequence, activity, use case, state, component, deployment, object.
- - Other: Mermaid, D2, Graphviz, ERD, BlockDiag, BPMN, C4 (PlantUML).
+ - generate_uml — diagram_type, code, output_format, optional output_dir/theme/scale; omit output_dir for URL + base64 only (typical on remote)
+ - validate_uml — validate before render; `strict` for extra Mermaid/D2 checks
+ - list_diagram_types — same idea as uml://types when resources are awkward
+ - generate_uml_batch — multiple diagrams; cap via MCP_BATCH_MAX_ITEMS (default 20)
- ## MCP tools (summary)
+ Full parameters: docs/api/tools.md (in repo) or the published docs site under Reference.
- - generate_uml: Render a diagram. Params: diagram_type, code, output_dir (optional), output_format, theme, scale. Omit output_dir for URL/base64 only. Use uml://types for valid types.
- - validate_uml: Validate inputs locally before render. Params: diagram_type, code, output_format.
+ ## MCP resources (uml://)
- Full list and parameters: docs/api/tools.md
+ - uml://types — types, backends, formats per type
+ - uml://templates — starters per type
+ - uml://examples — examples per type
+ - uml://formats — output formats
+ - uml://capabilities — type → backend → formats matrix
+ - uml://server-info — version, tools, prompts, backend URLs
+ - uml://mermaid-examples — named Mermaid samples
+ - uml://bpmn-guide — BPMN reference
+ - uml://workflow — plan-then-generate workflow
- ## MCP resources
+ ## MCP prompts (optional; when the client lists prompts)
- - uml://types: diagram types.
- - uml://templates: diagram templates.
- - uml://examples: examples.
- - uml://formats: output formats.
- - uml://server-info: server info.
- - uml://workflow: recommended workflow: plan first (type, elements, relationships), then call generate_uml.
+ - uml_diagram, uml_diagram_with_thinking — read uml://types and uml://formats, plan, then call generate_uml
+ - Type-specific prompts (class, sequence, activity, Mermaid, BPMN, C4, …): see docs/reference/prompts.md
- ## Configuration
+ ## Prompt hint for assistants
- - MCP_OUTPUT_DIR / UML_MCP_OUTPUT_DIR: where to save diagrams (default: ./output).
- - KROKI_SERVER, PLANTUML_SERVER: backend URLs.
- - USE_LOCAL_KROKI, USE_LOCAL_PLANTUML: use local backends.
- Details: docs/configuration.md
+ Choose diagram type and notation (PlantUML / Mermaid / D2), plan elements and relationships, then call generate_uml (or validate_uml first). Use uml://types for valid diagram_type values.
- ## Running
+ ## Configuration (local / self-hosted)
- - MCP server (stdio): python server.py (from project root).
- - MCP over HTTP: python server.py --transport http --host 127.0.0.1 --port 8000.
- - List tools: python server.py --list-tools.
+ Notable env vars: KROKI_SERVER, PLANTUML_SERVER, MCP_OUTPUT_DIR / UML_MCP_OUTPUT_DIR, MCP_READ_ONLY, MCP_MAX_CODE_LENGTH, MCP_BATCH_MAX_ITEMS, MCP_RATE_LIMIT_PER_MINUTE, USE_LOCAL_KROKI, USE_LOCAL_PLANTUML. Details: docs/configuration.md
- ## Project layout
+ ## Run locally
- - server.py: MCP server entry point.
- - mcp_core/: server, config, tools, resources, prompts.
- - plantuml/, kroki/, mermaid/, D2/: diagram backends.
- - config/: example MCP client configs (Cursor, Claude Desktop).
- - docs/: documentation (this file, api/tools.md, configuration.md, installation.md, integrations/, testing.md).
+ - stdio: `uv sync` then `uv run python server.py` (or `python server.py` with deps installed)
+ - HTTP: `python server.py --transport http --host 127.0.0.1 --port 8000` — MCP at http://127.0.0.1:8000/mcp
+ - List tools: `python server.py --list-tools`
- ## Deploy and publish
+ ## Layout (repo)
- - Deploy to Vercel and publish on Smithery: docs/integrations/vercel_smithery.md
- - Smithery docs index: https://smithery.ai/docs/llms.txt
+ - server.py — MCP entry
+ - app.py — FastAPI + HTTP MCP /mcp
+ - mcp_core/ — server, config, tools, resources, prompts
+ - tools/kroki/ — Kroki, PlantUML, Mermaid, D2 clients
+ - config/ — example Cursor / Claude Desktop JSON
- ## More docs
+ ## Meta
- - Installation: docs/installation.md
- - API / tools: docs/api/tools.md
- - Configuration: docs/configuration.md
- - Cursor: docs/integrations/cursor.md
- - Claude Desktop: docs/integrations/claude_desktop.md
- - Testing: docs/testing.md
+ - License: MIT
+ - Python: >=3.12,<3.15 (see pyproject.toml)
+ - Maintainer: Antoine Boucher