Book a Demo

Author Topic: MCP (Model Context Protocol) server for Enterprise Architect has been released  (Read 101343 times)

Takeshi K

  • EA User
  • **
  • Posts: 630
  • Karma: +43/-1
    • View Profile
    • Sparx Systems Japan
I have released the MCP (Model Context Protocol) server for Enterprise Architect.
You can connect MCP clients like Claude application and Enterprise Architect and ask to LLM about your model.

For detail and download the installer, please visit our page:
https://www.sparxsystems.jp/en/MCP/
(It is free to use. Not a paid product.)
--
t-kouno

shimon

  • EA User
  • **
  • Posts: 172
  • Karma: +6/-0
    • View Profile
WOW,
Thanks alot.

By the way, which LLM has the best understanding of the EA API and underlying table structure?

Shimon
« Last Edit: May 29, 2025, 07:27:30 pm by shimon »

Takeshi K

  • EA User
  • **
  • Posts: 630
  • Karma: +43/-1
    • View Profile
    • Sparx Systems Japan
I do not know it because I have not let any LLM understand the API and/or the table structure. I cannot imagine why we need it or in what situation.
--
t-kouno

shimon

  • EA User
  • **
  • Posts: 172
  • Karma: +6/-0
    • View Profile
Hi,
For writing scripts, I recently found AI very helpful. If one of the LLM's would have the whole API and the whole table structure, it would write much more accurate scripts.
For instance, I wanted to create Requirements trace diagrams for each 15 requirements in each package (we have over 4,000 requirements).
I got it done by AI.
Sincerley,
Shimon

Williami

  • EA Novice
  • *
  • Posts: 2
  • Karma: +0/-0
    • View Profile
Great job!
This is an impressive tool that enhances model interaction and accessibility for users.

Takeshi K

  • EA User
  • **
  • Posts: 630
  • Karma: +43/-1
    • View Profile
    • Sparx Systems Japan
Hello Williami,

Thank you for your comment. After my first post, I have updated my add-in several times to add more tools (features), fix bugs, and offer the installer for 32-bit version of Enterprise Architect.

Now I think the add-in offers enough features for exploring your model.
Please tell me if you have any idea, quetions and/or bugs.
--
t-kouno

Viking

  • EA User
  • **
  • Posts: 474
  • Karma: +2/-2
    • View Profile
Great job @Takeshi. Very helpful. Many thanks.

I was trying to create a BPMN diagram. The result was nice. After some corrections MCP created Activities, Gateways and Connectors. But it struggled with Events. I think that this could be fixed easily:

BPMN2.0::Event (the base Event type from the BPMN2.0 profile):
The error is "Invalid type" for BPMN2.0: : Event.
So EA's MCP Server recognizes:
✓ BPMN2.0::Activity
✓ BPMN2.0::Gateway
✓ BPMN2.0::SequenceFlow
✓ Event (plain, without profile) -> this not what we want
X BPMN2.0::Event - "Invalid type"
X BPMN2.0::StartEvent - "Invalid parent for ObiectNode"
X BPMN2.0::EndEvent - "Invalid parent for ObiectNode"
This appears to be a limitation or naming inconsistency in EA's BPMN2.0 profile implementation through the MCP Server.


Or do I have to add a context file with the Creation Rules for Archimate?
« Last Edit: November 04, 2025, 04:30:06 am by Viking »

Viking

  • EA User
  • **
  • Posts: 474
  • Karma: +2/-2
    • View Profile
I was also trying to create an ArchiMate diagram with VSCode, Copilot, and MCP for EA. The documentation says "When using other notations such as ArchiMate, defining and passing similar content in advance ensures accurate processing."

So, I was trying prompts like
  • Create a new element of type Component with stereotype ArchiMate3::ApplicationComponent named "CRM"
  • Create an element of type ApplicationComponent with stereotype ArchiMate3::ApplicationComponent named "CRM" in the application layer package

MCP always answered with "invalid Type". I also tried to provide Copilot with Creation Rules, like your implementation does for Claude. So, I used the MDG-XML-file.

But nothing works. Any ideas?

Takeshi K

  • EA User
  • **
  • Posts: 630
  • Karma: +43/-1
    • View Profile
    • Sparx Systems Japan
Hello Viking,

Thank you for your feedback about the MCP add-in.

First, I would like to tell that the issue which BPMN events cannot be created is NOT a bug of my add-in nor an issue of my add-in. This is originally EA's Automation Interface problem.

About the BPMN events, there are two forms. One is the normal (isolated) event, and another is the edge-mounted event. Both has the same BPMN 2.0::StartEvent stereotype.

When we create the BPMN 2.0::StartEvent with Collection.AddNew(name, "BPMN 2.0::StartEvent"), EA always creates the edge-mounted form. But the edge-mounted objects require its parent, so the MCP command always fails. There is no way to specify which form we create for the AddNew method when a stereotype has two or more forms.


Anyway, I have added a workaround for the BPMN events. Please call the tool (MCP method) with BPMN2.0::StartEvent, BPMN2.0::IntermediateEvent and BPMN2.0::EndEvent on the latest MCP server version 2.0.3. You can now create these events.

