Installation Guide

This guide explains how to install Obeo AI for Capella and its Automation Server in Capella and expose the Capella MCP server to an LLM tool. It covers the Windows bundle and the Unix Linux/macOS bundle, with platform-specific notes where paths differ.

1. Scope

This guide covers:

  • installing the Automation Server features into Capella 7.1.0, 7.0.1 or 6.1.0;

  • extracting the packaged local agent tools;

  • exposing capella-mcp through stdio, local HTTP, or authenticated HTTPS;

  • pointing an LLM tool to the MCP server;

  • loading server-provided guidance before inspecting or editing a model.

For connection modes and the required permissions, see Transport and access rights.

2. Version Naming

The distribution archives use a build version such as x.y.z.YYYYMMDDHHMM. In this guide, replace x.y.z.YYYYMMDDHHMM with the version from the archive you downloaded. For example: 2026.9.0.202609041200.

The archive layout uses these names:

  • fr.obeo.ai.automation.server-x.y.z.YYYYMMDDHHMM-win32.win32.x86_64.zip

  • fr.obeo.ai.automation.server-x.y.z.YYYYMMDDHHMM-linux-macosx.tar.gz

  • updateSite/fr.obeo.ai.automation.repository-x.y.z.YYYYMMDDHHMM.zip

  • tools/sirius-automation-agent-x.y.z.YYYYMMDDHHMM.zip

3. Supported environment

Before installing Obeo AI for Capella, check the following requirements. Installation steps are provided in the Installation Guide.

3.1. Software requirements

Component Requirement Notes

Operating system

Windows, Linux or macOS

Obeo AI for Capella can be installed and run in the corresponding Capella distribution on each of these operating systems. Use the Windows archive or the Linux/macOS archive, as appropriate. Capella and Java must match the operating system and processor.

Capella

7.1.0 (target version), 7.0.1 or 6.1.0

The installer checks the underlying Capella version, including for SMW. Capella or SMW must already start successfully with its own runtime. The bundled ELK layout integration is installed for 7.1.0 and 7.0.1; it is skipped for 6.1.0.

MCP and CLI runtime

Java 21 JRE or JDK

Java 21 is required for the MCP and CLI tools with every supported Capella version. With standard Capella 7.1.0, the launchers automatically reuse its bundled Java 21 unless another runtime is configured. For Capella 7.0.1, 6.1.0 or SMW without a bundled Java 21, configure a separate runtime. This does not change the runtime used by Capella or SMW.

Windows installer tools

Command Prompt and PowerShell with Expand-Archive

Required to run the packaged .bat installer and extract the agent archive.

Linux/macOS installer tools

Bash and unzip

Required to run the packaged .sh installer and extract the agent archive.

AI client

An agentic AI tool that can configure and invoke a local MCP server

Use a CLI, desktop application or IDE integration supporting the selected transport: a local command for stdio, or a server URL for HTTP/HTTPS. An LLM account alone is insufficient. See the client combinations tried and LLM client configuration.

For runtime selection and verification, follow Java 21 for the MCP and CLI tools.

3.2. Permissions on the target host

  • The account performing installation needs write access to the Capella installation and the tools directory to install the features and extract the agent.

  • The account running the product must be allowed to execute Java and the MCP launchers. On Linux and macOS, launcher scripts need executable permission; the installer can be run through Bash as shown in the installation guide.

  • Run the local MCP server under the same user account as Capella so it can access the per-user runtime registry and discover the running instance.

  • The account running Capella needs access to its workspace and models, including write access to save model and session changes.

For the distribution, see Get Obeo AI for Capella. Follow the Installation Guide for installation and licensing, and Transport and access rights for stdio/HTTP process permissions and client approvals.

3.3. Connections and external services

The MCP server runs on the same computer as Capella. Its connection to Capella uses a dynamically assigned loopback port; no fixed Capella server port needs to be configured. Capella asks you to approve local automation connections by default.

  • stdio: the AI client starts the MCP server and communicates through standard input/output. No MCP listening port is needed.

  • Local HTTP: allow the client to reach the configured loopback endpoint. The installation examples use http://127.0.0.1:3333/mcp; the server process must remain running while the client uses it.

  • Remote HTTPS: provide a reachable endpoint, a TLS certificate trusted by the client and bearer authentication. A hosted client cannot access your computer’s loopback address. Follow HTTPS with bearer authentication for setup.

For the account permissions and client approvals needed by each mode, see Transport and access rights.

The AI client also needs access to its configured LLM service and any credentials required by that service. Configure network and proxy access in the client as required by your organization. Installing the bundled update site does not provide an LLM service or account.

4. Get Obeo AI for Capella

4.1. Distribution

Your Obeo contact will provide the download links for the distribution matching your operating system.

4.2. Access and licensing

See Product Legal / EULA for the license terms.

Follow the Installation Guide to install the product. Then use its license procedure to request and install your personalized license.

5. Prerequisites

See Supported environment for software, access and connection requirements.

  • Capella 7.1.0 is the target version. Installation is also supported on Capella 7.0.1 and 6.1.0. Download Capella from the Capella website.

  • The Automation Server distribution archive matching your platform.

  • Java 21 for the MCP and CLI tools with every supported Capella version. The standard Capella 7.1.0 package includes it; the launchers automatically reuse that runtime unless another runtime is configured, so no separate Java installation is required in that case.

  • An agentic AI tool (CLI, desktop application or IDE integration) that can configure and invoke the local capella-mcp server. It must support a local launcher command over stdio or a reachable HTTP/HTTPS server URL; see the client combinations tried.

  • A local folder containing capella, tools, and updateSite side by side, or the macOS application layout described below.

