The Model Context Protocol (MCP) is currently one of the hottest topics in development, promising to accelerate workflows, especially in the SAP ecosystem. Many IDEs already support MCP servers, offering developers enhanced context and capabilities.
Unfortunately, in SAP Business Application Studio (a.k.a. SAP Build Code), you are currently limited to Joule. This is particularly frustrating given that MCP servers were heavily promoted at SAP TechEd, yet the native environment doesn’t fully support them yet. This limitation is especially challenging if you are restricted to using BAS because local development with tools like VS Code is not allowed or possible in your corporate environment
In this blog post, I want to show you how to not only use MCP servers directly within BAS but also explore ways to develop with BAS from the “outside” using hybrid approaches.
What are MCP Servers?
MCP servers provide the LLM client (like Claude, Cursor, or Copilot) with more context about your project and system, helping the developer work more effectively. Fortunately, there are already numerous MCP servers available for SAP.
You can learn more about the available SAP MCP servers in this blog post: SAP Build introduces new MCP Servers to enable age… – SAP Community
What Can You Do Directly in BAS?
SAP Business Application Studio is based on the Open VS Code stack (Code-OSS), which allows us to install extensions from the Open VSX Registry. Even if an extension isn’t available there, you can often install the VSIX file directly. Since BAS runs in a small virtual machine, we also have the ability to install CLI tools.
Cline Extension
The first option is using the open-source extension Cline.
This extension gives you a coding agent directly within BAS that can not only answer questions but also modify code. Crucially, Cline supports MCP servers. You can install it easily via the Extensions Marketplace in BAS:
Once the SAP MCP servers are installed globally (e.g., via npm install -g sap-ux/fiori-mcp-server), we can configure them in Cline. Below is my configuration example. The command points to the local node installation. You can find the exact path using the command node -p “process.execPath”. To find the location of the MCP server, you can run:
echo “$(npm root -g)/@sap-ux/fiori-mcp-server”
This configuration is saved in the cline_mcp_settings.json file, which you can access via “Configure MCP Server” in Cline’s settings.
Here is my MCP config file:
{
“mcpServers”: {
“ui5-mcp”: {
“disabled”: false,
“timeout”: 60,
“type”: “stdio”,
“command”: “/home/user/.asdf-inst/installs/nodejs/22.13.1/bin/node”,
“args”: [
“/home/user/.node_modules_global/lib/node_modules/@ui5/mcp-server/bin/ui5mcp.js”
]
},
“fiori-mcp”: {
“disabled”: false,
“timeout”: 60,
“type”: “stdio”,
“command”: “/home/user/.asdf-inst/installs/nodejs/22.13.1/bin/node”,
“args”: [
“/home/user/.node_modules_global/lib/node_modules/@sap-ux/fiori-mcp-server/dist/index.js”
],
“autoApprove”: [
“execute_functionality”
]
},
“cap-mcp”: {
“disabled”: false,
“timeout”: 60,
“type”: “stdio”,
“command”: “/home/user/.asdf-inst/installs/nodejs/22.13.1/bin/node”,
“args”: [
“/home/user/.node_modules_global/lib/node_modules/@cap-js/mcp-server/index.js”
]
}
}
}
Cline allows you to flexibly use different models, including OpenAI, Anthropic, and SAP AI Core.
In this example, I want to disable the “Initial Load” of a Fiori Elements app. The Fiori Tools MCP Server supports this functionality. Even without explicitly telling the LLM client to use the MCP server, it automatically calls the appropriate tool to perform the action.
This is a great option to get started quickly and use various models and providers. However, in my experience, it can be quite slow compared to other LLM clients, and the overall experience is somewhat limited by being “just” an extension.
Claude Code
Many model providers and LLM clients now offer CLI alternatives. Two notable examples are Claude Code, Cursor CLI, or Gemini CLI. We can install these directly in BAS.
I’ll use Claude Code as an example. The installation is straightforward:
curl -fsSL https://claude.ai/install.sh | bash
After installation, you need to authenticate. Once done, you can configure MCP servers. You can activate the tool simply by running claude. Once configured, you can use these MCP servers directly within your BAS terminal.
The configuration can be identical to the one used in Cline:
Here is an example using Claude Code to reactivate the Initial Load. Claude correctly utilizes the Fiori MCP Server to find the right tool and execute the change.
Outside of BAS (Hybrid/Remote)
Fortunately, we have the possibility to “break out” of the browser-based BAS and use a hybrid approach with a local IDE. SAP provides a way to do this via extensions. The documentation for this setup can be found here: Working Remotely with SAP Business Application Studio</a >.
VS Code and GitHub Copilot Chat
This approach enables us to connect a local VS Code instance via SSH to our running BAS instance.
This gives us the best of both worlds: all BAS-exclusive extensions and capabilities, plus everything VS Code offers, including GitHub Copilot Chat and MCP servers.
If you follow the documentation, you will have GitHub Copilot available in your local VS Code, capable of using the integrated MCP servers and the model of your choice. This provides not only direct code editing capabilities but also very smart autocompletion.
Here is an example with GitHub Copilot Chat and MCP Server. In this case, although I explicitly mentioned the MCP server, it seems the tools were not automatically recognized, so the model used the parameter in the manifest.json directly.
Cursor
Cursor is a very powerful tool with excellent integration of MCP servers. You can configure and use MCP servers directly in Cursor and use with any model together with BAS.
In theory, any Code-OSS based IDE that supports the necessary extensions can establish this connection. For those not bound to BAS, MCP servers can be configured and used directly in your own IDE, as almost every major IDE supports MCP servers by now.
Conclusion
While SAP Business Application Studio currently has some limitations regarding native MCP integration, there are several powerful workarounds.
It will be exciting to see what support will be available in BAS in the future.
Will it be Cline, as shown in the TechEd demos, will Joule be upgraded, or will GitHub Copilot be included in BAS as announced in a TechEd session?
After the announcement at the TechEd keynote, I had actually expected a quick solution.
Fortunately, I am not currently tied to BAS, and even if I were, I could fall back on the workarounds.
The Model Context Protocol (MCP) is currently one of the hottest topics in development, promising to accelerate workflows, especially in the SAP ecosystem. Many IDEs already support MCP servers, offering developers enhanced context and capabilities.Unfortunately, in SAP Business Application Studio (a.k.a. SAP Build Code), you are currently limited to Joule. This is particularly frustrating given that MCP servers were heavily promoted at SAP TechEd, yet the native environment doesn’t fully support them yet. This limitation is especially challenging if you are restricted to using BAS because local development with tools like VS Code is not allowed or possible in your corporate environmentIn this blog post, I want to show you how to not only use MCP servers directly within BAS but also explore ways to develop with BAS from the “outside” using hybrid approaches.What are MCP Servers?MCP servers provide the LLM client (like Claude, Cursor, or Copilot) with more context about your project and system, helping the developer work more effectively. Fortunately, there are already numerous MCP servers available for SAP.You can learn more about the available SAP MCP servers in this blog post: SAP Build introduces new MCP Servers to enable age… – SAP Community What Can You Do Directly in BAS?SAP Business Application Studio is based on the Open VS Code stack (Code-OSS), which allows us to install extensions from the Open VSX Registry. Even if an extension isn’t available there, you can often install the VSIX file directly. Since BAS runs in a small virtual machine, we also have the ability to install CLI tools.Cline ExtensionThe first option is using the open-source extension Cline.This extension gives you a coding agent directly within BAS that can not only answer questions but also modify code. Crucially, Cline supports MCP servers. You can install it easily via the Extensions Marketplace in BAS:Once the SAP MCP servers are installed globally (e.g., via npm install -g sap-ux/fiori-mcp-server), we can configure them in Cline. Below is my configuration example. The command points to the local node installation. You can find the exact path using the command node -p “process.execPath”. To find the location of the MCP server, you can run:echo “$(npm root -g)/@sap-ux/fiori-mcp-server”This configuration is saved in the cline_mcp_settings.json file, which you can access via “Configure MCP Server” in Cline’s settings.Here is my MCP config file:{
“mcpServers”: {
“ui5-mcp”: {
“disabled”: false,
“timeout”: 60,
“type”: “stdio”,
“command”: “/home/user/.asdf-inst/installs/nodejs/22.13.1/bin/node”,
“args”: [
“/home/user/.node_modules_global/lib/node_modules/@ui5/mcp-server/bin/ui5mcp.js”
]
},
“fiori-mcp”: {
“disabled”: false,
“timeout”: 60,
“type”: “stdio”,
“command”: “/home/user/.asdf-inst/installs/nodejs/22.13.1/bin/node”,
“args”: [
“/home/user/.node_modules_global/lib/node_modules/@sap-ux/fiori-mcp-server/dist/index.js”
],
“autoApprove”: [
“execute_functionality”
]
},
“cap-mcp”: {
“disabled”: false,
“timeout”: 60,
“type”: “stdio”,
“command”: “/home/user/.asdf-inst/installs/nodejs/22.13.1/bin/node”,
“args”: [
“/home/user/.node_modules_global/lib/node_modules/@cap-js/mcp-server/index.js”
]
}
}
} Cline allows you to flexibly use different models, including OpenAI, Anthropic, and SAP AI Core.In this example, I want to disable the “Initial Load” of a Fiori Elements app. The Fiori Tools MCP Server supports this functionality. Even without explicitly telling the LLM client to use the MCP server, it automatically calls the appropriate tool to perform the action.This is a great option to get started quickly and use various models and providers. However, in my experience, it can be quite slow compared to other LLM clients, and the overall experience is somewhat limited by being “just” an extension.Claude CodeMany model providers and LLM clients now offer CLI alternatives. Two notable examples are Claude Code, Cursor CLI, or Gemini CLI. We can install these directly in BAS.I’ll use Claude Code as an example. The installation is straightforward:curl -fsSL https://claude.ai/install.sh | bashAfter installation, you need to authenticate. Once done, you can configure MCP servers. You can activate the tool simply by running claude. Once configured, you can use these MCP servers directly within your BAS terminal.The configuration can be identical to the one used in Cline:Here is an example using Claude Code to reactivate the Initial Load. Claude correctly utilizes the Fiori MCP Server to find the right tool and execute the change.Outside of BAS (Hybrid/Remote)Fortunately, we have the possibility to “break out” of the browser-based BAS and use a hybrid approach with a local IDE. SAP provides a way to do this via extensions. The documentation for this setup can be found here: Working Remotely with SAP Business Application Studio</a >. VS Code and GitHub Copilot ChatThis approach enables us to connect a local VS Code instance via SSH to our running BAS instance.This gives us the best of both worlds: all BAS-exclusive extensions and capabilities, plus everything VS Code offers, including GitHub Copilot Chat and MCP servers.If you follow the documentation, you will have GitHub Copilot available in your local VS Code, capable of using the integrated MCP servers and the model of your choice. This provides not only direct code editing capabilities but also very smart autocompletion.Here is an example with GitHub Copilot Chat and MCP Server. In this case, although I explicitly mentioned the MCP server, it seems the tools were not automatically recognized, so the model used the parameter in the manifest.json directly. CursorCursor is a very powerful tool with excellent integration of MCP servers. You can configure and use MCP servers directly in Cursor and use with any model together with BAS.In theory, any Code-OSS based IDE that supports the necessary extensions can establish this connection. For those not bound to BAS, MCP servers can be configured and used directly in your own IDE, as almost every major IDE supports MCP servers by now.ConclusionWhile SAP Business Application Studio currently has some limitations regarding native MCP integration, there are several powerful workarounds. It will be exciting to see what support will be available in BAS in the future.Will it be Cline, as shown in the TechEd demos, will Joule be upgraded, or will GitHub Copilot be included in BAS as announced in a TechEd session?After the announcement at the TechEd keynote, I had actually expected a quick solution.Fortunately, I am not currently tied to BAS, and even if I were, I could fall back on the workarounds. Read More Technology Blog Posts by Members articles
#SAP
#SAPTechnologyblog