And during the test of this workaround, I found another issue which we cannot change the type of event (Timer, Message, etc.). This is also an issue of the Automation Interface, so I also added another workaround to update the BPMN properties (tagged values) correctly.

Could you try again with the latest installer?


About your second post, maybe your MCP client sends the string 'CRM' for the type of a new element. In Enterprise Architect, there is no element type 'MCP' so the 'invalid type' is reasonable. About a prompt, the prompts which are offered my MCP add-in are useful to start. In some MCP client such as the Claude for Desktop, we can specify and see the prompts.







--
t-kouno

Viking

  • EA User
  • **
  • Posts: 474
  • Karma: +2/-2
    • View Profile
Hi Takeshi-san,
  • "Could you try again with the latest installer?" -> I removed my current version, downloaded the file again from sparxsystems.jp/en/MCP and installed it. But it says that it is the same version as the other one: 2.0.2.
  • Could you make your creations rules available so that they can also used in Copilot, for example.
  • "When using other notations such as ArchiMate, defining and passing similar content in advance ensures accurate processing." Could you provide examples, please? I tried a lot with Copilot and it was not able to create any Archimate element. Or is this also only possible with Claude Desktop?
V.
« Last Edit: November 05, 2025, 05:27:27 am by Viking »

Takeshi K

  • EA User
  • **
  • Posts: 630
  • Karma: +43/-1
    • View Profile
    • Sparx Systems Japan
Hi Viking,

I have downloaded the installers from my website, as the same as other people, and the installers are correctly updated.
Could you clear the cache of your web browser or use a different browser/network to download the installer?
The installation timestamps are set to 4 November.


About the prompt for the AI, following is the SysML prompt which is offered by the MCP add-in.

-------------
When creating a new element, connector or diagram in the SysML 1.5, you need to specify the following word for its type.

# Diagrams

The following diagram types are supported, as well as the internal type values for creation diagrams.

- Requirement diagram: 'SysML1.4::Requirement'
- Block Definition diagram: 'SysML1.4::BlockDefinition'
- Activity diagram: 'SysML1.4::Activity'
- State Machine diagram: 'SysML1.4::StateMachine'
- Use Case diagram: 'SysML1.4::UseCase'

Diagram types not included in the above list are not currently supported.

# Elements

The following types are currently supported: If a type has a bracketed name, that name must be specified when creating it.

## Requirement diagrams
- Requirement: 'SysML1.4::Requirement'

## Block Definition diagrams
- Block: 'SysML1.4::Block'
- Interface Block: 'SysML1.4::InterfaceBlock'
- Signal
(The following is omitted)
-------------

HTH,
--
t-kouno

Viking

  • EA User
  • **
  • Posts: 474
  • Karma: +2/-2
    • View Profile
Hi Takeshi,

I have now installed the correct version: 2.0.3.

I haven't tested your workaround solution for BPMN yet, but I will definitely do so. Thank you very much for the workaround solution. I really appreciate it.

I only tested BMPN because I wanted to see what is possible with your MCP, as BPMN is the most complicated notation in my opinion.

I am currently trying to create ArchiMate elements, as we normally use ArchiMate. Unfortunately, still no ArchiMate elements are created, only UML case elements. The properties show ArchiMate3 as profile, but the stereotype is not selected. You say in https://www.sparxsystems.jp/en/MCP/: "When using other notations such as ArchiMate, defining and passing similar content in advance ensures accurate processing." Do you mind to add a prompt here to create an ArchiMate ApplicationComponent?
« Last Edit: November 06, 2025, 07:51:46 am by Viking »

Takeshi K

  • EA User
  • **
  • Posts: 630
  • Karma: +43/-1
    • View Profile
    • Sparx Systems Japan
Hi Viking,

I will try to offer a prompt for ArchiMate 3, but could you try if the MCP add-in works for ArchiMate?

1. launch Enterprise Architect, create a new ArchiMate diagram and then leave it (keep open)
2. for your LLM, tell the rule like the following:

Quote
When we create an ArchiMate component in Enterprise Architect, its type is 'ArchiMate3::ArchiMate_ApplicationComponent'.

3. then ask to your LLM like:

Quote
Create a new ArchiMate component named 'Test' in the currently open diagram in Enterprise Architect.
--
t-kouno

Viking

  • EA User
  • **
  • Posts: 474
  • Karma: +2/-2
    • View Profile
I tried it and it was successful. ArchiMate_ApplicationComponent has beeen assigned correctly to component.  Many thanks, Takeshi.

Hopefully also the rest will be created. But I think so.

Viking

  • EA User
  • **
  • Posts: 474
  • Karma: +2/-2
    • View Profile
Can I change the Rectangle Notation to Icon Notation? I tried several ways. set_element_property does not change diagram object properties which would be necessary for my understanding.

Can I tell MCP the size of the created elements?
« Last Edit: November 06, 2025, 09:43:47 pm by Viking »