SMW installations on Windows keep the capella folder but use SMW.exe. A bundled jre folder is not present in every SMW distribution, even when the underlying Capella version is 7.1.0. Use the separate Java 21 setup below whenever no suitable runtime is bundled, including for Capella 7.0.1 and 6.1.0.

The installer runs Capella or SMW with the runtime configured for that product. SMW must already be able to start with its customer-provided Java configuration. The Java 21 setup below configures only the MCP and CLI tools; it does not change the runtime used by Capella or SMW.

5.1. Paths and executable names

Replace <installation-folder-absolute-path> with the absolute path to the folder containing capella, tools and updateSite. For the native macOS application layout, use the path to Capella.app/Contents. Replace x.y.z.YYYYMMDDHHMM with the extracted agent version.

Examples use Windows executable names unless a Linux/macOS command is explicitly shown. Use the corresponding names on your platform:

Program Windows Linux/macOS

Java

java.exe

java

Capella

capella.exe

capella

Capella MCP server

capella-mcp.cmd

capella-mcp

Capella CLI

capella-cli.cmd

capella-cli

Automation Server installer

install_automation_server_in_capella.bat

install_automation_server_in_capella.sh (run with Bash)

Windows uses backslashes in paths; Linux and macOS use forward slashes. In JSON and double-quoted TOML strings, escape each Windows backslash as \\. Keep command paths quoted when they may contain spaces. The Unix installer is a .sh script invoked with bash; do not rename it to .bash. Linux/macOS MCP and CLI launchers have no .cmd or .exe extension. Follow the platform-specific commands below for shell syntax and the macOS application layout.

6. Java 21 For The MCP And CLI Tools

6.1. Use A Bundled Java 21 When Available

The launchers automatically look for Java in the adjacent Capella installation:

  • Windows: capella\jre\bin\java.exe;

  • Linux: capella/jre/bin/java;

  • macOS: capella/jre/Contents/Home/bin/java, or Contents/jre/Contents/Home/bin/java in the native application layout.

The scripts check the actual Java version before using it. You do not need to add this Java to PATH. A different result from java --version alone does not mean that the MCP launcher is using the wrong Java.

6.2. Provide A Separate Java 21

Use this procedure when the product has no bundled Java 21 (including some SMW distributions), for Capella 7.0.1 or 6.1.0, or to select a separate runtime for the tools.

  1. Download a Java 21 JRE or JDK archive matching your operating system and processor from Adoptium Temurin.

  2. Extract it, then place the runtime directory under tools and name it jre. The executable must be at one of these locations, without an extra versioned directory between jre and bin (or Contents):

    • Windows: tools\jre\bin\java.exe;

    • Linux: tools/jre/bin/java;

    • macOS: tools/jre/Contents/Home/bin/java (also accepts tools/jre/bin/java).

  3. Check the extracted Java with the command for your platform below. Replace <installation-folder-absolute-path> with your full installation path. The output must report version 21.

Windows: open the Start menu, type cmd, and open Command Prompt (Invite de commandes on French Windows). Run:

"<installation-folder-absolute-path>\tools\jre\bin\java.exe" -version

macOS: open Terminal and run:

"<installation-folder-absolute-path>/tools/jre/Contents/Home/bin/java" -version

Linux: open a terminal and run:

"<installation-folder-absolute-path>/tools/jre/bin/java" -version

Restart the desktop client after changing the runtime. This local installation also works for a client started from its application icon.

6.3. Advanced: Select An Existing Java Installation

Set AUTOMATION_SERVER_JAVA_HOME to the directory containing bin/java (bin\java.exe on Windows). For a macOS JDK bundle, this is its Contents/Home directory. This selection takes priority; an invalid path or a version other than 21 produces an error instead of silently selecting another runtime.

For a client launched from Command Prompt on Windows:

set "AUTOMATION_SERVER_JAVA_HOME=C:\path\to\jdk-21"

For a client launched from a terminal on Linux or macOS:

export AUTOMATION_SERVER_JAVA_HOME="/path/to/java-21-home"

These commands affect only this command window and applications started from it. Start the desktop client from the same window so it inherits the variable; close any existing client process first. For normal launching from an application icon, prefer the tools/jre procedure above, or configure this environment variable in the MCP client if it supports per-server environment settings.

The MCP and CLI launchers try these locations in order:

  1. AUTOMATION_SERVER_JAVA_HOME (an explicit override that must be valid);

  2. tools/jre;

  3. the adjacent Capella installation’s bundled runtime;

  4. JAVA_HOME;

  5. java from PATH.

Except for the explicit override, unavailable or incompatible runtimes are skipped. If no Java 21 is found, the launcher explains how to configure it.

7. Install On Windows

  1. Download and unzip Capella 7.1.0, or use an existing Capella or SMW installation based on Capella 7.1.0, 7.0.1 or 6.1.0.

  2. Extract fr.obeo.ai.automation.server-x.y.z.YYYYMMDDHHMM-win32.win32.x86_64.zip into the folder containing the Capella capella folder. The archive places tools, updateSite, LICENSE, and EULA.html directly in the extraction destination, without an enclosing fr.obeo.ai.automation.server-…​ folder.

  3. If you extracted elsewhere, move these entries next to the Capella capella folder.

The parent folder should look like this:

parent-folder/
  capella/
    capella.exe  (or SMW.exe)
  tools/
    install_automation_server_in_capella.bat
    sirius-automation-agent-x.y.z.YYYYMMDDHHMM.zip
  updateSite/
    fr.obeo.ai.automation.repository-x.y.z.YYYYMMDDHHMM.zip

