UML-MCP Server

by Swayingleaves
Verified

local-only server

The server can only run on the client’s local machine because it depends on local resources.

Integrations

  • Generates UML diagrams of multiple types including class, sequence, activity, use case, state, component, deployment, and object diagrams from natural language or PlantUML code

UML-MCP-서버

영어 | 중국어

UML-MCP 서버는 MCP(Model Context Protocol) 기반의 UML 다이어그램 생성 도구로, 사용자가 자연어 설명을 통해 또는 PlantUML 코드를 직접 작성하여 다양한 유형의 UML 다이어그램을 생성할 수 있도록 도와줍니다.

기능적 특징

  • 클래스 다이어그램, 시퀀스 다이어그램, 활동 다이어그램, 사용 사례 다이어그램, 상태 다이어그램, 구성 요소 다이어그램, 배포 다이어그램, 객체 다이어그램 등 다양한 UML 다이어그램 유형을 지원합니다.
  • UML 다이어그램은 자연어 설명을 통해 생성될 수 있습니다.
  • PlantUML 코드를 직접 사용하여 UML 다이어그램을 생성할 수 있습니다.
  • PlantUML 코드와 접근 가능한 URL 링크를 제공하여 쉽게 공유하고 볼 수 있습니다.
  • 생성된 UML 다이어그램을 로컬에 동시에 저장하고 로컬 파일 경로를 제공합니다.
  • 사용자 정의 저장 경로를 지원하고 UML 이미지에 대한 출력 디렉토리를 지정합니다.
  • MCP 서버로서 Claude와 같은 MCP를 지원하는 클라이언트와 통합할 수 있습니다.
  • 서버 운영 상태 및 운영 로그를 기록하는 종합 로깅 시스템

설치

Smithery를 통해 설치

Smithery를 통해 Claude Desktop용 UML 다이어그램 생성 도구를 자동으로 설치하려면:

지엑스피1

수동 설치

  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"])

커서에서 MCP 구성

커서는 MCP(Model Context Protocol) 서버를 지원하므로 커서에서 UML-MCP 서버를 사용하여 UML 다이어그램을 직접 생성할 수 있습니다. 구성 단계는 다음과 같습니다.

  1. MCP 기능을 지원하는 최신 버전의 Cursor IDE가 설치되어 있는지 확인하세요.
  2. 커서의 구성 파일을 엽니다.
  • 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 서버의 이름은 필요에 따라 수정될 수 있습니다.
  • 명령: UV를 실행 명령으로 사용
  • args :
    • 디렉토리: 프로젝트 디렉토리의 절대 경로를 지정하세요
    • run : 명령을 실행합니다
    • uml_mcp_server.py: 메인 프로그램 파일
  • output_dir : UML 이미지의 출력 디렉토리를 지정합니다.

실제 상황에 맞게 다음 경로를 수정하세요.

  • '/Users/Yourpath/UML-MCP Server'를 UML-MCP Server 프로젝트의 실제 경로로 바꾸세요.
  • '/Users/Yourpath/uml-output'을 UML 이미지를 저장할 디렉토리 경로로 바꾸세요.
  1. 구성 파일을 저장하고 커서를 다시 시작합니다.
  2. 커서에서 UML-MCP 서버 사용:
  • 새로운 채팅 창을 엽니다
  • 채팅 인터페이스 하단의 도구 모음에서 "UML-MCP 서버" 도구 아이콘을 볼 수 있습니다.
  • 이 아이콘을 클릭하면 UML 도구에 대한 옵션 메뉴가 나타납니다.
  • 필요한 UML 다이어그램 유형을 선택하세요(예: "클래스 다이어그램 생성", "시퀀스 다이어그램 생성" 등)

커서에서 UML 도구 사용

커서에서 다음을 입력할 수 있습니다.

예를 들어:

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/edy/vs-code/bjwa-task-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 서버를 사용하는 동안 문제가 발생하면 다음 단계를 시도해 보세요.

  1. 로그 파일 확인 : 오류 세부 정보를 보려면 'logs' 디렉토리의 로그 파일을 확인하세요.
  2. 종속성 설치 확인 : 모든 종속성이 올바르게 설치되었는지 확인하세요.
  3. 네트워크 연결 확인 : PlantUML 서버( www.plantuml.com )에 접속 가능한지 확인하세요.
  4. 출력 디렉토리 권한 확인 : 프로그램에 '출력' 디렉토리에 쓸 수 있는 권한이 있는지 확인하세요.

일반적인 문제와 해결책:

  • UML 다이어그램을 생성할 수 없습니다. 네트워크 문제나 PlantUML 서버의 일시적인 사용 불가로 인해 로그에서 오류 메시지가 나타나는지 확인하세요.
  • 이미지가 로컬에 저장되지 않았습니다 . '출력' 디렉토리가 존재하고 쓰기 권한이 있는지 확인하세요.
  • MCP 서버를 시작할 수 없습니다. 포트 충돌이나 기타 프로그램 오류가 없는지 확인하려면 로그 파일을 확인하세요.

기부금

코드 기여, 문제 보고, 개선 제안을 환영합니다! GitHub Issues 또는 Pull Request를 통해 프로젝트 개발에 참여해 주세요.

특허

이 프로젝트는 MIT 라이선스를 따릅니다. 자세한 내용은 라이선스 문서를 참조하세요.

-
security - not tested
F
license - not found
-
quality - not tested

자연어 설명이나 PlantUML 코드를 통해 다양한 UML 다이어그램을 생성하는 도구로, Claude와 같은 클라이언트와 통합할 수 있는 MCP 서버 역할을 합니다.

  1. Functional Features
    1. Installation
      1. Installing via Smithery
      2. Manual Installation
    2. Usage Method
      1. Used as a Python Library
      2. Configure MCP in Cursor
      3. Using UML Tools in Cursor
      4. The Results Returned by UML Tools
    3. Troubleshooting
      1. Contribution
        1. License
          ID: o123cncgxb