1. Conduid
  2. AI
  3. Uml MCP
MCP server · AI

Uml MCP

UML-MCP Server is a UML diagram generation tool based on MCP (Model Context Protocol), which can help users generate various types of UML diagrams through natural language description or directly writing PlantUML and Mermaid and Kroki https://uml-mcp.vercel.app/mcp

Unclaimed MIT ai
69Good

Scored 7 days ago · breakdown

About Uml MCP

Uml MCP is an MCP server published by antoinebou12 in the AI category: uML-MCP Server is a UML diagram generation tool based on MCP (Model Context Protocol), which can help users generate various types of UML diagrams through natural language description or directly writing PlantUML and Mermaid and Kroki https://uml-mcp.vercel.app/mcp.

The repository has 106 stars and 29 forks, with the last commit yesterday. Recent commit activity is the strongest signal that reported issues will get attention.

Install

From source
git clone https://github.com/antoinebou12/uml-mcp

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Tools (5)

generate_umlRender one diagram; tool text includes image markdown, **URL**, **Playground**. Use `png` for ImageContent.

Parameters not published.

generate_uml_batchMany diagrams (`MCP_BATCH_MAX_ITEMS`, `MCP_BATCH_CONCURRENCY`)

Parameters not published.

generate_uml_imageInline chat image (default PNG); fetches bytes even under hosted `MCP_URL_ONLY`

Parameters not published.

list_diagram_typesCatalog (like `uml://types`)

Parameters not published.

validate_umlLocal checks; `strict` for Mermaid/D2 (rejects semicolon-packed `sequenceDiagram`)

Parameters not published.

Ask AI

✦

Ask AI about Uml MCP

Powered by Claude · Grounded in docs

I know everything about Uml MCP. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

Static checks derived from the repository 21 hours ago. Heuristics on the source, not an audit.

  • ✓README presentThe repository ships documentation.
  • ✓License declaredUsable under a stated license.
  • ✓Tests presentA test suite exists in the repository.
  • ✓Dependencies pinnedA lockfile pins dependency versions.
  • ✓No dynamic code executionSource scan found no eval, dynamic Function, or shell execution.
  • !Scoped permissionsDoesn't declare a permission scope. Assume it can do anything its process can.

Releases

v1.3.2v1.3.2 · 3 Sep 2026What's Changed chore(deps): update astral-sh/setup-uv action to v10 by @renovate[bot] in https://github.com/antoinebou12/uml-mcp/pull/310 fix(deps): update dependency charset-normalizer to v3.5.0 by @renovate[bot] in…
v1.3.1v1.3.1 · 10 Aug 2026What's Changed Update dependency fastapi to v0.136.1 by @renovate[bot] in https://github.com/antoinebou12/uml-mcp/pull/108 feat: agent discovery for Vercel (robots, sitemap, Link, markdown, WebMCP) by @antoinebou12 in…
v1.3.0v1.3.0 · 23 Apr 2026What's Changed Update dependency rich to v14.3.4 by @renovate[bot] in https://github.com/antoinebou12/uml-mcp/pull/57 Update dependency cryptography to v46.0.7 by @renovate[bot] in https://github.com/antoinebou12/uml-mcp/pull/54 Update…
v1.0.1v1.0.1 · 14 Apr 2026Full Changelog: https://github.com/antoinebou12/uml-mcp/compare/v1.0.0...v1.0.1
v1.0.0v1.0.0 · 13 Apr 2026What's Changed chore(deps): update GitHub Actions to latest versions by @antoinebou12 in https://github.com/antoinebou12/uml-mcp/pull/34 feat: add configurable max_code_length to prevent DoS by @jannahopp in…

README

UML-MCP

Run Tests Build Package Deploy docs Deploy GitHub release GitHub stars GitHub forks GitHub issues Ruff uv MCP Hosted MseeP.ai Security Assessment Lulu MCPs smithery badge