For SMW, keep the capella folder name and the existing SMW.exe name. The installer selects capella.exe when present, otherwise SMW.exe. It uses the matching console launcher (capellac.exe or SMWc.exe) if available, otherwise the selected product executable. The same selection is used for discovery, uninstallation, and installation of the automation features.

  1. Double-click <installation-folder-absolute-path>\tools\install_automation_server_in_capella.bat. To keep output and any errors visible, open the Start menu, type cmd, open Command Prompt (Invite de commandes on French Windows), and run the script there instead. Replace <installation-folder-absolute-path> with your absolute installation path:

cd /d "<installation-folder-absolute-path>"
tools\install_automation_server_in_capella.bat

The script installs the Sirius and Capella automation features from the bundled update site. It also extracts the agent zip into tools and prints the MCP launch options for stdio and local HTTP. Ecore Tools is not installed by default. The installer identifies Capella from its org.polarsys.capella.rcp_<version> feature before changing the installation. It accepts versions 7.1.0, 7.0.1 and 6.1.0 and reports the selected Java 21 path for the tools after extraction. The version check uses the underlying Capella version, including for SMW. If Java 21 is missing, the Capella features remain installed; configure Java before connecting the desktop client.

  1. Launch Capella and request or install your license.

8. Linux And macOS Notes

For Linux or macOS, extract the Unix archive:

fr.obeo.ai.automation.server-x.y.z.YYYYMMDDHHMM-linux-macosx.tar.gz

Extract into the folder containing capella. The archive places tools, updateSite, LICENSE, and EULA.html directly in that destination, without an enclosing distribution folder. Keep this layout:

parent-folder/
  capella/
    capella
  tools/
    install_automation_server_in_capella.sh
    sirius-automation-agent-x.y.z.YYYYMMDDHHMM.zip
  updateSite/
    fr.obeo.ai.automation.repository-x.y.z.YYYYMMDDHHMM.zip

On macOS, open Terminal; on Linux, open a terminal. Run, replacing <installation-folder-absolute-path> with your absolute installation path:

bash "<installation-folder-absolute-path>/tools/install_automation_server_in_capella.sh"

For a native macOS application, right-click the Capella application in Finder and select Show Package Contents. Place tools and updateSite inside Contents, alongside MacOS, Eclipse, and jre:

Capella.app/Contents/
  MacOS/capella
  Eclipse/features/org.polarsys.capella.rcp_<version>/
  jre/Contents/Home/bin/java
  tools/install_automation_server_in_capella.sh
  updateSite/

In the command above, <installation-folder-absolute-path> is the full path to Capella.app/Contents. The script reads the RCP feature from Eclipse/features in this layout. For the classic layout, it reads capella/features. If MacOS/capella is not present, the script falls back to capella/capella. The same Capella version and Java checks apply on Windows, Linux, and macOS.

After installation, the script prints the exact capella-mcp commands for both stdio and local HTTP, plus the path to this guide inside the extracted agent.

9. Request And Install Your License

Complete the Windows or Linux/macOS installation above first, then start Capella. If you already have your personalized license archive, skip the request step.

To request a license, select Help > Register Obeo AI for Capella. Send the registration information to registration@obeo.fr to obtain your personalized license archive.

To install the license supplied by Obeo:

  1. In Capella, select Help > Install New Software.

  2. Select Add > Archive and choose the personalized license archive.

  3. Select the license feature, complete installation, and restart when prompted.

10. Choose An MCP Launch Mode

After installation, choose how your AI coding assistant connects to capella-mcp. Capella is needed for runtime discovery and model operations; the MCP connection and guidance check can run before starting it.

Use only the aggregate capella-mcp server for Capella work; it includes the required Sirius and EMF tools. Configure one connection route for the initial check. A hosted client cannot launch a command on your computer or access its loopback address; use a reachable HTTPS endpoint for remote access.

Three deployment modes are supported:

  • stdio: the AI coding assistant starts capella-mcp as a child process and communicates with it over standard input/output.

  • local HTTP: you start and stop the capella-mcp process yourself, and the AI coding assistant connects to the local endpoint.

  • HTTPS with bearer authentication: you start and stop capella-mcp yourself and expose it through TLS, including to clients on another host.

The following client and transport combinations have been tried. This list includes CLIs, desktop applications and IDE integrations; it is not an exhaustive compatibility guarantee. The selected client must allow you to add your own MCP server and invoke its tools.

Transport Clients tried

HTTP

Codex CLI; Gemini CLI (Enterprise/API); Qodo IDE plugin; Kiro IDE

stdio

ChatGPT desktop app / Codex CLI; Claude Code / Claude Desktop; Antigravity IDE; VS Code Chat on Windows

For client setup examples, see LLM Client Configuration.

The available trial records did not distinguish between the listed Codex or Claude surfaces for stdio. Check the exact surface before treating either stdio entry as a surface-specific compatibility guarantee. These connection records do not establish automatic guidance loading. Use the startup checks to verify document retrieval in the exact client and version in use.

Local HTTP is useful when you want to control exactly when the MCP server starts and stops, or when an assistant context does not support stdio or process-based tools correctly. Use HTTPS with bearer authentication when the MCP endpoint must be reachable beyond the local host.

The installer prints ready-to-use commands for stdio and local HTTP using the extracted agent path. Use those generated paths in preference to the generic examples below.

By default, Capella asks for approval when a local automation client connects. For demos or controlled local automation sessions, launch Capella with this VM argument to accept local automation connections without the approval window:

-Dfr.obeo.ai.sirius.automation.autoAcceptConnections=true

Example paths in the sections below must be adapted to your installation.

Windows:

<installation-folder-absolute-path>\tools\sirius-automation-agent-x.y.z.YYYYMMDDHHMM\bin\capella-mcp.cmd

Linux/macOS:

