mcpField
U
UML-MCP-Server

UML-MCP-Server

本地服务
github.com/Swayingleaves开发工具2757 周前更新

关于 UML-MCP-Server

UML-MCP-Server 是一个基于 MCP 的 UML 图生成工具,可根据自然语言描述或直接输入的 PlantUML 代码生成多种 UML 图。它会同时返回 PlantUML 代码、在线链接以及本地保存的图片路径,适合在 Cursor 等客户端中绘制设计图。

主要功能

  1. 01支持类图、时序图、活动图等八种 UML 图
  2. 02支持通过自然语言描述生成图表
  3. 03支持直接使用 PlantUML 代码生成图表
  4. 04返回 PlantUML 代码、在线链接与本地文件路径
  5. 05可自定义图片输出目录并记录运行日志

适用场景

  1. 01根据自然语言描述快速生成时序图或类图
  2. 02在 Cursor 中为认证流程等功能绘制流程图
  3. 03将生成的 UML 图片保存到项目指定目录

MCP 相关

该项目是 MCP 服务,向 Claude、Cursor 等支持 MCP 的客户端提供 UML 图生成工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"uml": {
"command": "npx",
"args": [
"-y",
"@smithery/cli"
]
}
}
}
启动命令npx -y @smithery/cli

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npm@smithery/cli

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

UML-MCP-Server

English | 中文

smithery badge

UML-MCP Server 是一款基于 MCP(Model Context Protocol)的 UML 图生成工具,可帮助用户通过自然语言描述或直接编写 PlantUML 代码来生成各种类型的 UML 图。

功能特性

  • 支持多种 UML 图类型:类图、时序图、活动图、用例图、状态图、组件图、部署图、对象图
  • 可通过自然语言描述生成 UML 图
  • 可直接使用 PlantUML 代码生成 UML 图
  • 返回 PlantUML 代码和可访问的 URL 链接,便于分享和查看
  • 将生成的 UML 图同时保存在本地,并提供本地文件路径
  • 支持自定义保存路径,并指定 UML 图像的输出目录
  • 作为 MCP 服务,可与支持 MCP 的客户端集成,例如 Claude
  • 完善的日志系统,可记录服务运行状态和操作日志

安装

通过 Smithery 安装

通过 Smithery 自动为 Claude Desktop 安装 UML 图生成工具:

npx -y @smithery/cli install @Swayingleaves/uml-mcp-server --client claude
手动安装
  1. 克隆仓库:
git clone https://github.com/yourusername/UML-MCP-Server.git
cd UML-MCP-Server
  1. 创建并激活虚拟环境:
python -m venv uml-mcp-venv
source uml-mcp-venv/bin/activate  # Linux/Mac
# Or
uml-mcp-venv\Scripts\activate  # Windows
  1. 安装依赖:
pip install -r requirements.txt

使用方法

作为 Python 库使用
from fix_plantuml import generate_uml

# Create UML code
uml_code = """
@startuml
Title: Simple Class Diagram

class User {
-String name
-String email
+login()
+logout()
}

class Order {
-int id
-Date date
+process()
}

User "1" -- "many" Order: places
@enduml
"""

# Generate URLs, code, and local paths for UML diagrams
result = generate_uml(uml_code)

# Output result
print("PlantUML code: ")
print(result["code"])
print("\nPlantUML URL:")
print(result["url"])
print("\nLocal file path: ")
print(result["local_path"])
在 Cursor 中配置 MCP

Cursor 支持 MCP(Model Context Protocol)服务,因此你可以在 Cursor 中使用 UML-MCP Server 直接生成 UML 图。配置步骤如下:

  1. 确保已安装最新版本的 Cursor IDE(支持 MCP 功能)。

  2. 打开 Cursor 的配置文件:

  • 在 macOS 上:~/Library/Application Support/Cursor/config.json
  • 在 Windows 上:%APPDATA%\Cursor\config.json
  • 在 Linux 上:~/.config/Cursor/config.json
  1. 在配置文件中添加或修改 'mcpServer' 部分:
{
    "mcpServers": {
        "UML-MCP-Server": {
            "command": "uv",
            "args": [
                "--directory",
                "/Users/yourpath/UML-MCP-Server",
                "run",
                "uml_mcp_server.py"
            ],
            "output_dir": "/Users/yourpath/uml-output"
        }
    }
}

