UML-MCP is a Model Context Protocol (MCP) server for creating and validating diagrams. It supports UML, Mermaid, D2, BPMN, architecture views and other Kroki-backed formats.
Overview
UML-MCP is a Model Context Protocol (MCP) server for creating and validating diagrams. It supports UML, Mermaid, D2, BPMN, architecture views and other Kroki-backed formats.
README
UML-MCP
UML-MCP is a Model Context Protocol (MCP) server for creating and validating diagrams. It supports UML, Mermaid, D2, BPMN, architecture views and other Kroki-backed formats. Connect an MCP client, provide diagram source or describe what you need, and receive a rendered image, URL or editable playground link.
For application development, MCP exposes diagram tools to agents, AG-UI provides a standard event stream for frontends, and OpenUI turns model output into interactive components owned by your application.
| Feature | Details |
|---|---|
| Live MCP | https://uml-mcp.vercel.app/mcp |
| Docs | antoinebou12.github.io/uml-mcp |
| Catalog | ~37 Kroki-backed diagram types · 5 MCP tools · URL + playground + chat PNG |
| Agent UI | MCP /mcp · canonical AG-UI /ag-ui · OpenUI integration guide |
| Install | python scripts/install.py · uv tool install uml-mcp && uml-mcp setup · Installation |
| Console | uml-mcp admin: setup form, settings, live logs, charts, Kroki playground (install · user guide · tour) |
A diagram preview with links to the rendered image and editable playground (mermaid.live).
Quick start
Connect to the hosted server
Add this configuration to your MCP client:
"uml-mcp": {
"transport": "http",
"url": "https://uml-mcp.vercel.app/mcp"
}
Connect to the /mcp endpoint. Then ask, for example, “Draw a sequence diagram of a user logging in through an API gateway.” You can also provide PlantUML, Mermaid or other Kroki source directly.
Repository configurations: .cursor/mcp.json · .vscode/mcp.json · .codex/config.toml.
| Client | Config | Guide |
|---|---|---|
| Cursor | .cursor/mcp.json |
docs/integrations/cursor.md |
| VS Code / Copilot | .vscode/mcp.json |
docs/integrations/vscode_copilot.md |
| OpenAI Codex | .codex/config.toml |
docs/integrations/openai_codex.md |
| Ollama / Open WebUI | config/openwebui_mcp.json |
docs/integrations/ollama.md |
| Claude Desktop | config/claude_desktop_*.json |
docs/integrations/claude_desktop.md |
Additional client configurations: config/README.md
Install locally
| Method | Command |
|---|---|
| Python installer (requires Python, typer and tqdm) | python scripts/install.py |
| Setup wizard | uv tool install uml-mcp && uml-mcp setup (profile, features, clients, health check) |
| Web setup form | uml-mcp setup --web opens the console setup page |
| Manual | uml-mcp config init --profile local · uml-mcp client install --client vscode|cursor|claude-desktop|claude-code |
Guide: docs/installation.md
The admin console (uml-mcp admin) includes setup, settings, activity, logs, metrics and plugins, with light and dark themes for desktop and mobile.
Capabilities
Compatible clients discover the diagram workflow with
skills/list and load skill://uml-mcp-diagrams/SKILL.md through resources/read
(one exposed skill; approximately 4316 tokens at connection time). Notation for each diagram type is available in
.skill/skills//SKILL.md via the agent-skills index.
See Skills over MCP.
| Capability | Details |
|---|---|
| Diagrams | ~37 types via Kroki (UML, Mermaid, D2, TikZ, BPMN, C4, GoAT, UMLet, …) |
| Tools | generate_uml · generate_uml_image · validate_uml · list_diagram_types · generate_uml_batch |
| Chat | Inline PNG + markdown  + Playground link |
| Deploy | Local · Docker · Kubernetes (Helm) · Vercel |
| Enterprise | Optional SSO: Microsoft Entra ID / OAuth 2.1 bearer tokens, RFC 9728 metadata, clear 401/403 (docs/enterprise · guide) |
| Config file | One uml-mcp.yaml (defaults < file < env) · uml-mcp config init|show|validate · profiles local / docker / enterprise |
| Audit & observability | MXCP-style audit of every tool/resource/prompt call (JSONL rotation, stdout → SIEM) · JSON logs · metrics + Prometheus /metrics · rate limits per IP/user/route/tool (operations) |
| Quality | uml-mcp lint --strict --min-grade A: mcpx-style grade, token budget, MXCP-style config checks (rules) |
| Admin console | Setup form, schema-driven settings (save, reset, live apply), activity, live logs, charts, Kroki playground and Docker stack, Stop; local token or MCP.Admin (tour) |
| Local Kroki | uml-mcp kroki up --use: Kroki + mermaid, blockdiag, bpmn, excalidraw in Docker on 127.0.0.1 (guide) |
| Plugins | Extra MCP tools and diagram renderers from Python packages, allow-listed in plugins.enabled (guide · author). Includes interactive D3 force, cloud architecture and topology diagrams (D3 plugin) |
| Tracing | Optional OpenTelemetry spans per request and MCP call (uml-mcp[otel]) |
| Frontend | Canonical AG-UI SSE for agent UIs; OpenUI can consume AG-UI and render generated components in your app |
Community
If this survives a real production repo, it beats a lot of polished launch demos.
Source: @AIDailyGems on antoinebou12/uml-mcp
Daily and monthly activity (stars, forks, merged PRs, issues): trendshift.io/repositories/42725
Links
| Resource | Links |
|---|---|
| Docs | Site · Cursor · Claude Code · Frontend · Enterprise SSO · OpenUI |
| Contribute | CONTRIBUTING.md · CODE_OF_CONDUCT.md · SECURITY.md |
| License | MIT |
Maintained by Antoine Boucher. Built on PlantUML, Kroki, Mermaid, and D2.
Install
docker run -i uml-mcp python server.py --transport stdio