<installation-folder-absolute-path>/tools/sirius-automation-agent-x.y.z.YYYYMMDDHHMM/bin/capella-mcp

10.1. Transport and access rights

The transport determines how the AI client reaches capella-mcp and which process it must be allowed to start. It does not grant administrator privileges or select whether model editing is allowed.

Connection mode Required access

stdio

The AI client must be allowed to execute the local MCP launcher and Java. The MCP process inherits the account and environment of the client that starts it, subject to any client sandbox restrictions. Run that client under the same account as Capella for local runtime discovery.

Local HTTP

Start the MCP server separately under the same account as Capella. The AI client needs permission to reach its loopback endpoint; it does not need to launch the MCP process. Configure the bearer token in the client if one is enabled on the server.

Remote HTTPS

The MCP server still runs beside Capella under the local account. The remote client needs network access, certificate trust and the configured bearer token. Requests use the local server and Capella accounts' access; the remote user’s operating-system permissions are not transferred to Capella.

In every mode, the MCP server connects to Capella through the same local JSON-RPC connection, using the per-user runtime registry and its connection token. Capella’s connection approval applies independently of any tool approvals in the AI client. The account running Capella needs access to the workspace and write permission to save model changes. Keep runtime registry files private: they contain a connection token and must not be attached unchanged to diagnostic reports.

HTTP does not make access read-only, and stdio does not automatically grant editing rights. The server profile controls which tools are exposed; the default is edit with either transport. The read-only profile restricts tools but has a documented limitation. Use the AI client’s approval settings to control individual tool calls.

10.2. Server Profiles

When no --profile argument is passed, the server uses edit by default and exposes all tools, including model changes.

  • read-only: exposes inspection tools only. Pass --profile read-only to restrict the available tools to inspection tools.

  • edit (default): exposes all tools, including legacy analysis tools and model changes. Omit --profile or pass --profile edit explicitly.

Current read-only limitation: The read-only profile excludes tools classified as editing operations, but does not guarantee that model and session data remain unchanged. Some inspection operations can activate viewpoints or open diagram editors, which may modify session or diagram data. AQL runs through the session interpreter, and the profile does not enforce that invoked Java services are free of side effects. Treat this profile as tool filtering, not as protection against all data modifications.

To change profiles, update the server arguments, restart the server, and reconnect the client to refresh its tool catalogue. Guidance resources and the guidance tool remain available in both profiles.

11. Stdio Mode

Use stdio when your AI coding assistant can launch the MCP server process. capella-mcp uses stdio by default, so no --transport option is required. The client owns the process lifecycle; do not also start it in a terminal. Keep stdout reserved for MCP messages; diagnostics go to stderr. The examples below use the optional read-only profile for a restricted installation check; leave arguments empty to use the default desktop setup.

Windows command path:

<installation-folder-absolute-path>\tools\sirius-automation-agent-x.y.z.YYYYMMDDHHMM\bin\capella-mcp.cmd

Linux/macOS command path:

<installation-folder-absolute-path>/tools/sirius-automation-agent-x.y.z.YYYYMMDDHHMM/bin/capella-mcp

11.1. Stdio client settings

Client-specific settings are maintained in the LLM client configuration guide.

12. Local HTTP Mode

Use local HTTP when you want to launch and control the MCP server process yourself, or when the AI coding assistant cannot use stdio/process tools.

Windows:

tools\sirius-automation-agent-x.y.z.YYYYMMDDHHMM\bin\capella-mcp.cmd --transport http --host 127.0.0.1 --port 3333 --profile read-only

Linux/macOS:

tools/sirius-automation-agent-x.y.z.YYYYMMDDHHMM/bin/capella-mcp --transport http --host 127.0.0.1 --port 3333 --profile read-only

The HTTP MCP endpoint is:

http://127.0.0.1:3333/mcp

Use 127.0.0.1 in MCP client configurations instead of localhost. This is intentional: clients launched from WSL or from another local network context may not resolve localhost to the same loopback interface as the Capella MCP server.

Keep the terminal process running while the client is connected. Unlike stdio, the client does not start or restart this server. Change its profile by restarting the process and reconnecting the client to refresh its tool catalog. The default profile, if omitted, is edit.

If CAPELLA_MCP_AUTH_TOKEN (or AUTOMATION_MCP_AUTH_TOKEN) is set in the server environment, configure the client to send the same token as Authorization: Bearer <token>, including on resource requests. See the client configuration guide for client settings. If both server variables are set, AUTOMATION_MCP_AUTH_TOKEN takes precedence. See HTTPS and token configuration for remote access. A hosted client cannot reach this machine’s loopback URL directly.

12.1. HTTP client settings

Client-specific settings are maintained in the LLM client configuration guide.

13. HTTPS With Bearer Authentication

The MCP server rejects plain HTTP bound to a non-loopback address. A remote MCP endpoint must use HTTPS, and remote HTTPS requires a bearer token. Although a token is optional for loopback HTTPS, using one there as well makes the local test representative of a remote deployment.

Prefer supplying the token through CAPELLA_MCP_AUTH_TOKEN instead of --auth-token, because command-line arguments can be visible in shell history and process listings. AUTOMATION_MCP_AUTH_TOKEN is the equivalent generic environment variable and takes precedence when both variables are set.

The HTTPS server accepts a PEM certificate chain through --cert and the matching PEM private key through --key. Use --key-password when the private key is encrypted.

13.1. Test HTTPS Locally With A Self-Signed Certificate

The following OpenSSL command creates a one-day test certificate whose Subject Alternative Names cover both supported loopback names. A self-signed certificate is suitable only for this local test.

