UML-MCP-Server -cursor适用

UML-MCP-Server

github仓库置顶

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

功能特点

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

安装

  1. 克隆仓库:
bash 复制代码
git clone https://github.com/Swayingleaves/uml-mcp-server
cd UML-MCP-Server
  1. 创建并激活虚拟环境:
bash 复制代码
python -m venv uml-mcp-venv
source uml-mcp-venv/bin/activate  # Linux/Mac
# 或
uml-mcp-venv\Scripts\activate  # Windows
  1. 安装依赖:
bash 复制代码
pip install -r requirements.txt

使用方法

作为 Python 库使用

python 复制代码
from fix_plantuml import generate_uml

# 创建UML代码
uml_code = """
@startuml
title 简单类图

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

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

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

# 生成UML图的URL、代码和本地路径
result = generate_uml(uml_code)

# 输出结果
print("PlantUML代码:")
print(result["code"])
print("\nPlantUML URL:")
print(result["url"])
print("\n本地文件路径:")
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
  3. 在配置文件中添加或修改mcpServers部分:

json 复制代码
{
  "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、理解项目的认证流程
2、把认证流程生成UML代码通过UML-MCP-Server生成流程图
3、注意:"output_dir": "/Users/edy/vs-code/bjwa-task-project/uml-output"

UML 工具返回的结果

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

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

例如:

复制代码
已生成类图:

PlantUML代码:
@startuml
title 用户和订单系统
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...

本地文件路径:
/Users/username/projects/UML-MCP-Server/output/class_diagram_12345.png

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

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

故障排除

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

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

常见问题及解决方案:

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

贡献

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

许可证

本项目采用 MIT 许可证。详见 LICENSE 文件。

相关推荐
ServBay7 小时前
不会写代码也能建站?AI 时代,非技术创始人如何从零搭建自己的 Web 项目
后端·mcp
槑有老呆10 小时前
一篇搞懂 MCP:大模型的"USB-C 接口"到底是个啥
mcp
Java陈序员10 小时前
一站式本地监控!一款开源的 Token 用量监控分析工具!
ai编程·claude·cursor
牧艺10 小时前
Cursor Rules / Skills 分层设计:让 Agent 像「团队新同事」
前端·人工智能·cursor
玉宇夕落13 小时前
MCP协议深度剖析,从“ChatBot”到“Agentic AI”的跃迁
mcp
TrisighT14 小时前
DevEco Code 写鸿蒙 ArkTS 确实快,但我试了三天后把默认引擎换成了 Cursor
ai编程·harmonyos·cursor
浩风祭月1 天前
AI 改代码总爱顺手重构?一份 Task Contract 把修改范围锁住
ai编程·claude·cursor
小小坦克手2 天前
BlenderMCP 服务崩溃诊断与修复实录
mcp
QCC产品中心2 天前
MiniMax Agent 接入实测:企业查询、股权穿透与 UBO 识别(附 Prompt 模板)
大数据·mcp·金融/非金融
ServBay2 天前
7 个AI开发中真正用得上的 MCP Server,配合Claude Code食用效果更佳
后端·claude·mcp