CLASSIFICATION: PUBLIC LICENCE: MIT DOC-ID: JGSC-ARCHI-MCP REV 1.0.0
§ 00 - JGS ARCHI BRIDGE

AI agents that edit your live ArchiMate model, not a copy of it.

JGS Archi Bridge is an Eclipse plugin for Archi that embeds an HTTP server speaking the Model Context Protocol inside a running Archi instance. Any MCP-compatible agent (Claude Code, Cline, LM Studio) can then query, search, analyse, and directly change the ArchiMate model you have open, in the same session, on the same screen.

Every write goes through Archi's own CommandStack, so an agent's change is undone with Ctrl+Z exactly like a manual edit. A human-owned approval gate can hold changes for review before they apply. The default bind is loopback only, so nothing leaves your machine.

69 MCP tools 14 MCP resources Archi 5.7+ Java 21+ MIT licensed 4,082 tests / 181 classes
§ 01 - HOW IT WORKS

The agent drives Archi, live, through Archi's own edit engine.

Most tooling that connects an AI agent to an ArchiMate model works on the file: it parses the exported XML, computes a change, and writes a new file back. JGS Archi Bridge does not do that. It runs a small HTTP server inside the Archi process, so the agent operates on the model you already have open, while you have it open. There is no export step, no re-import, and no second copy to reconcile.

  1. Archi keeps running

    You start the server from Archi's own menu (MCP Server > Start MCP Server) with your model open. Your GUI stays exactly where it is. The server listens on http://127.0.0.1:18090/mcp by default and answers over the standard MCP protocol.

  2. The agent reads and proposes changes

    Reads (search, traversal, view inspection) run straight off Archi's in-memory model on the server's own threads. Writes are dispatched onto Archi's SWT UI thread via Display.syncExec() and executed as commands on Archi's native CommandStack, the same stack a human edit uses.

  3. Changes appear on your canvas

    Because the mutation runs through Archi's real command layer, a new element, a re-routed connection, or a whole composed view shows up on your diagram immediately, correctly styled, exactly as if you had drawn it.

  4. You stay in control of the timeline

    Every agent change is a command on the undo stack. Ctrl+Z reverts it. The agent's own undo/redo tools are scoped to the agent's changes and refuse to cross a human edit, so an agent can never silently roll back work you drew by hand.

Concretely: the model is never serialised out and read back to make a change. The trust boundary is a loopback HTTP port, and the edit boundary is Archi's CommandStack. That is why undo, redo, and validation behave identically for agent and human edits.

§ 02 - WHY LIVE-SESSION CONTROL

Why this beats parsing the file offline.

Native undo, not a diff to reconcile

File-parsing tools (coArchi2-style) compute a change against an exported model and hand you a new file. You then merge or reload, and your undo history is gone. Here the agent's change is a first-class command on Archi's stack: undo it, redo it, or keep editing on top of it without leaving Archi.

Validation parity with Archi

Mutations are never stricter nor more forgiving than Archi itself. A relationship the GUI would reject is rejected here, with a structured error citing the relevant ArchiMate 3.2 specification section. The agent cannot coerce the model into a state Archi would not allow.

One source of truth

There is no exported copy drifting out of sync with what is on your screen. The agent reads and writes the live model, so what it sees, what you see, and what gets saved are the same object.

Views the agent can actually lay out

The server carries a full layout and routing pipeline (ELK layered layout, orthogonal connection routing, a layout-quality assessor). The agent does not just create elements: it composes readable diagrams and can measure whether the result is legible before showing it to you.

Trust before you hand over write access

The approval gate defaults to GATED on a fresh install (fail safe). An agent acting on untrusted input, say a prompt-injected document, cannot apply a destructive change without your explicit approval in Archi. You review a plain-language card and decide.

Local by default

The server binds to 127.0.0.1 and validates the Origin/Host header, so a remote host cannot reach it and a browser page cannot drive it. Optional TLS and an opt-in bearer token are there when you need them, but the default posture is closed.

§ 03 - CAPABILITIES

What the 69 tools let an agent do.

