mcpField
U
UML-MCP

UML-MCP

远程服务
github.com/antoinebou12开发工具109今天更新
代码仓库

关于 UML-MCP

UML-MCP 是一个 MCP 服务,可供 AI 助手验证并渲染 UML 及其他由 Kroki 支持的图表源码。它返回 URL、在线编辑器链接或内嵌图片,可在本地或远程运行。

主要功能

  1. 01渲染约 37 种图表
  2. 02验证图表源码
  3. 03生成单个或批量图表
  4. 04返回 URL 和内嵌图片
  5. 05提供图表类型与示例

适用场景

  1. 01根据自然语言创建 UML 图
  2. 02渲染 Mermaid 或 D2 源码
  3. 03一次请求生成多个图表

MCP 相关

向 MCP 客户端提供图表生成、验证和目录查询工具,并提供类型、模板、示例、格式及服务信息等资源。支持远程 HTTP MCP,以及本地 stdio 或 HTTP 传输。

配置

远程服务无需本地安装。选择你使用的客户端,复制配置或使用一键安装。

服务地址https://uml-mcp.vercel.app/mcp
一键复制安装命令
Claude CodeTerminal
Cursor.cursor/mcp.json
VS Code.vscode/mcp.json
Claude Desktopclaude_desktop_config.json
Windsurf~/.codeium/windsurf/mcp_config.json

命令在终端中运行;JSON 粘贴到对应客户端的 MCP 配置后重启。需要授权的服务会在首次连接时提示登录。

安装包
npm@modelcontextprotocol/server-sequential-thinking

工具

4

此工具无需参数。

详细介绍

UML-MCP

Run Tests Build Package Deploy docs Deploy GitHub release GitHub stars GitHub forks GitHub issues License: MIT Python >=3.12,<3.15 Ruff uv MCP Hosted MseeP.ai Security Assessment Lulu MCPs smithery badge

UML-MCP 为 AI 助手提供真正的图表工具,无需再让它用 Markdown 伪造图表。 通过 MCP 连接一次,即可请求类图、时序图、架构视图、Mermaid 流程图、D2 图、BPMN 流程或其他由 Kroki 支持的格式。该服务会验证源内容、渲染图表,并返回 URL、在线编辑器链接或内嵌图片。

它还可以作为面向 Agent 的产品构建模块。Agent 需要图表工具时使用 MCP,前端需要标准事件流时使用 AG-UI,而产品需要将模型输出转换为交互式、由应用管理的 UI 组件时使用 OpenUI。这些层彼此互补;UML-MCP 专注于图表生成。

在线 MCPhttps://uml-mcp.vercel.app/mcp
文档antoinebou12.github.io/uml-mcp
目录约 37 种 Kroki 支持的类型 · 5 个 MCP 工具 · URL + 在线编辑器 + 聊天 PNG
Agent UIMCP /mcp · 标准 AG-UI /ag-ui · OpenUI 集成指南
安装python scripts/install.py · uv tool install uml-mcp && uml-mcp setup · 安装指南
控制台uml-mcp admin:设置表单、设置项、实时日志、图表、Kroki 在线编辑器(安装 · 用户指南 · 导览)

聊天中的 UML-MCP:带有 URL 和 Playground 链接的客户端/服务端 Mermaid 时序图

聊天回复形式:图表预览 · URL · Playground(mermaid.live)

快速开始

远程(推荐) — 添加到你的 MCP 客户端:

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

使用 /mcp,而不是网站根路径。然后询问:“绘制一个用户通过 API 网关登录的时序图。” 或粘贴 PlantUML / Mermaid / Kroki 源码。

仓库默认配置: .cursor/mcp.json · .vscode/mcp.json · .codex/config.toml。

客户端配置指南
Cursor.cursor/mcp.jsondocs/integrations/cursor.md
VS Code / Copilot.vscode/mcp.jsondocs/integrations/vscode_copilot.md
OpenAI Codex.codex/config.tomldocs/integrations/openai_codex.md
Ollama / Open WebUIconfig/openwebui_mcp.jsondocs/integrations/ollama.md
Claude Desktopconfig/claude_desktop_*.jsondocs/integrations/claude_desktop.md

