These instructions assume you have an O11 server. If you have an ODC server or don’t have any server yet, please follow these instructions.
Setup
To run AX for O11 you need two things:
- An MCP host. Claude Code is the recommended option. The steps below use it.
- Service Studio 11.55.91 or later, with the module you want to work on open.
Install the OutSystems skill
Clone the repository:
git clone https://github.com/OutSystems/outsystems11-mcp.gitcd outsystems11-mcp
Run the installer for your system:
# Windows PowerShellpowershell -ExecutionPolicy Bypass -File scripts\install.ps1
# macOS / Linux / Git Bashbash scripts/install.sh
Start a new Claude Code session so the skill loads.
Start the MCP server in Service Studio
- Open the module you want to work on in Service Studio.
- Go to Edit > MCP Server. In some versions this menu is called MCP Configuration.
- Check the port. The default is
41820. - Select Start MCP server. The status changes to Running.
Tip: turn on Start when Service Studio opens to skip this step in future sessions.
Tip: Select “Allow automatically merge and publish” to allow the MCP to publish code (beta feature).
Register the server in your MCP host
Run this command in a terminal:
claude mcp add --transport http servicestudio http://127.0.0.1:41820/mcp
Approve the connection
When the agent starts a new session, Service Studio shows the “Allow AI agent to connect?” dialog. Select Allow.
If the connection does not work, run /mcp reconnect servicestudio in Claude Code.
Check the setup with a first request
Start a new Claude Code session with a module open in Service Studio. Ask:
❯Summarize the module open in Service Studio.
If you get a summary of the module, the setup works.
Check the documentation for more information. For other MCP hosts, check the GitHub documentation.
Using the MCP server
To try out the MCP you can install Forge’s Order Management on your environment, in case you don’t have complex applications to use it with. You will have to force-install it and open it to refresh dependencies.
Get context from an application
Use the MCP to understand what a module does and the modules it consumes. Open the OrderManagement and the OrderManagement_CS modules in Service Studio.
Prompt Claude to get context of the application by analysing the two open modules. Prompt example:
❯Evaluate the OrderManagement and the OrderManagement_CS modules and create a knowledge base to use as context for this project. Understand what the screens do and conclude the various functionalities in the application
Remember that for O11, the MCP analyses the module directly and not the environment itself. So building yourself a context of the architecture in your agent will help future prompts about the app perform better.
Claude will generate an md file with the information about the application with roles, data model, server actions, screens, logic, business rules and more.
Debugging and code fixing
Upon opening Order Management and logging in with a user into the dashboard, there will be an error message:
H.each is not a function
Go to Service Center, check the error, copy-paste it into Claude and ask it to fix it:
❯When I open order management on the dashboard screen I get an error. Please investigate and fix it. Here is the error:eSpaceVer: Id=130, PubId=0, CompiledWith=11.42.1.47790RequestUrl: https://personal-ouup6j27.outsystemscloud.com/OrderManagement/moduleservices/log?clientTimeInMillis=1792068399041 (Method: POST)AppDomain: /LM/W3SVC/21/ROOT/OrderManagement-53-134365418939589903FilePath: C:\OutSystems\Sandboxes\VNX2AF018\Platform Server\running\OrderManagement\ClientIp: 64.252.86.126 X-Forwarded-For: 80.251.174.45Locale: en-USDateFormat: yyyy-MM-ddPID: 31072 ('w3wp', Started='10/8/2026 3:39:53 PM', Priv=558Mb, Virt=2119737Mb)TID: 111Thread Name:.NET: 4.0.30319.42000Client Runtime Packages: client-runtime-core= 3.68.0;client-runtime-view-framework-react= 3.30.0;client-runtime-widgets= 3.32.0;Client-Side LogStackTypeError: H.each is not a functionat sL.<anonymous> (https://personal-ouup6j27.outsystemscloud.com/OrderManagement/scripts/OrderManagement.HighChartsBorderRadiusPlugin.js?Zb4UQ0pfJII+tvkVEO_C2Q:40:11)at t.<computed> (https://personal-ouup6j27.outsystemscloud.com/OrderManagement/scripts/OutSystemsCharts.Highcharts.js?WNK7kqVE0+UWQ+uMo68QBg:28:228752)at https://personal-ouup6j27.outsystemscloud.com/OrderManagement/scripts/OutSystemsCharts.Highcharts.js?WNK7kqVE0+UWQ+uMo68QBg:28:167424at Array.forEach (<anonymous>)at i9.renderSeries (https://personal-ouup6j27.outsystemscloud.com/OrderManagement/scripts/OutSystemsCharts.Highcharts.js?WNK7kqVE0+UWQ+uMo68QBg:28:167402)at i9.<anonymous> (https://personal-ouup6j27.outsystemscloud.com/OrderManagement/scripts/OutSystemsCharts.Highcharts.js?WNK7kqVE0+UWQ+uMo68QBg:28:228784)at i9.p (https://personal-ouup6j27.outsystemscloud.com/OrderManagement/scripts/OutSystemsCharts.Highcharts3d.js?hMzuAZ7N3KbqH4FB9XdnZg:12:11111)at t.<computed> (https://personal-ouup6j27.outsystemscloud.com/OrderManagement/scripts/OutSystemsCharts.Highcharts.js?WNK7kqVE0+UWQ+uMo68QBg:28:228752)at i9.render (https://personal-ouup6j27.outsystemscloud.com/OrderManagement/scripts/OutSystemsCharts.Highcharts.js?WNK7kqVE0+UWQ+uMo68QBg:28:168807)at i9.firstRender (https://personal-ouup6j27.outsystemscloud.com/OrderManagement/scripts/OutSystemsCharts.Highcharts.js?WNK7kqVE0+UWQ+uMo68QBg:28:170292)…
Claude will investigate and check that the error is in the Highcharts library, which uses an old definition. It will ask to fix it and will resolve the problem.