Skip to main content
Glama

📝 UML MCP 渲染服务

基于 FastMCP 的 UML 图表渲染服务,支持通过 AI 对话生成各种 UML 图表。


✨ 核心特性

  • 🤖 MCP 协议支持 - 可作为 AI 工具调用,支持 Claude、Cursor 等客户端

  • 📊 完整 UML 支持 - 支持类图、序列图、组件图等所有 PlantUML 图表类型

  • 🎨 多格式输出 - PNG、SVG 格式,支持 Base64 编码和文件保存

  • 高性能异步 - 支持并发渲染,内置缓存机制

  • 🔒 安全可靠 - 输入限制、超时控制、完善的错误处理


🛠️ MCP 工具

提供 7 个专业的 MCP 工具,可通过 AI 助手调用:

工具

功能

说明

render_uml

核心渲染

将 PlantUML 代码渲染为图像,返回 Base64 数据

render_uml_to_file

文件保存

渲染并保存为文件,适合大图表

validate_uml_syntax

语法验证

快速检查 UML 语法,提供优化建议

generate_preview_url

在线预览

生成可直接访问的预览链接和编辑器 URL

get_metrics

性能监控

获取渲染统计、性能分析、缓存命中率

get_supported_formats

格式查询

查看支持的输出格式和详细信息

get_service_info

服务信息

获取版本信息、配置参数、运行状态


📋 系统要求

  • Python 3.9+

  • Java 8+ (运行 PlantUML)

  • Graphviz (可选,渲染复杂图表)

  • uv 包管理器 (推荐)

依赖说明

  • 🔄 序列图、时序图、甘特图 —— 无需 Graphviz

  • 📦 类图、组件图、状态图、用例图 —— 需要 Graphviz

  • 🏗️ 部署图、活动图 —— 需要 Graphviz

安装 Graphviz

# macOS brew install graphviz # Ubuntu/Debian sudo apt-get install graphviz # Windows choco install graphviz

🚀 快速开始

1. 安装

# 克隆项目 git clone https://github.com/icatw/uml-mcp cd uml-mcp # 安装依赖 curl -LsSf https://astral.sh/uv/install.sh | sh uv sync # 下载 PlantUML curl -L -o plantuml.jar https://github.com/plantuml/plantuml/releases/latest/download/plantuml.jar

2. 启动服务

# 直接运行 uv run python server.py # 或使用启动脚本 ./start.sh

⚙️ MCP 客户端配置

Claude Desktop

编辑配置文件 ~/Library/Application Support/Claude/claude_desktop_config.json

{ "mcpServers": { "uml-mcp-renderer": { "command": "uv", "args": [ "--directory", "/path/to/uml-mcp", "run", "python", "server.py" ], "env": { "PLANTUML_JAR_PATH": "/path/to/uml-mcp/plantuml.jar", "JAVA_EXECUTABLE": "java", "RENDER_TIMEOUT": "30", "ENABLE_CACHE": "true", "OUTPUT_DIR": "/path/to/uml-mcp/output" } } } }

其他客户端

  • Cursor IDE: 在设置中添加 MCP 服务器配置

  • VS Code: 安装支持 MCP 的 AI 扩展

  • JetBrains: 在 AI Assistant 设置中配置 MCP 服务器


📊 支持的图表类型

支持所有 PlantUML 图表类型

  • 🔄 序列图

  • 📦 类图

  • 👤 用例图

  • 🔀 活动图

  • 🧩 组件图

  • 🏗️ 部署图

  • 🔄 状态图

  • ⏱️ 时序图


💡 使用示例

基本调用

通过 AI 助手直接对话:

用户: 请帮我生成一个用户登录的序列图 AI: 我来为你生成用户登录的序列图...

AI 会自动调用 UML MCP 工具生成图表。

示例图表

项目包含完整的示例代码和 8 个 UML 图表:

  • 📊 项目架构图

  • 🔄 渲染流程图

  • 📦 类结构图

  • 🎯 用例图

  • 🏗️ 部署图

示例见 examples/ 目录


🐳 Docker 部署

docker build -t uml-mcp . docker run -p 8000:8000 uml-mcp

🧪 测试

# 运行测试 uv run pytest # 生成覆盖率报告 uv run pytest --cov=src

📈 性能

  • ⚡ 渲染速度: < 3 秒

  • 🚀 并发支持: 50+ 请求

  • 💾 内存占用: < 500MB

  • 🔒 安全限制: 输入验证 + 超时控制


🤝 贡献

欢迎提交 Issue 和 Pull Request!


📄 许可证

MIT License


🙏 致谢


📬 联系我

如果你在使用过程中遇到问题,或者想要交流 MCP 与 UML 渲染相关内容,可以通过以下方式联系我:

欢迎交流与反馈! 🚀

-
security - not tested
F
license - not found
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/icatw/uml-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server