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 (モデル コンテキスト プロトコル) に基づいた UML ダイアグラム生成ツールであり、自然言語記述または PlantUML コードの直接記述を通じて、さまざまなタイプの UML ダイアグラムを生成するのに役立ちます。

機能的特徴

  • 複数の UML 図タイプをサポート: クラス図、シーケンス図、アクティビティ図、ユース ケース図、状態図、コンポーネント図、配置図、オブジェクト図
  • UML図は自然言語記述を通じて生成できる
  • PlantUMLコードを直接使用してUMLダイアグラムを生成できます
  • PlantUMLコードとアクセス可能なURLリンクを返し、簡単に共有および表示できるようにします。
  • 生成されたUML図をローカルに保存し、ローカルファイルパスを提供する
  • カスタム保存パスをサポートし、UML画像の出力ディレクトリを指定します
  • MCPサーバーとして、ClaudeなどのMCPをサポートするクライアントと統合できます。
  • サーバーの稼働状況や操作ログを記録する総合的なログシステム

インストール

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 # 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を設定する

CursorはMCP(Model Context Protocol)サーバーをサポートしており、Cursor内で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 Requests を通じてプロジェクト開発にご参加ください。

ライセンス

このプロジェクトは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