所有代码片段:config/README.md

本地安装(引导式):

路径命令
安装程序(只需 Python + typer + tqdm)python scripts/install.py
设置向导uv tool install uml-mcp && uml-mcp setup(配置方案、功能、客户端、健康检查)
Web 设置表单uml-mcp setup --web → 在控制台中打开设置页面
手动uml-mcp config init --profile local · uml-mcp client install --client vscode|cursor|claude-desktop|claude-code

指南:docs/installation.md

UML-MCP 管理控制台:包含关键绩效指标、流量图表和入门清单的概览

管理控制台(uml-mcp admin):概览 · 设置 · 配置 · 活动 · 日志 · 指标 · 插件,支持浅色和深色主题、桌面端和移动端

从 origin 克隆(本地 stdio)
git clone https://github.com/antoinebou12/uml-mcp.git
cd uml-mcp
uv sync
uv run python server.py

如果你已有仓库并需要设置 origin:

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

配置:config/README.md(Cursor、VS Code、Codex、Claude、Open WebUI、Continue)

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

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

概览

主题提供内容
图表通过 Kroki 支持约 37 种类型(UML、Mermaid、D2、TikZ、BPMN、C4、GoAT、UMLet 等)
工具generate_uml · generate_uml_image · validate_uml · list_diagram_types · generate_uml_batch
聊天行内 PNG + Markdown ![diagram](url) + Playground 链接
部署本地 · Docker · Kubernetes(Helm)· Vercel · Smithery
企业版可选 SSO:Microsoft Entra ID / OAuth 2.1 bearer tokens、RFC 9728 元数据、清晰的 401/403(文档 · 指南)
配置文件单个 uml-mcp.yaml(默认值 < 文件 < 环境变量)· uml-mcp config init|show|validate · local / docker / enterprise 配置档
审计与可观测性采用 MXCP 风格,审计每次工具/资源/提示词调用(JSONL 轮转,stdout → SIEM)· JSON 日志 · 指标 + Prometheus /metrics · 按 IP/用户/路由/工具设置速率限制(运维)
质量uml-mcp lint --strict --min-grade A:mcpx 风格评级、令牌预算、MXCP 风格配置检查(规则)
管理控制台设置表单、由架构驱动的设置(保存、重置、实时应用)、活动、实时日志、图表、Kroki Playground 和 Docker 堆栈、停止;本地令牌或 MCP.Admin(概览)
本地 Krokiuml-mcp kroki up --use:在 127.0.0.1 上通过 Docker 运行 Kroki + mermaid、blockdiag、bpmn、excalidraw(指南)
插件通过 Python 包提供额外的 MCP 工具和图表渲染器,并在 plugins.enabled 中列入允许列表(指南 · 作者指南)。包含交互式 D3 力导向图、云架构图和拓扑图(D3 插件)
追踪可选为每个请求和 MCP 调用生成 OpenTelemetry spans(uml-mcp[otel])
前端为 Agent UI 提供规范的 AG-UI SSE;OpenUI 可使用 AG-UI,并在你的应用中渲染生成的组件
MCP 工具
工具用途
generate_uml渲染一张图表;工具文本包含图片 Markdown、URL、Playground。使用 png 获取 ImageContent。
generate_uml_image行内聊天图片(默认 PNG);即使在托管的 MCP_URL_ONLY 模式下也会获取字节
validate_uml本地检查;对 Mermaid/D2 使用 strict(拒绝使用分号拼接的 sequenceDiagram)
list_diagram_types目录(类似 uml://types)
generate_uml_batch批量生成多张图表(MCP_BATCH_MAX_ITEMS、MCP_BATCH_CONCURRENCY)

冒烟测试提示词:tests/prompts/chatgpt_mcp_smoke_test.md

资源(uml://)
资源描述
uml://types类型、后端、格式
uml://templates / uml://examples入门模板和示例
uml://formats / uml://capabilities格式和验证矩阵
uml://server-info / uml://workflow版本/工具以及先规划后生成
图表类型
类别示例
UML类图、时序图、活动图、用例图、状态图、组件图、部署图、对象图
通用Mermaid、D2、Graphviz、ERD、BlockDiag、BPMN、C4
专用TikZ、Excalidraw、GoAT、UMLet、Nomnoml、Pikchr、Structurizr、SVGBob、WaveDrom、WireViz 等

docs/diagrams/index.md

远程与本地
远程(Vercel)本地
传输方式HTTP MCPstdio 或 HTTP
文件写入否可选
聊天图片仅 URL 模式下,PNG 工具会获取字节同上 + 可选写入磁盘
环境变量服务端你的 .env
部署

Vercel — 连接代码仓库;客户端使用 https://<project>.vercel.app/mcp。

Smithery — 在 smithery.ai/new 粘贴该 /mcp URL。指南: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 或任何 OIDC 提供方);添加 --set kroki.enabled=true --set plantuml.enabled=true --set mermaidInk.enabled=true,即可在集群内运行渲染器。指南:docs/enterprise。

配置(本地)
变量默认值
KROKI_SERVERhttps://kroki.io
PLANTUML_SERVERhttp://plantuml-server:8080
MERMAID_INK_SERVERhttps://mermaid.ink
MCP_OUTPUT_DIR./output
MCP_READ_ONLYfalse
MCP_URL_ONLY参见 docs/configuration.md
MCP_BATCH_MAX_ITEMS20
MCP_BATCH_CONCURRENCY4
MCP_RATE_LIMIT_PER_MINUTE0
UML_MCP_CONFIG自动发现 uml-mcp.yaml(设为 none 可禁用)
ADMIN_EMAIL未设置(托管环境中的 /admin 登录已关闭),参见 docs/admin/hosted-vercel.md
ADMIN_PASSWORD_HASH / ADMIN_PASSWORD未设置;优先使用哈希值
ADMIN_SESSION_SECRET未设置;至少 32 个字符,登录必需

完整列表:docs/configuration.md · 单文件配置:docs/configuration/uml-mcp-yaml.md

架构与布局

助手 → generate_uml / generate_uml_image → Kroki(以及备用方案)→ url、playground、可选的图像字节。

MCP 请求流程

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:**面向 AG-UI 客户端的标准 POST /ag-ui;旧版直接渲染接口为 POST /ag-ui/generate。参见前端集成和 OpenUI + UML-MCP。

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

本地查看文档:uv run mkdocs serve → http://127.0.0.1:8000

企业 SSO:OAuth 2.1 · OpenID Connect · Microsoft Entra ID

可选功能,默认关闭(MCP_AUTH_MODE=none;公开的 Vercel 端点保持开放)。

主题摘要
模式jwt:验证 Entra / OIDC 访问令牌(资源服务器)· entra-proxy:为使用 S256-only PKCE 的 DCR 客户端添加 RFC 8414 + RFC 7591 门面
OAuth 2.1Authorization Code + PKCE S256;仅使用标头中的持有者令牌;401 → WWW-Authenticate: Bearer resource_metadata, scope;403 insufficient_scope 逐步提升权限
OpenID Connect提供用于签名密钥的发现信息 + JWKS;拒绝 ID 令牌,仅接受访问令牌
Entra IDv2 令牌(requestedAccessTokenVersion: 2)、mcp.read / mcp.write / .default、应用角色、VS Code + Visual Studio 预先授权(设置)
MSAL仅用于客户端(VS Code、Visual Studio、Azure CLI、守护程序);示例见 OAuth/OIDC/MSAL
试用tests/http/entra-auth.http · python -m mcp_core.auth generate az-script · 检查清单

社区

如果它能在真实的生产代码仓库中经受考验,那就胜过许多精心包装的发布演示。

— @AIDailyGems 在 antoinebou12/uml-mcp 上的评价

每日和每月活动(星标、复刻、已合并 PR、问题):trendshift.io/repositories/42725

Links

DocsSite · Cursor · Claude Code · Frontend · Enterprise SSO · OpenUI
ContributeCONTRIBUTING.md · CODE_OF_CONDUCT.md · SECURITY.md
LicenseMIT

Maintained by Antoine Boucher. Built on PlantUML, Kroki, Mermaid, and D2.

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。