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サーバに発展しました。)

システム要件

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

MCPクライアントへの接続

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

  1. Enterprise Architectの64ビット版が正常に動作していることを確認します。
  2. .NET デスクトップ ランタイム 9.0.5 以降がインストールされていない場合は、インストールします。
  3. MCP Server for 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 のインストールディレクトリがデフォルトのパスと異なる場合は変更してください。

{
  "globalShortcut": "",

  "mcpServers": {
    "Enterprise Architect": {
      "command": "C:\\Program Files\\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_diagram
    • open_diagram - Enterprise Architectでダイアグラムを開く
    • get_elements_used_in_diagram
    • get_connectors_used_in_diagram
  • 要素:
    • get_current_element
    • get_element
    • select_element_in_browser
    • select_element_in_diagram
    • get_child_diagrams
    • get_child_elements
    • get_connectors
    • get_attributes
    • get_properties - タグ付き値およびカスタムプロパティ
    • get_operations - 現在は引数の情報はありません
    • find_in_diagrams - 「利用されているダイアグラム」の機能
    • find_elements_by_name - 完全一致か、それとも含むかを指定可能
  • パッケージ:
    • get_root_packages
    • get_package
    • select_package_in_browser
    • get_diagrams_in_package
    • get_elements_in_package
    • get_packages_in_package
  • その他:
    • clear_internal_cache - モデルの内容を変更したときに、明示的に呼び出すように指示する必要があります

制限事項

  • 取得できる要素やダイアグラムなどのプロパティは、Enterprise Architectのすべてのプロパティではありません。
  • シーケンス図およびコミュニケーション図のメッセージは取得できません。複合フラグメントおよびその条件と所属するメッセージとの関係を含めて戻すことが難しいことが未対応の理由の一つです。
  • 複数のEnterprise Architectが起動している場合、最初のEnterprise Architectに対して接続します。

MCPサーバーの構造

MCP Server for Enterprise Architect は、MCP3.exe と MCP_EA.dll の2つのコンポーネントで構成されています。MCP3.exe はMCPサーバー実行可能ファイルであり、MCPクライアントは標準入出力(stdio)を使用して接続できます。MCP3.exe は .NET 9.0 でビルドされています。MCP_EA.dll は、Enterprise Architect プロセス内で動作する標準の Enterprise Architect アドインです。2つのプロセスは名前付きパイプを介して通信します。

使用許諾契約に違反する可能性があるため、HTTP方式でのMCPサーバーを提供する予定はありません。

MCPアドインは、アドインのインストールディレクトリにあるいくつかの .NET Framework ライブラリファイルを読み込みます。これにより、他の .NET Framework ベースのアドインの動作に影響を与える可能性があります。

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

MCP_EA.msi
(最新リリース: バージョン 1.4 2025/6/5)

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