配置说明:

  • UML-MCP-Server:MCP 服务的名称,可根据需要修改
  • Command:使用 UV 作为运行命令
  • args:
    • directory:指定项目目录的绝对路径
    • run:运行命令
    • uml_mcp_server.py:主程序文件
  • output_dir:指定 UML 图像的输出目录

请根据实际情况修改以下路径:

  • 将 '/Users/Yourpath/UML-MCP Server' 替换为 UML-MCP Server 项目的实际路径
  • 将 '/Users/Yourpath/uml-output' 替换为你要保存 UML 图像的目录路径
  1. 保存配置文件并重启 Cursor。

  2. 在 Cursor 中使用 UML-MCP Server:

  • 打开新的聊天窗口
  • 在聊天界面底部的工具栏中,你会看到“UML-MCP Server”工具图标
  • 点击此图标会弹出 UML 工具选项菜单
  • 选择所需的 UML 图类型(例如“生成类图”“生成时序图”等)
在 Cursor 中使用 UML 工具

在 Cursor 中,你可以输入:

例如:

1. Understand the certification process of the project
2. Generate UML code for the authentication process and generate a flowchart through UML-MCP Server
3. Attention: "output_dir": "/Users/my-project/uml-output"
UML 工具返回的结果

无论以何种方式使用 UML 工具,Cursor 都会调用 UML-MCP-Server 并返回以下内容:

  1. PlantUML 代码 - 你可以复制此代码,用于其他 PlantUML 工具
  2. PlantUML URL - 你可以在浏览器中打开此 URL,查看生成的 UML 图
  3. 本地文件路径 - 生成的 UML 图像保存在此本地路径

例如:

Class diagram generated:

PlantUML code:
@startuml
Title: User and Order System
class User {
-String name
-String email
+login()
+logout()
}
class Order {
-int id
-Date date
+process()
}
User "1" -- "many" Order: places
@enduml

PlantUML URL:
http://www.plantuml.com/plantuml/png/~1UDgCqB5Bn0G1k1zYWM_EfPYQYY0Qd9oQc9oQaPcKYYcKc9gMYaiKc9gK...

Local file path:
/Users/username/projects/UML-MCP-Server/output/class_diagram_12345.png

你可以通过以下方式查看生成的 UML 图:

  • 点击返回的 URL 链接,在浏览器中查看
  • 在文件浏览器中打开本地文件路径,查看保存的图像
  • 在 Cursor 中,你可以使用 Markdown 语法直接在聊天窗口中显示图像

故障排除

如果您在使用 UML-MCP Server 时遇到问题,可以尝试以下步骤:

  1. 检查日志文件:查看 logs 目录中的日志文件,了解错误详情
  2. 验证依赖项安装情况:确保所有依赖项均已正确安装
  3. 检查网络连接:确保可以访问 PlantUML server(www.plantuml.com)
  4. 检查输出目录权限:确保程序有权写入 output 目录

常见问题及解决方案:

  • 无法生成 UML 图:检查日志中的错误消息,这可能是由于网络问题或 PlantUML server 暂时不可用
  • 图片未保存在本地:检查 output 目录是否存在且具有写入权限
  • MCP 服务无法启动:检查日志文件,确保没有端口冲突或其他程序错误

贡献

欢迎贡献代码、报告问题或提出改进建议!请通过 GitHub Issues 或 Pull Requests 参与项目开发。

许可证

本项目采用 MIT 许可证。详情请参阅 LICENSE 文档。

评论

支持 Markdown

第一次接触 MCP?

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

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