关于 UML-MCP-Server
UML-MCP-Server 是一个基于 MCP 的 UML 图生成工具,可根据自然语言描述或直接输入的 PlantUML 代码生成多种 UML 图。它会同时返回 PlantUML 代码、在线链接以及本地保存的图片路径,适合在 Cursor 等客户端中绘制设计图。
主要功能
- 01支持类图、时序图、活动图等八种 UML 图
- 02支持通过自然语言描述生成图表
- 03支持直接使用 PlantUML 代码生成图表
- 04返回 PlantUML 代码、在线链接与本地文件路径
- 05可自定义图片输出目录并记录运行日志
适用场景
- 01根据自然语言描述快速生成时序图或类图
- 02在 Cursor 中为认证流程等功能绘制流程图
- 03将生成的 UML 图片保存到项目指定目录
MCP 相关
该项目是 MCP 服务,向 Claude、Cursor 等支持 MCP 的客户端提供 UML 图生成工具。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
UML-MCP-Server
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
手动安装
- 克隆仓库:
git clone https://github.com/yourusername/UML-MCP-Server.git
cd UML-MCP-Server
- 创建并激活虚拟环境:
python -m venv uml-mcp-venv
source uml-mcp-venv/bin/activate # Linux/Mac
# Or
uml-mcp-venv\Scripts\activate # Windows
- 安装依赖:
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 图。配置步骤如下:
-
确保已安装最新版本的 Cursor IDE(支持 MCP 功能)。
-
打开 Cursor 的配置文件:
- 在 macOS 上:
~/Library/Application Support/Cursor/config.json - 在 Windows 上:
%APPDATA%\Cursor\config.json - 在 Linux 上:
~/.config/Cursor/config.json
- 在配置文件中添加或修改 '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 图像的目录路径
-
保存配置文件并重启 Cursor。
-
在 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 并返回以下内容:
- PlantUML 代码 - 你可以复制此代码,用于其他 PlantUML 工具
- PlantUML URL - 你可以在浏览器中打开此 URL,查看生成的 UML 图
- 本地文件路径 - 生成的 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 时遇到问题,可以尝试以下步骤:
- 检查日志文件:查看
logs目录中的日志文件,了解错误详情 - 验证依赖项安装情况:确保所有依赖项均已正确安装
- 检查网络连接:确保可以访问 PlantUML server(www.plantuml.com)
- 检查输出目录权限:确保程序有权写入
output目录
常见问题及解决方案:
- 无法生成 UML 图:检查日志中的错误消息,这可能是由于网络问题或 PlantUML server 暂时不可用
- 图片未保存在本地:检查
output目录是否存在且具有写入权限 - MCP 服务无法启动:检查日志文件,确保没有端口冲突或其他程序错误
贡献
欢迎贡献代码、报告问题或提出改进建议!请通过 GitHub Issues 或 Pull Requests 参与项目开发。
许可证
本项目采用 MIT 许可证。详情请参阅 LICENSE 文档。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。