mkdir -p mcp-https-test
openssl req -x509 -newkey rsa:2048 -sha256 -nodes -days 1 \
  -keyout mcp-https-test/server.key \
  -out mcp-https-test/server.crt \
  -subj "/CN=localhost" \
  -addext "subjectAltName=DNS:localhost,IP:127.0.0.1"

Set a synthetic token and start capella-mcp on the loopback interface:

export CAPELLA_MCP_AUTH_TOKEN='replace-with-a-long-random-test-token'
tools/sirius-automation-agent-x.y.z.YYYYMMDDHHMM/bin/capella-mcp \
  --transport https \
  --host 127.0.0.1 \
  --port 3333 \
  --cert mcp-https-test/server.crt \
  --key mcp-https-test/server.key

In PowerShell, set the same environment variable before invoking the Windows launcher with equivalent certificate and key paths:

$env:CAPELLA_MCP_AUTH_TOKEN = 'replace-with-a-long-random-test-token'
tools\sirius-automation-agent-x.y.z.YYYYMMDDHHMM\bin\capella-mcp.cmd `
  --transport https `
  --host 127.0.0.1 `
  --port 3333 `
  --cert mcp-https-test\server.crt `
  --key mcp-https-test\server.key

The local HTTPS endpoint is:

https://127.0.0.1:3333/mcp

13.2. Verify TLS, Authentication, And MCP

Keep capella-mcp running and open another shell in the directory containing the test certificate. Define the endpoint and the MCP initialize request:

export MCP_URL='https://127.0.0.1:3333/mcp'
export MCP_CERT='mcp-https-test/server.crt'
export MCP_INITIALIZE='{"jsonrpc":"2.0","id":1,"method":"initialize","params":{"protocolVersion":"2025-06-18","capabilities":{},"clientInfo":{"name":"capella-https-test","version":"1"}}}'

A request without a token must return 401:

curl --silent --show-error --cacert "$MCP_CERT" \
  --output /dev/null --write-out '%{http_code}\n' \
  --request POST \
  --header 'Content-Type: application/json' \
  --header 'Accept: application/json, text/event-stream' \
  --data "$MCP_INITIALIZE" \
  "$MCP_URL"

A request with the wrong token must also return 401:

curl --silent --show-error --cacert "$MCP_CERT" \
  --output /dev/null --write-out '%{http_code}\n' \
  --request POST \
  --header 'Authorization: Bearer wrong-token' \
  --header 'Content-Type: application/json' \
  --header 'Accept: application/json, text/event-stream' \
  --data "$MCP_INITIALIZE" \
  "$MCP_URL"

With the configured token, initialize must return 200, a JSON result, and an Mcp-Session-Id response header:

curl --silent --show-error --include --cacert "$MCP_CERT" \
  --request POST \
  --header "Authorization: Bearer $CAPELLA_MCP_AUTH_TOKEN" \
  --header 'Content-Type: application/json' \
  --header 'Accept: application/json, text/event-stream' \
  --data "$MCP_INITIALIZE" \
  "$MCP_URL"

Copy the returned session ID, then complete initialization. The notification must return 202:

export MCP_SESSION_ID='copy-the-Mcp-Session-Id-value-here'
curl --silent --show-error --cacert "$MCP_CERT" \
  --output /dev/null --write-out '%{http_code}\n' \
  --request POST \
  --header "Authorization: Bearer $CAPELLA_MCP_AUTH_TOKEN" \
  --header "Mcp-Session-Id: $MCP_SESSION_ID" \
  --header 'Content-Type: application/json' \
  --header 'Accept: application/json, text/event-stream' \
  --data '{"jsonrpc":"2.0","method":"notifications/initialized"}' \
  "$MCP_URL"

Finally, tools/list must return 200 and an MCP result containing the published sirius_*, emf_*, and capella_* tools. Streamable HTTP may encode this response as a server-sent event whose JSON payload starts with data:.

curl --silent --show-error --include --cacert "$MCP_CERT" \
  --request POST \
  --header "Authorization: Bearer $CAPELLA_MCP_AUTH_TOKEN" \
  --header "Mcp-Session-Id: $MCP_SESSION_ID" \
  --header 'Content-Type: application/json' \
  --header 'Accept: application/json, text/event-stream' \
  --data '{"jsonrpc":"2.0","id":2,"method":"tools/list","params":{}}' \
  "$MCP_URL"

13.3. Expose The Server Remotely

For a remote deployment, replace the self-signed certificate with a certificate chain issued for the public DNS name. Bind to the required network interfaces, allow the exact HTTP Host header used by the client, and allow an Origin only when the client sends one:

export CAPELLA_MCP_AUTH_TOKEN='replace-with-a-long-random-production-token'
tools/sirius-automation-agent-x.y.z.YYYYMMDDHHMM/bin/capella-mcp \
  --transport https \
  --host 0.0.0.0 \
  --port 3333 \
  --cert /etc/capella-mcp/tls/fullchain.pem \
  --key /etc/capella-mcp/tls/private-key.pem \
  --allowed-host mcp.example.com:3333 \
  --allowed-origin https://assistant.example.com

The corresponding endpoint is https://mcp.example.com:3333/mcp. Restrict network access with the host firewall, rotate the bearer token as a secret, and do not distribute the private key to MCP clients. When the certificate is issued by a trusted public or enterprise CA, clients normally use their system trust store instead of --cacert.

14. LLM Client Configuration

This guide provides settings for connecting your AI client to Capella MCP. For installation, the user manual and release notes, see the Obeo AI for Capella documentation.

Install the product using the installation guide first. You need an agentic AI client that can add a custom MCP server and invoke its tools. The client combinations tried cover CLIs, desktop applications and IDE integrations. Check that your chosen client supports the local command or server URL used by your connection mode. Choose a transport and server profile before applying the client-specific examples below. These settings retain the client versions and limitations recorded in the original guides; client UI labels can change. The desktop quick start uses the default edit profile; examples explicitly requesting read-only restrict the available tools.

See Transport and access rights for process permissions, connection approvals and the account used for model operations.

Examples use Windows launchers by default. Replace <installation-folder-absolute-path> with your absolute installation path and x.y.z.YYYYMMDDHHMM (or <version>) with your extracted agent version. On Linux/macOS, use forward slashes and capella-mcp instead of capella-mcp.cmd; invoke the launcher directly rather than through cmd.exe. See Paths and executable names for the Java, Capella, CLI and installer equivalents. Escape Windows backslashes in JSON and double-quoted TOML strings.

14.1. Quick-start ChatGPT desktop settings

These labels match version 26.911.61220, released on September 16, 2026.

  1. Open Settings > Plugins > MCP and select Add MCP server.

  2. Enter capella-mcp as the name and select STDIO.

  3. Enter the full launcher path for your platform below. Replace <installation-folder-absolute-path> with your absolute installation path and <version> with the version of the extracted agent folder.

  4. Leave arguments empty. Save and restart the client.

Windows

<installation-folder-absolute-path>\tools\sirius-automation-agent-<version>\bin\capella-mcp.cmd

Linux or macOS

<installation-folder-absolute-path>/tools/sirius-automation-agent-<version>/bin/capella-mcp

For a server configured with STDIO, the desktop client starts the MCP server automatically.

For other clients or connection methods, see the installation guide.

14.2. Stdio Mode

14.2.1. ChatGPT Desktop App Stdio

The following menu labels match ChatGPT desktop app version 26.911.61220, released September 16, 2026:

  1. Open Settings.

  2. Select Plugins.

  3. Select the MCP tab.

  4. Select Add MCP server.

  5. Enter capella-mcp as the name and choose STDIO as the type.

  6. Enter the full Windows or Linux/macOS command path shown above.

  7. Leave server arguments empty, or set --profile read-only for a restricted check.

  8. Save and restart the client.

For a server configured with STDIO, the desktop client starts the MCP server automatically. Return to Settings > Plugins > MCPs to confirm that the server is enabled. See OpenAI’s MCP documentation for general configuration; menu labels can differ by app version: https://learn.chatgpt.com/docs/extend/mcp

14.2.2. Codex CLI Stdio

ChatGPT desktop app, Codex CLI, and the Codex IDE extension share MCP server configuration in ~/.codex/config.toml. See OpenAI’s current MCP documentation: https://learn.chatgpt.com/docs/extend/mcp

Add the local Capella MCP server with the Codex CLI. In these Windows examples, replace <installation-folder-absolute-path> with your absolute installation path and x.y.z.YYYYMMDDHHMM with your extracted agent version:

codex mcp add capella-mcp -- "<installation-folder-absolute-path>\tools\sirius-automation-agent-x.y.z.YYYYMMDDHHMM\bin\capella-mcp.cmd" --profile read-only
codex mcp list

Equivalent generic configuration:

[mcp_servers.capella-mcp]
command = "<installation-folder-absolute-path>\\tools\\sirius-automation-agent-x.y.z.YYYYMMDDHHMM\\bin\\capella-mcp.cmd"
args = ["--profile", "read-only"]
startup_timeout_sec = 20
tool_timeout_sec = 120

14.2.3. Antigravity IDE Stdio

Antigravity IDE can read MCP server definitions from ~/.gemini/config/mcp_config.json. See Google’s current MCP documentation: https://antigravity.google/docs/mcp In this Windows example, replace <installation-folder-absolute-path> with your absolute installation path and x.y.z.YYYYMMDDHHMM with your extracted agent version:

{
  "mcpServers": {
    "capella-mcp-stdio": {
      "command": "<installation-folder-absolute-path>\\tools\\sirius-automation-agent-x.y.z.YYYYMMDDHHMM\\bin\\capella-mcp.cmd",
      "args": ["--profile", "read-only"]
    }
  }
}

After restarting or reloading Antigravity IDE, open the agent side panel menu and select MCP Servers to inspect the server. Project permissions can be managed from Antigravity IDE’s project settings.

14.2.4. Claude Code Stdio

Register the absolute launcher path, then check the connection with /mcp:

claude mcp add --transport stdio capella-mcp -- "<installation-folder-absolute-path>\tools\sirius-automation-agent-x.y.z.YYYYMMDDHHMM\bin\capella-mcp.cmd" --profile read-only

See Claude Code MCP configuration. Once connected, follow the guidance and connection check. You can also use the optional startup prompt to insert the initial Capella instructions.

14.2.5. Claude Desktop Stdio

Merge this entry into the existing mcpServers object in claude_desktop_config.json, preserving other servers, then restart Claude Desktop. Use the absolute launcher path for your installation:

{
  "mcpServers": {
    "capella-mcp": {
      "command": "<installation-folder-absolute-path>\\tools\\sirius-automation-agent-x.y.z.YYYYMMDDHHMM\\bin\\capella-mcp.cmd",
      "args": ["--profile", "read-only"]
    }
  }
}

See the official local-server setup for the configuration file location. Follow the guidance and connection check; if its fallback is needed, supply it in the chat. Do not assume Claude Desktop loads a Claude Code CLAUDE.md file.

14.2.6. VS Code on Windows (stdio)

This configuration was reported working with VS Code Chat on Windows on September 18, 2026. Starting capella-mcp.cmd directly from the server setup failed in that trial; launching it through cmd.exe with an explicit working directory resolved startup.

  1. Open the Chat view, then Settings > MCP Servers > Add Server, and choose stdio. These labels reflect the trial; if they differ in your version, run MCP: Add Server from the Command Palette.

  2. Open the server configuration: use .vscode/mcp.json for the workspace, or MCP: Open User Configuration for your user profile.

  3. Merge the following entry into the top-level servers object, preserving other servers. Replace cwd with the absolute path to your extracted agent’s bin directory. Replace <installation-folder-absolute-path> with your absolute installation path and x.y.z.YYYYMMDDHHMM with your extracted agent version.

{
  "servers": {
    "capella-mcp-stdio": {
      "type": "stdio",
      "command": "cmd.exe",
      "cwd": "<installation-folder-absolute-path>\\tools\\sirius-automation-agent-x.y.z.YYYYMMDDHHMM\\bin",
      "args": [
        "/d",
        "/c",
        ".\\capella-mcp.cmd",
        "--transport",
        "stdio"
      ]
    }
  }
}

The cwd value places the process in the launcher’s directory, so .\capella-mcp.cmd resolves there. Keep Windows backslashes doubled inside JSON strings. This example uses the default edit profile; see Server Profiles to restrict the available tools.

Save the configuration and restart the server. Use MCP: List Servers, select capella-mcp-stdio, then Show Output to inspect startup errors and tool discovery. The recorded trial reported Discovered 43 tools; the count depends on the product version and profile and is not a required result. Tool discovery confirms the MCP connection, but does not verify access to the running Capella instance. Continue with the guidance and connection check.

Use stdio for this setup. The trial also reported an HTTP connection issue suspected to involve the legacy SSE transport; its cause was not confirmed. Capella MCP’s HTTP endpoint uses Streamable HTTP, not the legacy SSE transport. Current VS Code documentation describes HTTP Stream support with fallback to SSE, so this observation is not a general VS Code HTTP incompatibility. VS Code HTTP with Capella is not validated by this stdio trial.

See VS Code MCP setup and diagnostics for current configuration and logging commands.

14.3. Local HTTP Mode

Start the server as described in the installation guide before configuring the client.

14.3.1. ChatGPT Desktop App HTTP

First start capella-mcp in local HTTP mode as described above. The following menu labels match ChatGPT desktop app version 26.911.61220, released September 16, 2026:

  1. Open Settings.

  2. Select Plugins.

  3. Select the MCP tab.

  4. Select Add MCP server.

  5. Enter capella-mcp as the name and choose Streamable HTTP as the type.

  6. In URL, enter http://127.0.0.1:3333/mcp.

  7. Save and restart the client.

Return to Settings > Plugins > MCPs to confirm that the server is enabled. See OpenAI’s MCP documentation for general configuration; menu labels can differ by app version: https://learn.chatgpt.com/docs/extend/mcp

14.4. HTTP bearer token

If the server uses CAPELLA_MCP_AUTH_TOKEN (or AUTOMATION_MCP_AUTH_TOKEN), configure the client to send the same bearer token on every request, including resource requests. For Codex HTTP, add bearer_token_env_var = "CAPELLA_MCP_AUTH_TOKEN" to the server’s TOML table and make that variable available to the client process too.

14.5. MCP Client Examples

The examples below use local HTTP. For stdio examples, see Stdio Mode above.

14.5.1. Codex CLI HTTP

ChatGPT desktop app, Codex CLI, and the Codex IDE extension share MCP server configuration in ~/.codex/config.toml. See OpenAI’s current MCP documentation: https://learn.chatgpt.com/docs/extend/mcp

Add the local Capella MCP server with the Codex CLI:

codex mcp add capella-mcp --url http://127.0.0.1:3333/mcp
codex mcp list

Example HTTP configuration:

[mcp_servers.capella-mcp]
url = "http://127.0.0.1:3333/mcp"
startup_timeout_sec = 20
tool_timeout_sec = 120

14.5.2. Claude Code HTTP

Claude Code supports MCP server configuration through its MCP setup flow and project configuration. See the Claude Code MCP docs: https://code.claude.com/docs/en/mcp

Add the local Capella MCP server with Claude Code:

claude mcp add --transport http capella-mcp http://127.0.0.1:3333/mcp
claude mcp list

Once connected, you can use the optional startup prompt to insert the initial Capella instructions. Follow the guidance and connection check before modeling.

Example project .mcp.json configuration:

{
  "mcpServers": {
    "capella-mcp": {
      "type": "http",
      "url": "http://127.0.0.1:3333/mcp"
    }
  }
}

The local HTTP endpoint is:

http://127.0.0.1:3333/mcp

14.5.3. Antigravity CLI HTTP

Antigravity CLI reads global MCP server definitions from ~/.gemini/config/mcp_config.json and workspace definitions from .agents/mcp_config.json. See Google’s current MCP documentation: https://antigravity.google/docs/mcp

Example global configuration:

{
  "mcpServers": {
    "capella-mcp": {
      "serverUrl": "http://127.0.0.1:3333/mcp"
    }
  }
}

Start Antigravity CLI from the modeling work folder:

agy

Then enter /mcp in the Antigravity CLI prompt to verify that capella-mcp is connected. Antigravity CLI requires serverUrl for Streamable HTTP and SSE servers; the legacy url and httpUrl keys are not supported.

14.5.4. Gemini CLI HTTP - Enterprise/API

Google transitioned unpaid and Google One terminal users from Gemini CLI to Antigravity CLI. Gemini CLI remains available for supported enterprise, Google Cloud, and paid API-key deployments; use this section only for those contexts.

Gemini CLI can use MCP servers from its settings. See: https://geminicli.com/docs/tools/mcp-server/

Add the local Capella MCP server with the Gemini CLI:

gemini mcp add --transport http capella-mcp http://127.0.0.1:3333/mcp
gemini mcp list

Example settings.json configuration:

{
  "mcpServers": {
    "capella-mcp": {
      "httpUrl": "http://127.0.0.1:3333/mcp",
      "timeout": 30000
    }
  }
}

Use httpUrl for streamable HTTP. Gemini CLI uses url for SSE servers.

The local HTTP endpoint is:

http://127.0.0.1:3333/mcp

14.5.5. OpenCode HTTP

OpenCode defines MCP servers under mcp in its configuration. See: https://opencode.ai/docs/mcp-servers/

Example opencode.json configuration:

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "capella-mcp": {
      "type": "remote",
      "url": "http://127.0.0.1:3333/mcp",
      "enabled": true
    }
  }
}

The local HTTP endpoint is:

http://127.0.0.1:3333/mcp

15. Load The Agent Guidance

Use the same startup sequence for stdio and HTTP/HTTPS. The server already sends instructions directing the assistant to load its guidance. No workspace instruction file or pasted startup block is required when the client follows them; automatic retrieval must be verified for the client in use.

  1. MCP connection: confirm that the client reports capella-mcp as connected.

  2. Projects: start Capella and send the lightweight request below. Approve the automation connection if prompted. This is separate from the MCP connection in step 1. No open model or diagram is required.

  3. Guidance: verify that the documents were actually retrieved. If retrieval did not happen or cannot be confirmed, use If Guidance Was Not Loaded, then retry the project-list request. Skip the fallback when guidance is already loaded. Guidance retrieval itself needs no running Capella instance.

Connect to the running Capella instance and list its projects.
For this initial connection check only, do not inspect model contents or diagrams,
and do not modify anything.

An empty list is valid for an empty workspace. This check does not require a model summary or exploration of model contents.

For ongoing conversations and requesting model changes, see Working with Capella. For guidance-loading recovery, see If Guidance Was Not Loaded and the manual document fallback.

If you selected a restricted profile, follow Server Profiles to enable editing when needed.

16. Logging

CLI and MCP servers write warnings and errors, including exception traces, to stderr. For stdio, the MCP host may capture this output; for HTTP, check the terminal or service manager. MCP file logging is disabled by default: Logback creates no log files or directories. Existing log files are left untouched.

Logging configuration is in the extracted agent directory, tools/sirius-automation-agent-x.y.z.YYYYMMDDHHMM/:

  • conf/mcp/logback.xml configures both MCP servers.

  • conf/cli/logback.xml configures the CLI tools, which log only to stderr.

Edit the appropriate XML and restart the application. To enable optional MCP file logging in conf/mcp/logback.xml:

  1. Uncomment the entire FILE-ROLLING appender block.

  2. Uncomment <appender-ref ref="FILE-ROLLING"/> in the root logger.

  3. Set LOG_DIR to a writable absolute directory, then restart the MCP server.

The sample directory is ${user.home}/.obeo-ai/logs. Files are named capella-mcp.log or sirius-mcp.log, with compressed archives under archived/. The sample rotates at 10 MB per file, retaining seven days of archives with a 100 MB archive limit per server. Adjust these values in the XML if needed.

To select an alternative XML file, launch Java directly from the agent directory:

java "-Dlogback.configurationFile=/path/to/logback.xml" -cp "lib/*" fr.obeo.ai.capella.automation.mcp.Main

17. Troubleshooting

  • Logging configuration problems: stop the affected process and temporarily remove the NopStatusListener declaration from conf/mcp/logback.xml or conf/cli/logback.xml. Run the launcher in a standalone terminal to collect diagnostics, then restore the declaration after correcting the problem. Keep the MCP stdio client disconnected during this check, as diagnostics may interfere with protocol messages.

  • Windows installation errors: run the .bat from Command Prompt (cmd) as shown in Install On Windows to keep output and errors visible.

  • License unavailable: check that your Obeo AI for Capella license is installed and valid; see Request And Install Your License.

  • MCP disconnected: for stdio, check the absolute launcher path and Java 21; for HTTP, check the running server, endpoint, and configured token.

  • Guidance missing: follow Load The Agent Guidance, including the tool fallback. If both routes fail, see the manual document fallback.

  • Capella not found: start Capella with the automation features installed and approve its local connection when prompted. If guidance loads but runtime discovery fails, investigate the Capella connection rather than guidance delivery.

  • Guidance outdated: install an updated package and restart the MCP process.

  • On Windows, older versions may log Cannot apply POSIX permissions to automation registry path …​ because the filesystem does not support them. This is an informational, non-blocking message: the filesystem does not support POSIX permissions, and registry writes continue. This message alone requires no action. Current versions silently skip unsupported POSIX permissions; actual I/O failures while applying permissions are still logged as errors.

  • If the install script cannot find the update site, check that tools and updateSite are siblings.

  • If the install script cannot find Capella or SMW on Windows, check that capella/capella.exe or capella/SMW.exe exists, and that the capella folder is alongside tools and updateSite as shown above. If SMW cannot start, check its product Java configuration first.

  • If capella-mcp cannot find Java 21, follow Java 21 For The MCP And CLI Tools. Check the executable path, including Contents/Home on macOS. If an explicit AUTOMATION_SERVER_JAVA_HOME is configured, correct or remove it, then restart the desktop client.

  • If the LLM tool cannot see MCP tools, restart the tool after changing its MCP configuration and confirm that capella-mcp is still running.

  • If runtime discovery reports stale metadata, run:

    tools/sirius-automation-agent-x.y.z.YYYYMMDDHHMM/bin/sirius-cli runtimes clean

    The runtime registry is owned by the Sirius automation layer, so cleanup is intentionally exposed through sirius-cli, not capella-cli.