Grouped by function. Each group is a set of MCP tools the agent calls in natural conversation, plus 14 reference resources (ArchiMate layer and relationship guides, viewpoint recipes, workflow prompts) the agent fetches to model correctly.

Query & inspect

Model overview, element and relationship retrieval, multi-hop relationship traversal, view contents with full styling read-back, and reverse where-used lookup.

Example

"What applications support the Customer Portal capability?" The agent searches elements, traverses relationships, and returns the supporting components.

Search & discovery

Full-text search across names, documentation, and properties with type, layer, and specialization filters. Discovery-first create tools avoid duplicating an element that already exists.

Example

"Find all Application Services in the model" or "Show me the relationships between the CRM and ERP systems."

Create & update

Create and update elements, relationships, views, and the model itself, with ArchiMate rule enforcement, duplicate detection, specializations (IS-A subtypes), and folder management.

Example

"Create a new view showing the payment processing flow" builds the elements, wires the relationships, and places them on a fresh diagram.

View composition

Place elements, groups, notes, image nodes, and view references onto diagrams; nest containers with an auto-receding backdrop; anchor an object to follow a container as it grows; style every visual.

Example

"Add the fraud engine to this view and connect it to the payment gateway" places and links the visual in one step.

Layout & routing

ELK-backed automatic layout, orthogonal connection routing, group arrangement, hub sizing, and density-aware spacing tools that self-terminate honestly rather than looping.

Example

"Auto-layout and route the connections on this view" computes positions and clean orthogonal paths in a single atomic operation.

Layout assessment

A layout-quality assessor rates a view across overlap, crossing, terminal, spacing, and hub-port metrics, and reports a coverage map so a done-gate knows what was actually checked.

Example

"Is this diagram readable, and what should I fix?" returns a tiered rating with the specific tool to run for each defect.

Export & images

Render any view to PNG, JPG, SVG, or PDF, inline or to file, each render stamped with the model's mutation version so a stale image is detectable. Import icons into the model archive.

Example

"Export the landscape view as an SVG" writes a vector render you can drop into a document.

Batch & undo

Group mutations into atomic transactions, run compound bulk-mutate commands with back-references, and undo or redo agent changes as scoped, native command-stack operations.

Example

"Undo the last three changes you made" reverts only the agent's own edits, stopping at any human edit on the stack.

Approval workflow

When you turn on Approval Mode, the agent's mutations queue as pending instead of applying. The agent can only observe that it is gated; it cannot approve its own changes. You decide in Archi.

Example

The agent calls list-pending-approvals, sees its changes are held, and tells you to confirm them in the Pending Approvals dock.

Full tool and resource reference is in the README. The plugin also ships a prompt library, including repo-to-archimate-model.md (also the /repo-to-archi Claude Code slash command), which reverse-engineers a code repository into a full, evidence-marked ArchiMate 3.2 model.

§ 04 - WHO IT IS FOR

For architects who use Archi and want AI help they can trust.

If you are an enterprise architect or systems engineer who already models in Archi, the appeal of an AI agent is obvious: describe a change, get it drafted. The hesitation is equally obvious: you are handing a language model write access to a model that took real work to build, and one bad batch could corrupt it.

This tool is designed around that hesitation, not around a demo. Three properties make the difference:

Every change is reversible

Agent edits are commands on Archi's undo stack. If a result is wrong, Ctrl+Z takes it back. You are never one step from an unrecoverable state.

You can require sign-off

With Approval Mode on, nothing the agent writes touches the model until you approve it from a plain-language card that names exactly what changes, with deletions called out.

The model stays valid

The server refuses any mutation Archi itself would refuse. The agent works within the ArchiMate specification, not around it, so the model cannot be driven into an inconsistent state.

The result is a way to move from curiosity to daily use: start read-only, keep the approval gate on, watch what the agent proposes, and open up write access on your own schedule once you trust it. Nothing forces you further than you want to go, and nothing you do is irreversible.

§ 05 - INSTALL & GET STARTED

Running in a few minutes.

