返回市场
uml-mcp-服务器

uml-mcp-服务器

作者:Swayingleaves26 星标更新:2025-09-23

项目介绍

UML-MCP-Server

English | 中文

smithery 徽章

UML-MCP Server 是一个基于 MCP(模型上下文协议)的 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
# 或
uml-mcp-venv\Scripts\activate  # Windows
  1. 安装依赖项:
pip install -r requirements.txt

使用方法

作为 Python 库使用

from fix_plantuml import generate_uml

# 创建 UML 代码
uml_code = """
@startuml
标题: 简单类图

类 User {
-String 名称
-String 邮箱
+登录()
+注销()
}

类 Order {
-整数 ID
-日期 日期
+处理()
}

User "1" -- "多" Order: 下单
@enduml
"""

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

# 输出结果
print("PlantUML 代码: ")
print(结果["code"])
print("\nPlantUML URL:")
print(结果["url"])
print("\n本地文件路径: ")
print(结果["local_path"])

在 Cursor 中配置 MCP

Cursor 支持 MCP(模型上下文协议)服务器,允许您直接在 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. 了解项目的认证过程
2. 为认证过程生成 UML 代码并通过 UML-MCP Server 生成流程图
3. 注意:"output_dir": "/Users/my-project/uml-output"

UML 工具返回的结果

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

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

例如:

生成的类图:

PlantUML 代码:
@startuml
标题: 用户和订单系统
类 User {
-String 名称
-String 邮箱
+登录()
+注销()
}
类 Order {
-整数 ID
-日期  日期
+处理()
}
User "1" -- "多" Order: 下单
@enduml

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

本地文件路径:
/Users/用户名/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 文件以获取详细信息。