UML-MCP-Server について
UML-MCP-Server は、MCP をベースに自然言語の説明または PlantUML コードから UML 図を生成するツールです。PlantUML コード、閲覧用URL、ローカルの画像パスを返すため、Cursor などのクライアント内で設計図を作成したい開発者に向いています。
主な機能
- 01クラス図やシーケンス図など8種類のUML図に対応
- 02自然言語の説明からの図の生成
- 03PlantUML コードを直接入力として利用
- 04PlantUML コード・URL・ローカルファイルパスの返却
- 05出力ディレクトリの指定と動作ログの記録
活用シーン
- 01テキストの説明からシーケンス図やクラス図を素早く作成する
- 02Cursor で認証処理などの機能のフローチャートを作成する
- 03生成したUML画像をプロジェクト内の指定ディレクトリに保存する
MCP 対応
本プロジェクトは MCP サーバーであり、Claude や Cursor などの MCP 対応クライアントに UML 図生成ツールを提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
UML-MCP-Server
UML-MCP Server は、MCP(Model Context Protocol)に基づく UML 図生成ツールであり、自然言語による記述または PlantUML コードを直接記述することで、さまざまな種類の UML 図を生成できます。
機能
- 複数の UML 図の種類をサポート: クラス図、シーケンス図、アクティビティ図、ユースケース図、状態図、コンポーネント図、配置図、オブジェクト図
- 自然言語による記述から UML 図を生成できます
- PlantUML コードを直接使用して UML 図を生成できます
- 共有や閲覧を容易にするため、PlantUML コードとアクセス可能な URL リンクを返します
- 生成された UML 図をローカルに保存し、ローカルファイルパスを提供します
- カスタム保存パスをサポートし、UML 画像の出力ディレクトリを指定できます
- MCP サーバーとして、Claude など MCP をサポートするクライアントと統合できます
- サーバーの稼働状況と操作ログを記録する包括的なロギングシステム
インストール
Smithery 経由でのインストール
Smithery 経由で Claude Desktop 用の UML Diagram Generation Tool を自動的にインストールするには:
npx -y @smithery/cli install @Swayingleaves/uml-mcp-server --client claude
手動インストール
- リポジトリをクローンします:
git clone https://github.com/yourusername/UML-MCP-Server.git
cd UML-MCP-Server
- 仮想環境を作成してアクティブ化します:
python -m venv uml-mcp-venv
source uml-mcp-venv/bin/activate # Linux/Mac
# Or
uml-mcp-venv\Scripts\activate # Windows
- 依存関係をインストールします:
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"])
Cursor で MCP を構成する
Cursor は MCP(Model Context Protocol)サーバーをサポートしており、Cursor 内で UML-MCP Server を直接使用して UML 図を生成できます。構成手順は次のとおりです:
-
最新バージョンの Cursor IDE(MCP 機能をサポートするもの)がインストールされていることを確認します。
-
Cursor の構成ファイルを開きます:
- macOS の場合:
~/Library/Application Support/Cursor/config.json - Windows の場合:
%APPDATA%\Cursor\config.json - Linux の場合:
~/.config/Cursor/config.json
- 構成ファイルの '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 画像を保存したいディレクトリパスに置き換えます
-
構成ファイルを保存し、Cursor を再起動します。
-
Cursor で UML-MCP Server を使用します:
- 新しいチャットウィンドウを開きます
- チャットインターフェース下部のツールバーに「UML-MCP Server」ツールアイコンが表示されます
- このアイコンをクリックすると、UML ツールのオプションメニューが表示されます
- 必要な UML 図の種類(「Generate Class Diagram」「Generate Sequence Diagram」など)を選択します
Cursor で UML ツールを使用する
Cursor では、次のように入力できます:
例:
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/my-project/uml-output"
UML ツールが返す結果
UML ツールをどのように使用しても、Cursor は UML-MCP-Server を呼び出し、次のものを返します:
- PlantUML コード - このコードをコピーして他の PlantUML ツールで使用できます
- PlantUML URL - この URL をブラウザで開くと、生成された UML 図を表示できます
- ローカルファイルパス - 生成された 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 サーバーの使用中に問題が発生した場合は、次の手順を試してみてください:
- ログファイルを確認する: 'logs' ディレクトリ内のログファイルでエラーの詳細を確認します
- 依存関係のインストールを確認する: すべての依存関係が正しくインストールされていることを確認します
- ネットワーク接続を確認する: PlantUML サーバー (www.plantuml.com) にアクセスできることを確認します
- 出力ディレクトリの権限を確認する: プログラムに 'output' ディレクトリへの書き込み権限があることを確認します
よくある問題と解決方法:
- UML 図を生成できない: ログ内のエラーメッセージを確認してください。ネットワークの問題や PlantUML サーバーの一時的な利用不可が原因である可能性があります
- 画像がローカルに保存されない: 'output' ディレクトリが存在し、書き込み権限があるかを確認してください
- MCP サーバーが起動できない: ログファイルを確認し、ポートの競合やその他のプログラムエラーがないことを確認してください
コントリビューション
コードの貢献、Issue の報告、改善提案を歓迎します!GitHub Issues または Pull Requests を通じてプロジェクトの開発にご参加ください。
ライセンス
このプロジェクトは MIT ライセンスを採用しています。詳細は LICENSE ドキュメントを参照してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。