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アプリケーションから取得し、その内容を元に回答を作成できます。

関連する動画

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

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

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

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

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

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

システム要件

  • Microsoft® Windows 11 および Windows 10
  • Enterprise Architect (バージョンの制限はありません・32ビット・64ビットの両方に対応) - 動作確認はバージョン17.1 ビルド1716で実施
  • Enterprise Architectのエディションの制限はありません
  • STDIO形式に対応するMCPクライアント - 動作確認は Claude for Windows / Visual Studio Code (GitHub Copilot) / Antigravity CLI で実施
  • Microsoft .NET デスクトップ ランタイム バージョン 9 (最新版を推奨)

MCPクライアントへの接続

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

  1. Enterprise Architectが正常に動作していることを確認します。
  2. .NET デスクトップ ランタイム 9.0がインストールされていない場合は、インストールします。
  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.json (Visual Studio Code) の例

MCPサーバーの情報は、.vscodeフォルダ内のmcp.jsonファイルに保存されています。他にMCPサーバーがない場合は、ファイルを作成して以下をコピー&ペーストしてください。すでにある場合は、「Enterprise Architect」の部分だけを追加してください。Enterprise Architectのインストール先がデフォルトと異なる場合は、パスを変更してください。接続に成功しているかどうかは、VSCodeのコマンド「MCP: List Servers」から確認できます。

VSCode環境内でMCPサーバーとチャットするために、一般的にはGitHub Copilot Chat拡張機能が使用されます。Enterprise Architect MCPアドインを使う設定方法などは、他のMCPサーバを使用する場合と特に異なる点はありません。

64ビット版のEnterprise Architectの例

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

settings.json (Antigravity CLI) の例

MCPサーバーの情報は、ユーザーフォルダ下の.geminiの設定フォルダ(例:c:\Users\ユーザー名\.gemini\config)にあるmcp_config.jsonファイルに保存されます。他にMCPサーバーがない場合は、ファイルを作成して以下をコピー&ペーストしてください。すでにある場合は、「Enterprise Architect」の部分だけを追加してください。Enterprise Architectのインストール先がデフォルトと異なる場合は、パスを変更してください。接続に成功しているかどうかは、Antigravity CLIのコマンド「/mcp list」で確認できます。

Example for 64-bit version of Architect

{
  "mcpServers": {
    "enterprise-architect": {
      "command": "C:\\Program Files\\SparxSystems Japan\\EA\\MCP_Server\\MCP3.exe",
      "args": [""]
    }
  }
}

MCPサーバーの機能

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

  • ダイアグラム:
    • get_current_diagram
    • get_diagrams_information
    • get_opened_diagrams
    • open_diagrams
    • get_diagram_image
    • reload_diagrams
  • 要素:
    • get_current_elements
    • get_elements_information
    • select_element_in_browser
    • select_element_in_diagram
    • find_element_in_diagrams - 「利用されているダイアグラム」の機能
    • find_elements_by_name - 完全一致か、それとも含むかを指定可能
    • export_element_linked_documents
  • 接続:
    • get_current_connector
    • get_connectors_information
  • パッケージ:
    • get_current_package
    • get_packages_information
    • get_root_packages
    • find_packages_by_name

作成・編集の機能

以下の要素などの作成や編集の機能を利用するには、MCP3.exeの起動時の引数の指定が必要です。詳細は下記「起動時の引数」をご覧ください。

  • ダイアグラム:
    • create_or_update_diagram
    • place_elements_on_diagram
    • remove_elements_from_diagram
    • layout_connectors - 接続のレイアウト
    • change_connector_visibility - ダイアグラム上の接続の表示/非表示の変更
  • 要素:
    • create_or_update_elements
    • create_or_update_operations
    • create_or_update_attributes
    • clone_elements
    • import_element_linked_documents
  • 接続:
    • create_or_update_connectors
    • create_or_update_messages
  • パッケージ:
    • create_or_update_package
    • clone_package
    • create_baseline
    • apply_baseline

削除の機能