You need Archi 5.7 or later, Java 21 or later, and an MCP-compatible client. The condensed path is below; the README covers every client and every option in full.

  1. Install the plugin

    Download the latest .archiplugin from Releases (or the repo's bin/ directory). In Archi, use Help > Manage Plug-ins > Install New..., or drop the file into Archi's dropins/ folder. Restart Archi.

  2. Start the server

    Open an ArchiMate model, then choose MCP Server > Start MCP Server from Archi's menu bar. The default endpoint is http://127.0.0.1:18090/mcp. Port, bind address, TLS, and authentication live under Window > Preferences > MCP Server.

  3. Point your agent at it

    For Claude Code, one command connects it:

    claude mcp add --transport http archi http://127.0.0.1:18090/mcp

    Claude Desktop needs a proxy (uvx mcp-proxy) because it does not natively support Streamable HTTP. Cline and other clients point directly at the Streamable-HTTP endpoint (/mcp), or the SSE endpoint (/sse) for older clients.

  4. Ask in plain language

    With the server running and the client connected, describe what you want: "Give me an overview of this architecture model", "What does the Order Processing component depend on?", or "Create a view showing the payment processing flow and lay it out."

§ 06 - SECURITY & TRUST

The threat model in one sentence.

The threat is not the hostile internet. It is other local processes on your machine, LAN neighbours after one preference change, and a prompt-injected agent, and the mitigations are sized for exactly those.

From SECURITY.md

Because the server exposes mutating and file-touching tools over HTTP, the trust boundary is stated plainly. Three controls are the headline, and all are on with zero configuration:

Loopback-only bind

The default bind address is 127.0.0.1, so the port is not reachable from the network. Origin/Host validation rejects a browser page trying to drive the tools via DNS-rebinding. Binding off-loopback is opt-in and warned about.

Human-owned approval gate

A fresh install defaults to GATED (fail safe). The agent has no tool to ungate itself or approve its own changes; it can only observe that it is gated. Turning the gate off requires a desktop confirmation in Archi.

Native undo, scoped

Every mutation is undoable through Archi's CommandStack. The agent's undo/redo stop at, and refuse to cross, any human edit, so the agent cannot silently revert your hand-drawn work.

Optional hardening is yours to enable when the deployment calls for it: TLS with a self-signed or supplied certificate, and an opt-in 256-bit bearer token. Both secrets (the token and the keystore password) are stored in your OS keychain via Equinox secure storage (macOS Keychain, Windows Credential Store), never in cleartext on disk; the server fails closed rather than falling back to plaintext. If you bind off-loopback, securing the surface (firewall, TLS, bearer token) becomes your responsibility, and the preferences page warns you at the moment you cross that line.

Read the full SECURITY.md before binding off-loopback or pointing an agent at untrusted input. It states, control by control, what is protected by default, what is your responsibility as operator, and how to report a vulnerability.

§ 07 - ABOUT

Maintained by JG Systems Consulting Ltd.

JG Systems Consulting Ltd is an independent systems architecture and MBSE (model-based systems engineering) consultancy. We work inside client organisations on real enterprise-architecture and systems-engineering programmes, in tools like Archi, CATIA Magic, and Sparx Enterprise Architect, not in a research lab. Archi MCP Server exists because we needed it ourselves: a way to let an AI agent work inside a live architecture model without breaking the model, the audit trail, or the architect's trust in either.

That practitioner origin shapes the whole design. The approval gate, the loopback-only default, and routing every mutation through Archi's own CommandStack instead of a bespoke undo system are not features added to look responsible for a demo. They are what we require before we let an agent near a client's model, and what we ship by default here.

The plugin is MIT licensed and open source. It was forked from fanievh/archi-mcp-server, and JG Systems Consulting Ltd has maintained and extended it: the layout and routing engine, the assessment tooling, specialization and view-composition support, and the mutation-safety model are original work from this fork, released under the same licence. Every push runs the full test suite (4,082 tests across 181 classes) on GitHub Actions.

This is one of a family of local-first, agent-friendly tools we build and open-source alongside our consulting work: bridges and skills that bring AI agents to real engineering models, on the architect's own machine, with nothing sent to the cloud. Most are free to use; a few are licensed. See the rest at labs.jgsystemsconsulting.com, or get in touch about an architecture or MBSE engagement at www.jgsystemsconsulting.com.