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秒・音声あり)

USDM・PFD(プロセスフロー図)とAIとの連携 (4分54秒・音声あり)

EdgeTech+ 2025展示会で説明に利用した動画

Enterprise ArchitectとAIの連携例 1: 図の概要説明・変更方法の提案 (48秒・音声なし)

Enterprise ArchitectとAIの連携例 2: 開いている2つのステートマシン図でデッドロックの可能性の検証 (36秒・音声なし)

Enterprise ArchitectとAIの連携例 3: SysML要求の追加・ブロックの追加・トレーサビリティの追加 (2分30秒・音声なし)

システム要件

  • Microsoft® Windows 11 および Windows 10
  • Microsoft .NET デスクトップ ランタイム 9.0.x (最新版を推奨)
  • Enterprise Architect 17.1 ビルド1715 (x64/x86) および Claude for Windows / VSCode (GitHub Copilot) で動作確認 - アドインとしては、Enterprise ArchitectのバージョンおよびMCPクライアント(STDIOへの対応必須)の制限はありません

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",
      "args": [""]
    }
  }
}

32ビット版のEnterprise Architectの例

{
  "globalShortcut": "",

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

ログファイル

問題発生時に、ログファイルは問題の把握と解決に役立ちます。問題が MCP Server for Enterprise Architectに関連していると思われる場合は、サポートへの連絡の際に以下のファイルもお送りください。

  • MCPアドインは、エラーログを%APPDATA%\Sparx Systems\EA\MCP_EA.log に出力します。
  • Claude アプリケーションは、ログファイルを %APPDATA%\Claude\logs\mcp-server-Enterprise Architect.log に出力します。
  • VSCodeでは、こちらに記載の方法(英語)で出力ウィンドウにMCPサーバーとの通信ログが表示されます。

ただし、mcp-server-Enterprise Architect.log ファイルには、MCP サーバーへの送信リクエストおよび受信応答がすべて記録されるため、モデルに関する機密情報が含まれている可能性があります。不要な機密情報の送信を避けるため、一旦ログファイルを削除してから問題を再現させ、問題に関する情報のみが含まれる状態でログファイルを送信してください。

MCPサーバーの機能

MCPサーバーは以下のツールを提供します。どのツールを使用するかを指定する必要はありません。基本的には、LLMが自動的に適切なものを選択します。各ツールの説明や引数は、ツールや引数のDescriptionをご覧ください。

  • ダイアグラム:
    • get_current_diagram
    • get_diagram_information
    • get_opened_diagrams
    • open_diagram - Enterprise Architect内でダイアグラムを開きます
    • get_diagram_image
    • reload_diagram
  • 要素:
    • get_current_elements
    • get_element_information
    • select_element_in_browser
    • select_element_in_diagram
    • find_in_diagrams - 「利用されているダイアグラム」の機能
    • find_elements_by_name - 完全一致か、それとも含むかを指定可能
    • export_element_linked_document
  • 接続:
    • get_current_connector
    • get_connector_information
  • パッケージ:
    • get_current_package
    • get_package_informaiton
    • get_root_packages
    • find_packages_by_name

以下の要素などの作成や編集の機能を利用するには、MCP3.exeの起動時の引数に '-enableEdit' を追加する必要があります。作成や編集の機能を利用する場合には、対象のプロジェクトを事前にバックアップすることを強く推奨します。

  • ダイアグラム:
    • create_or_update_diagram
    • place_element_on_diagram
    • reset_diagram_layout - ダイアグラムの自動レイアウト
  • 要素:
    • create_or_update_element
    • create_or_update_operation
    • create_or_update_attribute
    • clone_element
    • import_element_linked_document
  • 接続:
    • create_or_update_connector
  • パッケージ:
    • create_or_update_package
    • clone_package

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

プロンプトの利用

要素の作成など、生成に関するツールを利用する場合には、種類として渡す文字列が正確な内容でなければなりません。具体的には、Enterprise ArchitectのAPIで要素などを作成する場合と同じ文字列の種類を与えなければなりません。この生成に関する処理を支援するプロンプトを提供しています。プロンプトは、MCPの仕様に従って提供しています。

一例として、Claude for Windowsでプロンプトを利用する場合には、チャットを始める前に「+」アイコンをクリックしてメニューを表示し、「Enterprise Architectから追加」→「Creation Rules for SysML 1.5」・「Creation Rules for UML」・「Creation Rules for BPMN 2.0」を選択してください。

For the VSCode chat feature, typing '/mcp.Enterprise_Architect.' in the chat field will display the available prompts.

VSCodeのチャット機能の場合には、チャット欄で「/mcp.Enterprise_Architect.」を入力すると、利用可能なプロンプトが表示されます。

ArchiMateなど、他の記法を利用する場合には、類似の内容を定義して事前に渡すことで、正確な処理を期待できます。生成に関するツールを利用しない場合には、プロンプトの利用は不要です。

制限事項

  • 取得できる要素やダイアグラムなどのプロパティは、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サーバの自作は可能ですか」)

MCPサーバーが扱う情報の扱い

MCPサーバーは、利用者が指定したEnterprise Architectのモデル情報をMCPクライアントに提供します。MCPクライアントは、LLMを利用して利用者の質問に回答したり、モデルの変更を提案したりします。MCPサーバー自体は、Enterprise Architectのモデル情報を直接外部に送信することはありません。また、弊社でその情報を参照・利用することはありません。ただし、MCPクライアントがLLMを利用している場合、そのLLMが外部のサーバーに接続している可能性があります。したがって、機密情報を含むモデルを扱う場合は、MCPクライアントおよびLLMのセキュリティポリシーを確認してください。

なお、MCPサーバーは一部の情報をログファイルMCP_EA.logに出力しています。また、MCPクライアントが詳細な情報をログファイルに出力している場合があります。必要に応じて、これらのログファイルを削除してください。(ログファイルの詳細は、「ログファイル」のセクションをご覧ください。)

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

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

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

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

(最終リリース: バージョン 2.3.12 2026/1/23)

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

よくある質問

MCPアドインは無料で利用できますか?今後有料にする予定はありますか?
はい、MCPサーバーは無料で提供しています。今後も無料で提供します。
ただし、個別のお客様に固有の要件に対応するためのカスタマイズや、特定の機能追加などのご要望には有償での対応となる場合があります。
Enterprise Architectのサポートが終了しています。利用できますか?
MCPアドインの利用にはEnterprise Architectのサポートは不要です。ただし、不明点などがある場合で、Enterprise Architectに直接関係する内容としても、有効なサポートがない場合にはご対応できません。
Enterprise Architectのバージョンx.yでも利用できますか?
Enterprise Architect 17.1以降で動作確認していますが、バージョンによる動作制限はありません。古いバージョンでは問題が発生するかもしれません。
モデルの作成や編集機能が利用できません。
モデルの作成や編集機能は、MCPサーバの起動時に引数 '-enableEdit' を指定する必要があります。具体的には、ご利用のMCPクライアントの設定ファイルの"args": [""]"args": ["-enableEdit"] に変更してください。
将来の機能追加などのロードマップはありますか?
現時点ではありません。AI(LLM)の進化がとても早いため、現時点で何かを決めても、すぐに陳腐化すると考えています。お客様からの反応・ご要望を見ながら改善・機能強化を行っています。