以下の要素などの削除の機能を利用するには、MCP3.exeの起動時の引数の指定が必要です。詳細は下記「起動時の引数」をご覧ください。

  • delete_from_model

MCPサーバーの追加情報・補足情報

ログファイル

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

  • MCPアドインは、動作ログを%APPDATA%\Sparx Systems\EAのMCP_EA.logおよびMCP_EA_Errors.log に出力します。
  • Claude アプリケーションは、ログファイルを %APPDATA%\Claude\logs\mcp-server-Enterprise Architect.log に出力します。
  • VSCodeでは、こちらに記載の方法(英語)で出力ウィンドウにMCPサーバーとの通信ログが表示されます。
  • その他のMCPクライアント利用時も、MCPサーバに関するログファイルがある場合、そのログファイルをお送りください。

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

起動時の引数

MCP3.exeの起動時の引数は、以下の通りです。

-enableEdit
編集機能を有効にします。作成や編集の機能を利用する場合には、対象のプロジェクトを事前にバックアップすることを推奨します。
-enableDelete
削除機能を有効にします。ただし、AIは、人間が意図したとおりに動作するとは限りません。実際に、弊社におけるテスト中に、パッケージが保持するタグ付き値を削除するように指示したところ、そのパッケージ全体を削除してしまう例がありました。削除の機能を利用する場合には、対象のプロジェクトを事前にバックアップすることを強く推奨します。
-setTimeout N
既定値では、Enterprise Architectが起動していない場合など、Enterprise Architectとの通信が3秒以内に終了しない場合にはタイムアウトとなります。このタイムアウトの時間を3秒から600秒の間に変更できます。タイムアウトの時間を長くすることで、Proクラウドサーバ利用時など通信や処理に時間がかかる場合に処理を完了できる可能性が高くなりますが、何か問題があった場合の待ち時間も長くなります。
-modifiedInfoPath fullPathToCSVFile
AIによって追加・編集・削除が行われた項目の情報を指定したファイルにCSV形式で出力します。AIとEnterprise Architectを連携させると、将来的に、モデルを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」を選択してください。

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

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

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 および バージョン15.2以前のEnterprise Architect用: MCP_EA_x86.msi

(最終リリース: バージョン 2.8.5 2026/7/13)

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

よくある質問

MCPアドインは無料で利用できますか?今後有料にする予定はありますか?
はい、MCPサーバーは無料で提供しています。今後も無料で提供します。
ただし、個別のお客様に固有の要件に対応するためのカスタマイズや、特定の機能追加などのご要望には有償での対応となる場合があります。もし、標準機能としては実装・対応しないと判断した内容について、有償での対応をご希望の場合には、ご連絡ください。費用をお見積りいたします。
現場での設計で利用できますか?商用利用できますか?
利用できます。利用目的については制限はありません。
Enterprise Architectのサポートが終了しています。利用できますか?
MCPアドインの利用にはEnterprise Architectのサポートは不要です。ただし、不明点などがある場合で、Enterprise Architectに直接関係する内容としても、有効なサポートがない場合にはご対応できません。
Enterprise Architectのバージョンx.yでも利用できますか?
Enterprise Architect 17.1以降で動作確認していますが、バージョンによる動作制限はありません。古いバージョンでは問題が発生するかもしれません。
GUIDが取得できない・操作対象の項目をGUIDで指定できない
このMCPサーバは、GUIDで対象を指定しなければならない状況がないように設計されています。GUIDはコンピュータのための情報であり、人間のための情報ではありません。私たち人間が会話の中でGUIDを口から発することがないように、AIとの対話の中でも、GUIDを使う事は自然ではないと考えます。また、GUIDが必要となると、Enterprise Architectからコピー・ペーストする操作が発生するなど、非効率な操作を必要とします。「選んでいる要素」「先ほど追加した要素」など、自然な指示でモデルを参照・編集できることを目指しています。
将来の機能追加などのロードマップはありますか?
現時点ではありません。AI(LLM)の進化がとても早いため、現時点で何かを決めても、すぐに陳腐化すると考えています。お客様からの反応・ご要望を見ながら改善・機能強化を行っています。