SAP Fiori MCP Server
This skill provides Model Context Protocol (MCP) integration for SAP Fiori application development. It enables AI assistants to create and modify SAP Fiori Elements applications through natural language prompts.
What This Skill Does
The SAP Fiori MCP Server helps AI models:
Generate new SAP Fiori Elements applications within CAP projectsCreate Fiori apps for existing OData services (including ABAP RAP services)Add and delete pages from existing applicationsConfigure Flexible Column Layout (FCL)Enable initial load and other manifest settingsAdd and modify controller extensionsSearch SAP Fiori, UI5, and Annotations documentationInstallation
Choose one of two installation methods:
Method 1: npx (Recommended)
Add to your MCP client configuration (e.g., Cline settings):
```json
{
"mcpServers": {
"fiori-mcp": {
"type": "stdio",
"timeout": 600,
"command": "npx",
"args": ["--yes", "@sap-ux/fiori-mcp-server@latest", "fiori-mcp"]
}
}
}
```
Method 2: Global npm Installation
```bash
npm install -g @sap-ux/fiori-mcp-server
```
Then configure your MCP client:
```json
{
"mcpServers": {
"fiori-mcp": {
"type": "stdio",
"timeout": 600,
"command": "fiori-mcp"
}
}
}
```
Usage Instructions for AI Agents
When assisting users with SAP Fiori development, follow these steps:
1. Understanding User Intent
When asked to create a Fiori Elements app:
Check if the user input describes an application with pages containing tables or formsThese can be translated into SAP Fiori Elements applicationsIf unclear, ask the user for suitable input2. Application Architecture
Understand the typical Fiori Elements structure:
**List Report Page**: Shows base entity data in a table**Object Page**: Shows details of a selected table row (based on base entity)**Nested Object Pages**: Table sections on Object Pages can lead to additional Object Pages via to-many associations3. Data Model Requirements
Ensure the data model is suitable:
One main entity with navigation properties to related entitiesEach property must have a proper datatypeAll entities must have primary keys of type UUIDWhen generating sample CSV data, use UUID format for all primary and foreign keys (e.g., `550e8400-e29b-41d4-a716-446655440001`)4. Three-Step Tool Workflow
**Step 1**: Use `list_functionalities` to get available operations
Returns all supported functionalities for creating or modifying Fiori apps**Step 2**: Use `get_functionality_details` with the chosen functionality ID
Returns required parameters and detailed information**Step 3**: Use `execute_functionality` with gathered parameters
Executes the operation to create or modify the application5. Modification Guidelines
When modifying Fiori Elements apps:
**Do NOT** use screen personalization**DO** modify the project code directlyAlways check if the Fiori MCP server provides a suitable function firstFor adding columns, layouts, or other features, use the MCP tools6. Additional Tools
**`search_docs`**: Search SAP Fiori Elements, UI5, and Annotations documentation**`list_fiori_apps`**: Scan directories to find existing Fiori applications7. Preview Applications
When previewing Fiori Elements apps:
Use the most specific `npm run watch-*` script for the app in `package.json`This ensures proper hot-reload and development experienceExample Prompts
"Please add a SAP Fiori elements list report app to my CAP project""Generate a new CAP project and SAP Fiori app based on my_picture.png""Generate a new SAP Fiori elements list report app for odata service `https://hostname:port/sap/opu/odata4/sap/my_v4_service?sap-client=000`""Add the FCL to the SAP Fiori elements app""Enable initial load for the fiori app""Add a new Object Page for the Orders entity"Configuration Options
Logging
Set log level via environment variable in configuration:
```json
{
"env": {
"LOG_LEVEL": "debug"
}
}
```
Supported levels: `off`, `error`, `warn`, `info`, `debug`, `verbose`
Logs are stored at: `~/.fioritools/fiori-mcp-server.log`
Telemetry
Disable telemetry collection using either method:
**Method 1**: Create `~/.fioritools/telemetrysettings.json`:
```json
{
"telemetrysettings": {
"telemetrySetting": {
"enableTelemetry": false
}
}
}
```
**Method 2**: Set environment variable:
```bash
export SAP_UX_FIORI_TOOLS_DISABLE_TELEMETRY=true
```
Recommended Companion Servers
For the best experience, use alongside:
`@cap-js/mcp-server` - SAP Cloud Application Programming Model server`@ui5/mcp-server` - UI5 framework serverImportant Notes
For OData service prompts requiring saved SAP system connections, the Connection Manager for SAP Systems VS Code extension must be installedThe `search_docs` tool uses the most recent indexed version of UI5 documentationTimeout is set to 600 seconds to accommodate longer generation operations