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

システム要件

  • Microsoft® Windows 11 および Windows 10 64ビット (x64)
  • Microsoft .NET デスクトップ ランタイム 9.0.5 以降
  • Microsoft .NET Framework 4.7.2 以降
  • qea/qeax ファイルで動作確認
  • Enterprise Architect 17.1 ビルド1713 (x64) および Claude for Windows / VSCode (GitHub Copilot) で動作確認

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

ログファイル

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が自動的に適切なものを選択します。各ツールの説明や引数は、ツールや引数のDescriptionをご覧ください。

  • ダイアグラム:
    • get_current_diagram
    • get_opened_diagrams
    • get_diagram_information
    • open_diagram - Enterprise Architectでダイアグラムを開く
    • get_diagram_image
    • reload_diagram
  • 要素:
    • 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
    • find_packages_by_name
  • 生成: これらの機能を利用するためには、MCP3.exeの起動時の引数として「-enableEdit」を追加する必要があります。
    • create_diagram
    • create_element
    • create_connector
    • create_package
    • set_element_property - 現在は以下の項目に対応:
      • name
      • alias
      • description - ノートとして保存。ただし、SysMLの要求の場合には 'text' として保存
      • packageId - 要素を別のパッケージに移動する目的で利用可能
      • その他の名前 - タグ付き値として保存。メモ型のタグ付き値にしたい場合には、valueの文字列の先頭に'Memo::'を付加する
    • place_element_on_diagram
    • layout_diagram

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

プロンプトの利用

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

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

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サーバの自作は可能ですか」)

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

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

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

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

(最終リリース: バージョン 2.0.0 2025/9/10)

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

よくある質問

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