UML图生成MCP服务器

项目简介

本项目 'UML-MCP-Server' 是一个实现了 Model Context Protocol (MCP) 的服务器,专注于UML(统一建模语言)图的生成。它允许用户通过自然语言描述或直接编写 PlantUML 代码来创建多种类型的 UML 图,例如类图、序列图、活动图等。作为一个 MCP 服务器,它可以无缝集成到支持 MCP 协议的客户端应用中,例如 Cursor 编辑器,从而在这些客户端中直接提供 UML 图生成能力。

主要功能点

  • 支持多种 UML 图类型: 包括类图、序列图、活动图、用例图、状态图、组件图、部署图和对象图。
  • 自然语言生成 UML 图: 允许通过自然语言描述来生成相应的 UML 图。
  • PlantUML 代码生成 UML 图: 支持直接使用 PlantUML 文本代码生成 UML 图。
  • 多种输出格式: 返回 PlantUML 代码和可访问的 PlantUML 在线 URL,方便分享和查看。
  • 本地保存: 同时将生成的 UML 图保存到本地文件系统,并提供本地文件路径。
  • 自定义输出路径: 支持用户自定义 UML 图片的保存路径和输出目录。
  • MCP 服务器: 作为一个标准的 MCP 服务器,可以与任何支持 MCP 协议的客户端集成。
  • 完善的日志系统: 记录服务器运行状态和操作日志,方便问题排查。

安装步骤

  1. 克隆仓库: 首先,你需要将仓库克隆到本地:

    git clone https://github.com/Swayingleaves/uml-mcp-server.git
    cd uml-mcp-server
  2. 创建并激活虚拟环境 (推荐): 为了隔离项目依赖,建议创建一个 Python 虚拟环境:

    python -m venv uml-mcp-venv
    source uml-mcp-venv/bin/activate  # Linux/Mac
    # 或
    uml-mcp-venv\Scripts\activate  # Windows
  3. 安装依赖: 安装项目所需的 Python 依赖包:

    pip install -r requirements.txt

服务器配置

要将 'UML-MCP-Server' 作为 MCP 服务器集成到 MCP 客户端(例如 Cursor)中,你需要在客户端的配置文件中添加服务器配置信息。以下是一个典型的 'mcpServers' 配置示例(JSON 格式),你需要根据你的实际安装路径进行调整:

{
  "mcpServers": {
    "UML-MCP-Server": {  // MCP 服务器的名称,可以自定义
      "command": "uv",   // 运行命令,这里使用 uv (或 python,如果你的环境没有 uv)
      "args": [        // 命令参数列表
        "--directory",  // 指定工作目录
        "/path/to/uml-mcp-server", // 替换为你的 'uml-mcp-server' 仓库的绝对路径
        "run",          // 运行命令
        "uml_mcp_server.py" // 主程序文件名
      ],
      "output_dir": "/path/to/uml-output" // 替换为你希望保存 UML 图片的输出目录的绝对路径
    }
  }
}

配置参数说明:

  • '"UML-MCP-Server"': MCP 服务器的名称,在客户端中用于标识和调用该服务器。你可以自定义这个名称。
  • '"command"': 启动 MCP 服务器的命令。通常是 Python 解释器 ('python' 或 'python3') 或更快的 'uv' 运行器(如果已安装)。请确保这个命令在你的系统环境变量 'PATH' 中可访问,或者使用绝对路径。
  • '"args"': 传递给 'command' 的参数列表。
    • '"directory"': 指定 MCP 服务器程序的工作目录,这里应设置为 'uml-mcp-server' 仓库的根目录的绝对路径。
    • '"run"': 表示要运行 Python 脚本。
    • '"uml_mcp_server.py"': 要运行的 MCP 服务器主程序文件名。
  • '"output_dir"': 指定 UML 图片的输出目录。生成的 UML 图片将保存在这个目录下。你需要将其替换为你希望保存图片的目录的绝对路径。

请务必根据你的实际情况修改 '/path/to/uml-mcp-server' 和 '/path/to/uml-output' 为正确的绝对路径。

基本使用方法

配置完成后,在支持 MCP 客户端的应用中(例如 Cursor 编辑器),你通常可以通过以下步骤使用 UML 图生成功能:

  1. 打开或创建一个新的聊天窗口 (在 Cursor 中)。
  2. 在聊天输入框中输入你的需求,例如:
    请为电商网站的用户注册流程生成一个序列图。
    或者直接提供 PlantUML 代码:
    @startuml
    Alice -> Bob: Authentication Request
    Bob --> Alice: Authentication Response
    @enduml
  3. 选择 UML 工具: 在客户端的工具栏或菜单中,找到与 'UML-MCP-Server' 相关的工具入口(通常会是你配置的服务器名称 "UML-MCP-Server")。
  4. 执行生成: 根据客户端的界面操作,选择要生成的 UML 图类型或直接触发 UML 图生成功能。客户端会将请求发送到 'UML-MCP-Server'。
  5. 查看结果: 'UML-MCP-Server' 生成 UML 图后,客户端会返回结果,通常包括:
    • PlantUML 代码: 你可以复制这段代码到其他 PlantUML 工具中使用。
    • PlantUML URL: 一个在线 PlantUML 查看器链接,点击可以直接在浏览器中查看生成的 UML 图。
    • 本地文件路径: UML 图图片保存在本地文件系统中的路径。

你可以在客户端的聊天窗口中查看 PlantUML 代码和 URL,并打开本地文件路径查看生成的 UML 图图片。

信息

分类

开发者工具