Skip to main content
Glama

UML MCP

by icatw

📝 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

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.

  1. ✨ 核心特性
    1. 🛠️ MCP 工具
      1. 📋 系统要求
        1. 依赖说明
        2. 安装 Graphviz
      2. 🚀 快速开始
        1. 1. 安装
        2. 2. 启动服务
      3. ⚙️ MCP 客户端配置
        1. Claude Desktop
        2. 其他客户端
      4. 📊 支持的图表类型
        1. 💡 使用示例
          1. 基本调用
          2. 示例图表
        2. 🐳 Docker 部署
          1. 🧪 测试
            1. 📈 性能
              1. 🤝 贡献
                1. 📄 许可证
                  1. 🙏 致谢
                    1. 📬 联系我

                      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