Provides UML diagram rendering capabilities through PlantUML, supporting multiple diagram types including sequence, class, use case, activity, component, deployment, state, and timing diagrams with PNG and SVG output formats.
📝 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
🚀 快速开始
1. 安装
2. 启动服务
⚙️ MCP 客户端配置
Claude Desktop
编辑配置文件 ~/Library/Application Support/Claude/claude_desktop_config.json
:
其他客户端
- Cursor IDE: 在设置中添加 MCP 服务器配置
- VS Code: 安装支持 MCP 的 AI 扩展
- JetBrains: 在 AI Assistant 设置中配置 MCP 服务器
📊 支持的图表类型
支持所有 PlantUML 图表类型:
- 🔄 序列图
- 📦 类图
- 👤 用例图
- 🔀 活动图
- 🧩 组件图
- 🏗️ 部署图
- 🔄 状态图
- ⏱️ 时序图
💡 使用示例
基本调用
通过 AI 助手直接对话:
AI 会自动调用 UML MCP 工具生成图表。
示例图表
项目包含完整的示例代码和 8 个 UML 图表:
- 📊 项目架构图
- 🔄 渲染流程图
- 📦 类结构图
- 🎯 用例图
- 🏗️ 部署图
示例见 examples/
目录
🐳 Docker 部署
🧪 测试
📈 性能
- ⚡ 渲染速度: < 3 秒
- 🚀 并发支持: 50+ 请求
- 💾 内存占用: < 500MB
- 🔒 安全限制: 输入验证 + 超时控制
🤝 贡献
欢迎提交 Issue 和 Pull Request!
📄 许可证
MIT License
🙏 致谢
📬 联系我
如果你在使用过程中遇到问题,或者想要交流 MCP 与 UML 渲染相关内容,可以通过以下方式联系我:
- 📧 Email: 762188827@qq.com
- 🐙 GitHub: @icatw
- 💬 微信 :
欢迎交流与反馈! 🚀
This server cannot be installed
hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Enables AI assistants to generate UML diagrams through natural language by rendering PlantUML code into PNG or SVG images. Supports sequence diagrams, class diagrams, use case diagrams, and other UML chart types with Base64-encoded output.