MCP (Model Context Protocol) Server for Enterprise Architect
- Short Demo of the Server Features
- System Requirements
- Connect to MCP Client
- MCP Server Features
- Download Installer
- Questions, Bug Reports and Feature Requests
Short Demo of the Server Features
Brief Introduction
(3m14s, with voice)
Generate Model by AI
(2m52s, with voice)
System Requirements
- Microsoft® Windows 11 and Windows 10 64-bit (x64)
- Linux and macOS are not supported
- Microsoft .NET Desktop Runtime 9.0.5 or later
- Microsoft .NET Framework 4.7.2 or later
- Currently tested only for qea/qeax files
- Tested with Enterprise Architect 17.1 build 1713 (x64) and the Claude for Windows / VSCode (GitHub Copilot Chat)
Connect to MCP Client
First, you need to set up a connection to the MCP client. In this guide, the MCP Client is the Claude for Windows desktop application. The following steps are the initial steps to confirm that it works well.
- Confirm that Enterprise Architect works well.
- Install .NET Desktop Runtime 9.0.5 or a later version if it is not already installed.
- Install the MCP Server for Enterprise Architect; you can download the installer from the link below. The add-in files are installed in the Enterprise Architect installation directory.
- Launch the Claude application, then select the menu at the top left. Select "File" > "Settings...".
- Select the "Developer" group, then press the "Edit Config" button. Open the "claude_desktop_config.json" file with your preferred text editor.
- Add information about the MCP Server. You can find an example below.
- Restart the Claude application and check for errors related to the MCP Server.
(With the initial settings, the Claude application continues to run when you close the window. Stop the process or log off from the Windows session.) - Confirm that you can see the tools related to the MCP server.
- Launch Enterprise Architect, open a project, and then open a diagram.
- In Claude, ask, for example, "Give me a summary of the current diagram." Claude will show confirmation dialogs to connect to the MCP Server (for first call of every tool). Allow all of them.
- You can view information related to the current diagram in Enterprise Architect.
Sparx Systems Japan cannot provide support for any setup issues except those strictly related to our MCP Server and Add-in.
Example of claude_desktop_config.json
If you don't have any other MCP Servers, copy and paste the following into the file. If you do, only add the "Enterprise Architect" part. Change this if the Enterprise Architect installation directory is different from the default path.
Example for 64-bit version of Architect
{ "globalShortcut": "", "mcpServers": { "Enterprise Architect": { "command": "C:\\Program Files\\Sparx Systems\\EA\\MCP_Server\\MCP3.exe", "args": [""] } } }
Example for 32-bit version of Architect
{ "globalShortcut": "", "mcpServers": { "Enterprise Architect": { "command": "C:\\Program Files (x86)\\Sparx Systems\\EA\\MCP_Server\\MCP3.exe", "args": [""] } } }
Log Files
The Claude application outputs the log file to %APPDATA%\Claude\logs\mcp-server-Enterprise Architect.log. The MCP add-in outputs the error log to %APPDATA%\Sparx Systems\EA\MCP_EA.log. These files are useful for solving issues. If you believe the issues are related to the MCP Server for Enterprise Architect, please send us these two files.
MCP Server Features
The MCP Server offers the following tools. You do not specify which tools are used; your LLM automatically selects the appropriate ones.
There are some interactive tools that work with Enterprise Architect. With these tools, you can open diagrams, select elements in diagrams, and select elements in the Browser window from MCP client.
- Diagrams:
- get_current_diagram
- get_opened_diagrams
- get_diagram_information
- open_diagram - open a diagram in Enterprise Architect
- get_diagram_image
- reload_diagram
- Elements:
- get_current_element
- get_element_information
- select_element_in_browser
- select_element_in_diagram
- find_in_diagrams - find all diagrams which the target element is used
- find_elements_by_name - support exact match or including the text for names
- Packages:
- get_root_packages
- get_package_informaiton
- select_package_in_browser
- find_packages_by_name
- Create models: To use these features, you need to add '-enableEdit' as an argument when launching the MCP3.exe.
- create_diagram
- create_element
- create_connector
- create_package
- set_element_property - currently following propeties are supported:
- name
- alias
- description - stored as the Notes, or for SysML Requirements, 'text' tagged value
- packageId - for moving elements to another Package
- all other name - set the value as the Tagged Value. To set the "Memo" type, the value must start with "Memo::".
- place_element_on_diagram
- layout_diagram
There are no tools for deleting models. We believe that, at the moment, we cannot prevent the unintended and disruptive deletion caused by AI.
Prompts
When using tools related to creation, such as creating elements, the string passed as the type must be accurate. Specifically, you must provide the same string type as when creating elements using Enterprise Architect Automation Interface. We provide prompts to assist with this generation process. These prompts are provided according to the MCP specification.
For example, when using prompts in the Claude for Windows, click the "+" icon to display the menu before starting the chat. Then select "Add from Enterprise Architect" -> "Creation Rules for SysML 1.5" or "Creation Rules for UML".
When using other notations such as ArchiMate, defining and passing similar content in advance ensures accurate processing.
Current Limitations
- The returned elements, diagrams, etc. have limited properties.
- When two or more Enterprise Architect instances are running, the MCP Server connects with the Enterprise Architect process with which you first open a project.
Structure of the MCP Server
The MCP Server for Enterprise Architect has two components: MCP3.exe and MCP_EA.dll. MCP3.exe is an MCP Server executable, and MCP clients can connect using the "STDIO" method. MCP_EA.dll is a standard Enterprise Architect add-in that works within the Enterprise Architect process.
There is no plan to offer an HTTP-based MCP server for Enterprise Architect, as doing so could violate the Enterprise Architect EULA.
The MCP Add-in (MCP_EA.dll) loads some locally installed .NET Framework library files. This may affect the behavior of other .NET Framework-based add-ins.
Download Installer
For 64-bit Enterprise Architect: MCP_EA_x64.msi
For 32-bit Enterprise Architect: MCP_EA_x86.msi
Important Note:
If the installation process ends without any files being installed, you need to install .NET Desktop Runtime 9.0.5 or a later version.
Questions, Bug Reports and Feature Requests
You may submit questions, bug reports, and feature requests via our inquiry form, or email us at global@sparxsystems.jp. If you will ask bug reports or feature request, please check if you are using the latest version. We always add new features and fix issues.
While we will do our best to provide support and add new features and bug fixes, we are under no obligation to do so.
Frequently Asked Questions
- Is the MCP add-in free to use? Are there any plans to charge for it in the future?
- Yes, the MCP server is provided free of charge. We will continue to provide it free of charge.
- However, customizations to meet specific requirements of individual customers or requests for specific feature additions may be subject to a fee.
- Can I use it with Enterprise Architect version x.y?
- We have confirmed operation with Enterprise Architect 17.1 and later. There are no operational restrictions based on version. Issues may arise with older versions.
- Is there a roadmap for future feature additions?
- Not at this time. Given the rapid evolution of AI (LLM), we believe that deciding on anything now would quickly become obsolete. We are making improvements and enhancing features based on customer feedback and requests.