MCPサーバ for Enterprise Architect

MCP (Model Context Protocol) および MCPサーバとは?

MCP(Model Context Protocol)は、LLM (Large Language Models・大規模言語モデル)を持つAIアプリケーションが外部のデータソースやツールと連携するための標準化されたプロトコルです。以前は、LLMアプリケーションが外部のデータソースやツールと連携する際は、それぞれに対してAPIや通信などを独自に実装する必要がありましたが、MCPの仕様によって画一的に連携が可能になります。それぞれのツールは、MCPの仕様に対応するだけで、さまざまなLLMアプリケーションと連携が可能になります。MCPの仕様に対応するアプリケーション(MCPクライアント)として、Claude for Desktopが有名です。

MCPサーバは、このプロトコルを実装したサーバーアプリケーションです。例えば、Enterprise ArchitectのMCPサーバを提供することで、Enterprise Architectが持つUMLやSysML等のモデルの情報をLLMアプリケーションから取得し、その内容を元に回答を作成できます。

(以前に、LLMとEnterprise Architectを連携させるためのアドインとして公開していました「情報出力アドイン」は公開を終了し、より強力にLLMと連携できるMCPサーバに発展しました。)

概要紹介の動画

以下の動画では、MCPサーバ for Enterprise Architectの概要と実際の利用例を動画で紹介しています。ぜひご覧ください。


AIとモデリングツールの連携
(13分4秒・音声あり)

システム要件

  • Microsoft® Windows 11 および Windows 10 64ビット (x64)
  • Microsoft .NET デスクトップ ランタイム 9.0.5 以降
  • Microsoft .NET Framework 4.7.2 以降
  • 現在は qea/qeax ファイルのみ対応
  • Enterprise Architect 17.1 ビルド1710.1 および Claude for Windows デスクトップアプリケーション バージョン 0.10.14 でテスト済み

MCPクライアントへの接続

まず、MCPクライアントへの接続を設定する必要があります。このガイドでは、MCPクライアントは Claude for Windows デスクトップアプリケーションです。以下の手順は、正常に動作することを確認するまでの内容です。

  1. Enterprise Architectが正常に動作していることを確認します。
  2. .NET デスクトップ ランタイム 9.0.5 以降がインストールされていない場合は、インストールします。
  3. MCP Server for Enterprise Architect をインストールします。インストーラーはこのページ末尾からダウンロードできます。アドインのファイルは、Enterprise Architectのインストールディレクトリ以下にインストールされます。
  4. Claude アプリケーションを起動し、左上のメニューを選択します。「ファイル」>「設定...」を選択します。
  5. 「開発者」グループを選択し、「構成を編集」ボタンを押します。エディタで「claude_desktop_config.json」ファイルを開きます。
  6. MCPサーバーに関する情報を追加します。このページの下の方に追加例があります。
  7. Claude アプリケーションを再起動し、MCPサーバーに関連するエラーがないか確認します。
    (初期設定では、ウィンドウを閉じてもClaudeアプリケーションは実行し続けます。プロセスを停止するか、Windowsセッションからログオフしてください。)
  8. MCPサーバーに関連するツールが表示されることを確認します。
  9. Enterprise Architect を起動し、プロジェクトを開き、ダイアグラムを開きます。
  10. Claude で、例えば「現在のダイアグラムの概要を教えてください」と尋ねます。Claude はMCPサーバーへの接続を確認するダイアログを表示する場合があります。その場合には許可してください。
  11. Enterprise Architect の現在のダイアグラムに関連する情報が表示されれば、問題なく連携ができています。

標準サポートでは、このMCP Server for Enterprise Architectおよびアドインに直接関連する問題以外には対応できません。

claude_desktop_config.json の例

他にMCPサーバーがない場合は、以下をファイルにコピー&ペーストしてください。既にある場合は、「Enterprise Architect」の部分のみを追加してください。Enterprise Architectのインストールディレクトリがデフォルトのパスと異なる場合は変更してください。

64ビット版のEnterprise Architectの例

{
  "globalShortcut": "",

  "mcpServers": {
    "Enterprise Architect": {
      "command": "C:\\Program Files\\SparxSystems Japan\\EA\\MCP_Server\\MCP3.exe"
    }
  }
}

32ビット版のEnterprise Architectの例

{
  "globalShortcut": "",

  "mcpServers": {
    "Enterprise Architect": {
      "command": "C:\\Program Files (x86)\\SparxSystems Japan\\EA\\MCP_Server\\MCP3.exe"
    }
  }
}

ログファイル

Claude アプリケーションは、ログファイルを %APPDATA%\Claude\logs\mcp-server-Enterprise Architect.log に出力します。MCPアドインは、エラーログを %APPDATA%\Sparx Systems\EA\MCP_EA.log に出力します。これらのファイルは問題解決に役立ちます。問題が MCP Server for Enterprise Architect に関連していると思われる場合は、サポートへの連絡の際にこれらの2つのファイルもお送りください。

MCPサーバーの機能

MCPサーバーは以下のツールを提供します。どのツールを使用するかを指定する必要はありません。LLMが自動的に適切なものを選択します。MCPクライアントから、ダイアグラムを開いたりダイアグラム内の要素を選択したりするツールもあります。

現在、モデルの更新・削除のツールはありません。AIによる、意図しない復元不可能な修正(特に削除)は、現時点では完全に避けることが難しいのがその理由です。

  • ダイアグラム:
    • get_current_diagram
    • get_opened_diagrams
    • get_diagram_information
    • open_diagram - Enterprise Architectでダイアグラムを開く
    • get_diagram_image
  • 要素:
    • get_current_element
    • get_element_information
    • select_element_in_browser
    • select_element_in_diagram
    • find_in_diagrams - 「利用されているダイアグラム」の機能
    • find_elements_by_name - 完全一致か、それとも含むかを指定可能
  • パッケージ:
    • get_root_packages
    • get_package_information
    • select_package_in_browser
  • 生成: これらの機能を利用するためには、MCP3.exeの起動時の引数として「-enableEdit」を追加する必要があります。
    • create_diagram
    • create_element
    • create_connector
    • set_element_property
    • layout_diagram

制限事項

  • 取得できる要素やダイアグラムなどのプロパティは、Enterprise Architectのすべてのプロパティではありません。
  • 複数のEnterprise Architectが起動している場合、最初にプロジェクトを開いたEnterprise Architectに対して接続します。

MCPサーバーの構造

MCP Server for Enterprise Architectは、MCP3.exeとMCP_EA.dllの2つのコンポーネントで構成されています。MCP_EA.dllは、Enterprise Architectプロセス内で動作する標準の Enterprise Architect アドインです。MCP3.exeはMCPサーバーとなる実行ファイルであり、MCPクライアントは標準入出力(stdio)を使用して接続します。なお、HTTPSなどの通信方式でのMCPサーバーの提供予定はありません。(関連情報:「httpsなどで通信するMCPサーバの自作は可能ですか」)

インストーラーのダウンロード

インストーラの表示内容は英語ですが、Enterprise Architect日本語版で動作します。

64ビット版 Enterprise Architect用: MCP_EA_x64.msi

32ビット版 Enterprise Architect用: MCP_EA_x86.msi

(最終リリース: バージョン 1.7 2025/6/20)

注意:
インストーラを実行しても何もファイルがインストールされずに終了する場合、.NET デスクトップ ランタイム 9.0.5 以降がインストールされていません。