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-mcpthrough stdio, local HTTP, or authenticated HTTPS; -
pointing an LLM tool to the MCP server;
-
loading server-provided guidance before inspecting or editing a model.
The JShell workflow is documented and packaged only as an experimental path. Do not propose it by default unless the user explicitly opts into direct Java API experiments.
For the components, communication paths, and local security controls, see Obeo AI for Capella Architecture.
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. 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-mcpserver. 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, andupdateSiteside 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.
3.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 |
|
|
Capella |
|
|
Capella MCP server |
|
|
Capella CLI |
|
|
Automation Server installer |
|
|
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.
4. Java 21 For The MCP And CLI Tools
4.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, orContents/jre/Contents/Home/bin/javain 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.
4.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.
-
Download a Java 21 JRE or JDK archive matching your operating system and processor from Adoptium Temurin.
-
Extract it, then place the runtime directory under
toolsand name itjre. The executable must be at one of these locations, without an extra versioned directory betweenjreandbin(orContents):-
Windows:
tools\jre\bin\java.exe; -
Linux:
tools/jre/bin/java; -
macOS:
tools/jre/Contents/Home/bin/java(also acceptstools/jre/bin/java).
-
-
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.
4.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:
-
AUTOMATION_SERVER_JAVA_HOME(an explicit override that must be valid); -
tools/jre; -
the adjacent Capella installation’s bundled runtime;
-
JAVA_HOME; -
javafromPATH.
Except for the explicit override, unavailable or incompatible runtimes are skipped. If no Java 21 is found, the launcher explains how to configure it. Experimental JShell launchers still require a separately configured JDK 21; these instructions describe the supported MCP and CLI launchers.
5. Install On Windows
-
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.
-
Extract
fr.obeo.ai.automation.server-x.y.z.YYYYMMDDHHMM-win32.win32.x86_64.zipinto the folder containing the Capellacapellafolder. The archive placestools,updateSite,LICENSE, andEULA.htmldirectly in the extraction destination, without an enclosingfr.obeo.ai.automation.server-…folder. -
If you extracted elsewhere, move these entries next to the Capella
capellafolder.
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.
-
Double-click
<installation-folder-absolute-path>\tools\install_automation_server_in_capella.bat. To keep output and any errors visible, open the Start menu, typecmd, 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.
-
Launch Capella and request or install your license.
6. 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.
6.1. 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 and send the registration information to registration@obeo.fr. Obeo supplies a personalized license archive.
To install it:
-
In Capella, select Help > Install New Software.
-
Select Add > Archive and choose the personalized license archive.
-
Select the license feature, complete installation, and restart when prompted.
7. 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-mcpas a child process and communicates with it over standard input/output. -
local HTTP: you start and stop the
capella-mcpprocess yourself, and the AI coding assistant connects to the local endpoint. -
HTTPS with bearer authentication: you start and stop
capella-mcpyourself 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
7.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. See Architecture for the connection controls.
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.
7.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-onlyto restrict the available tools to inspection tools. -
edit(default): exposes all tools, including legacy analysis tools and model changes. Omit--profileor pass--profile editexplicitly.
The read-only profile does not guarantee that model and session data remain
unchanged. See the current read-only limitation.
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.
8. 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
8.1. Stdio client settings
Client-specific settings are maintained in the LLM client configuration guide.
9. 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.
9.1. HTTP client settings
Client-specific settings are maintained in the LLM client configuration guide.
10. 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.
10.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
10.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"
10.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.
11. 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.
-
MCP connection: confirm that the client reports
capella-mcpas connected. -
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.
-
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 diagnostics and manual fallback, see the MCP reference.
If you selected a restricted profile, follow Server Profiles to enable editing when needed.
12. MCP Client Examples
Client-specific settings are maintained in the LLM client configuration guide.
13. Experimental JShell Workflow
The agent archive includes docs/experimental/jshell.md for advanced experiments with the Java client APIs. Treat this as experimental. Do not use or propose it by default in an AGENTS.md-driven workflow.
If a user wants to test it, they should explicitly modify their project AGENTS.md or startup instructions, start JShell manually with the packaged libraries and paste or adapt the snippets from the experimental guide, or use the experimental launchers under bin/experimental/ that preload the matching startup script from docs/experimental/jshell/scripts:
jshell --class-path "lib/*"
bin/experimental/capella-jshell
14. 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.xmlconfigures both MCP servers. -
conf/cli/logback.xmlconfigures 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:
-
Uncomment the entire
FILE-ROLLINGappender block. -
Uncomment
<appender-ref ref="FILE-ROLLING"/>in the root logger. -
Set
LOG_DIRto 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
15. Troubleshooting
-
Logging configuration problems: stop the affected process and temporarily remove the
NopStatusListenerdeclaration fromconf/mcp/logback.xmlorconf/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
.batfrom 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
toolsandupdateSiteare siblings. -
If the install script cannot find Capella or SMW on Windows, check that
capella/capella.exeorcapella/SMW.exeexists, and that thecapellafolder is alongsidetoolsandupdateSiteas shown above. If SMW cannot start, check its product Java configuration first. -
If
capella-mcpcannot find Java 21, follow Java 21 For The MCP And CLI Tools. Check the executable path, includingContents/Homeon macOS. If an explicitAUTOMATION_SERVER_JAVA_HOMEis 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-mcpis still running. -
If runtime discovery reports stale metadata, run:
tools/sirius-automation-agent-x.y.z.YYYYMMDDHHMM/bin/sirius-cli runtimes cleanThe runtime registry is owned by the Sirius automation layer, so cleanup is intentionally exposed through
sirius-cli, notcapella-cli.