UML-MCP gives an AI assistant a real diagram tool instead of asking it to fake diagrams in Markdown. Connect it once over MCP, then ask for a class diagram, sequence diagram, architecture view, Mermaid flowchart, D2 graph, BPMN process, or another Kroki-backed format. The server validates the source, renders it, and returns a URL, playground link, or inline image.

It also works as a building block for agent-facing products. Use MCP when an agent needs diagram tools, AG-UI when a frontend needs a standard event stream, and OpenUI when the product should turn model output into interactive, application-owned UI components. These layers complement each other; UML-MCP stays focused on diagram generation.

Live MCP https://uml-mcp.vercel.app/mcp
Docs antoinebou12.github.io/uml-mcp
Catalog ~37 Kroki-backed 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)

Quick start

Remote (recommended) — add to your MCP client:

"uml-mcp": {
  "transport": "http",
  "url": "https://uml-mcp.vercel.app/mcp"
}

Use /mcp, not the site root. Then ask: “Draw a sequence diagram of a user logging in through an API gateway.” or paste PlantUML / Mermaid / Kroki source.

Repo defaults: .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

All snippets: config/README.md

Install locally (guided):

Path Command
Installer (needs only Python + typer + 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 → setup page in the console
Manual uml-mcp config init --profile local · uml-mcp client install --client vscode|cursor|claude-desktop|claude-code

Guide: docs/installation.md

git clone https://github.com/antoinebou12/uml-mcp.git
cd uml-mcp
uv sync
uv run python server.py

If you already have the repo and need to set origin:

git remote add origin https://github.com/antoinebou12/uml-mcp.git

Configs: config/README.md (Cursor, VS Code, Codex, Claude, Open WebUI, Continue)

/plugin marketplace add https://github.com/antoinebou12/uml-mcp
/plugin install uml-mcp@uml-mcp-plugins

docs/integrations/claude_code.md · Cursor skill: .skill/skills/uml-mcp-diagrams/SKILL.md

At a glance

Topic What you get
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 ![diagram](url) + Playground link
Deploy Local · Docker · Kubernetes (Helm) · Vercel · Smithery
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
Tool Purpose
generate_uml Render one diagram; tool text includes image markdown, URL, Playground. Use png for ImageContent.
generate_uml_image Inline chat image (default PNG); fetches bytes even under hosted MCP_URL_ONLY
validate_uml Local checks; strict for Mermaid/D2 (rejects semicolon-packed sequenceDiagram)
list_diagram_types Catalog (like uml://types)
generate_uml_batch Many diagrams (MCP_BATCH_MAX_ITEMS, MCP_BATCH_CONCURRENCY)

Smoke prompts: tests/prompts/chatgpt_mcp_smoke_test.md

Resource Description
uml://types Types, backends, formats
uml://templates / uml://examples Starters and samples
uml://formats / uml://capabilities Formats and validation matrix
uml://server-info / uml://workflow Version/tools and plan-then-generate
Category Examples
UML Class, Sequence, Activity, Use Case, State, Component, Deployment, Object
General Mermaid, D2, Graphviz, ERD, BlockDiag, BPMN, C4
Specialized TikZ, Excalidraw, GoAT, UMLet, Nomnoml, Pikchr, Structurizr, SVGBob, WaveDrom, WireViz, …

docs/diagrams/index.md

Remote (Vercel) Local
Transport HTTP MCP stdio or HTTP
File writes No Optional
Chat images PNG tools fetch bytes under URL-only Same + optional disk
Env Server-side Your .env

Vercel — connect the repo; clients use https://<project>.vercel.app/mcp.

Smithery — paste that /mcp URL at smithery.ai/new. Guide: docs/integrations/vercel_smithery.md.

Docker

docker compose up -d
docker build -t uml-mcp . && docker run -p 8000:8000 uml-mcp
docker run -i uml-mcp python server.py --transport stdio
# self-hosted PlantUML + mermaid.ink fallbacks next to local Kroki
MCP_DIAGRAM_FALLBACK=true USE_LOCAL_PLANTUML=true USE_LOCAL_MERMAID_INK=true docker compose --profile fallback up -d

docs/deploy/docker.md

Kubernetes + SSO: helm upgrade --install uml-mcp deploy/helm/uml-mcp --set auth.mode=jwt … (Entra ID or any OIDC provider); add --set kroki.enabled=true --set plantuml.enabled=true --set mermaidInk.enabled=true to run the renderers in-cluster. Guide: docs/enterprise.

Variable Default
KROKI_SERVER https://kroki.io
PLANTUML_SERVER http://plantuml-server:8080
MERMAID_INK_SERVER https://mermaid.ink
MCP_OUTPUT_DIR ./output
MCP_READ_ONLY false
MCP_URL_ONLY see docs/configuration.md
MCP_BATCH_MAX_ITEMS 20
MCP_BATCH_CONCURRENCY 4
MCP_RATE_LIMIT_PER_MINUTE 0
UML_MCP_CONFIG discovered uml-mcp.yaml (none disables)
ADMIN_EMAIL unset (hosted /admin login off), see docs/admin/hosted-vercel.md
ADMIN_PASSWORD_HASH / ADMIN_PASSWORD unset; the hash is preferred
ADMIN_SESSION_SECRET unset; at least 32 characters, required for the login

Full list: docs/configuration.md · single file: docs/configuration/uml-mcp-yaml.md

Assistant → generate_uml / generate_uml_image → Kroki (+ fallbacks) → url, playground, optional image bytes.

server.py / app.py     -- MCP + FastAPI (/mcp)
mcp_core/tools/        -- generate_uml, generate_uml_image, validate, batch
tools/kroki/           -- Kroki, PlantUML, Mermaid, D2

Agent UI: canonical POST /ag-ui for AG-UI clients; legacy direct render at POST /ag-ui/generate. See frontend integration and OpenUI + UML-MCP.

uv sync --all-groups
uv run pytest tests/ -v
uv run ruff check . && uv run ruff format --check .
make ci

Docs locally: uv run mkdocs serve → http://127.0.0.1:8000

Optional and off by default (MCP_AUTH_MODE=none; the public Vercel endpoint stays open).

Topic Summary
Modes jwt: validate Entra / OIDC access tokens (resource server) · entra-proxy: adds RFC 8414 + RFC 7591 facade with S256-only PKCE for DCR clients
OAuth 2.1 Authorization Code + PKCE S256; header-only bearer tokens; 401 → WWW-Authenticate: Bearer resource_metadata, scope; 403 insufficient_scope step-up
OpenID Connect Discovery + JWKS for signing keys; ID tokens are rejected, access tokens only
Entra ID v2 tokens (requestedAccessTokenVersion: 2), mcp.read / mcp.write / .default, app roles, VS Code + Visual Studio pre-authorized (setup)
MSAL Client side only (VS Code, Visual Studio, Azure CLI, daemons); examples in OAuth/OIDC/MSAL
Try it tests/http/entra-auth.http · python -m mcp_core.auth generate az-script · checklist

Community

If this survives a real production repo, it beats a lot of polished launch demos.

— @AIDailyGems on antoinebou12/uml-mcp

Daily and monthly activity (stars, forks, merged PRs, issues): trendshift.io/repositories/42725

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.

README fetched from the repository 21 hours ago. The original is authoritative.

Questions

About Uml MCP

How do I install Uml MCP?

No package has been published for this server, so install it from source: clone the repository and follow its README.

Is Uml MCP safe to use with an AI agent?

Its trust score is 69 out of 100 (good). It passes 5 of the 6 static security checks run so far; the failures are listed above. It has no ConduID identity yet, so agent calls to it are not receipted.

Is Uml MCP still maintained?

Yes — the latest release is v1.3.2 (3 Sep 2026), and the last commit was yesterday. The repository has 106 stars and 2 open issues.