Fiori Mcp Server

io.github.SAP由 GitHub 帳號 SAP 發布v1.15.20更新於 Nov 3, 2026

SAP Fiori - Model Context Protocol (MCP) server

已驗證STDIO僅桌面知識與記憶開發者工具

概覽

AI 產生的概覽

SAP Fiori MCP 伺服器,讓 AI 助理產生新的 SAP Fiori 應用程式、修改既有應用程式,並檢索 Fiori/UI5 文件。

可以做什麼
  • 檢索 Fiori Elements、註解、SAPUI5 與 Fiori tools 文件,可選擇只回傳程式碼區塊
  • 掃描目錄找出可修改的既有 Fiori 應用程式,並列出本機環境中的 SAP 系統
  • 從 SAP 系統下載 OData 服務的 EDMX 中繼資料並存成 metadata.xml
  • 為 OData(非 CAP)專案或在既有 CAP 專案內產生新的 Fiori UI 應用程式
  • 透過三步流程修改既有應用程式:列出可用功能、取得參數、執行修改(新增或刪除頁面、控制器擴充、manifest 屬性)
適用情境
適合 SAP 開發環境:想讓助理依提示詞建立 Fiori elements 應用程式、連接 OData 服務,或對既有應用程式進行新增頁面、啟用初始載入等結構性調整時。
執行需求
以 stdio 在本機執行,透過 npx 啟動 npm 套件 @sap-ux/fiori-mcp-server(需 Node.js),也可全域安裝。下載中繼資料與依 OData 產生應用程式需要可存取的 SAP 系統或已儲存的系統連線。選用環境變數:LOG_LEVEL、SAP_UX_FIORI_TOOLS_DISABLE_TELEMETRY,以及供自簽憑證使用的 NODE_EXTRA_CA_CERTS。首次使用需連網下載本機嵌入模型。
安裝前請注意
工具會寫入檔案系統:建立新的專案資料夾(目標資料夾必須不存在),並修改既有應用程式程式碼、manifest.json 與控制器擴充。下載中繼資料會連線到你提供的 SAP 系統位址。遙測預設開啟,需設定 SAP_UX_FIORI_TOOLS_DISABLE_TELEMETRY 才能關閉。README 提醒 NODE_TLS_REJECT_UNAUTHORIZED=0 會停用所有 SSL 驗證,不應在正式環境使用。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Fiori Mcp Server,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

[Changelog] [Github repo]

@sap-ux/fiori-mcp-server

This package includes a Model Context Protocol (MCP) server for integration with AI coding assistants.

The server helps AI models create or modify SAP Fiori applications based on prompts, such as:

  • 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.

    ℹ️This prompt requires a saved SAP system connection by using the Connection Manager for SAP Systems extension.

  • Add the FCL to the SAP Fiori elements app

  • Enable initial load for the fiori app

For the best experience we recommend using this server alongside @cap-js/mcp-server and @ui5/mcp-server.

Setup

The server uses stdio transport and is launched via npx — no global installation required. Pick the section for your MCP client below.

Note: Replace <version> with the specific version you want to pin to (e.g. 1.12.2). The current release version is shown on the npm page. Using a pinned version rather than @latest ensures reproducible behaviour and prevents untested updates from being picked up automatically.

Claude Code

Option A — CLI (recommended):

bash
claude mcp add fiori-mcp -- npx --yes @sap-ux/fiori-mcp-server@<version> fiori-mcp

Option B — drop a .mcp.json file in your project root:

json
{  "mcpServers": {    "fiori-mcp": {      "type": "stdio",      "timeout": 600,      "command": "npx",      "args": ["--yes", "@sap-ux/fiori-mcp-server@<version>", "fiori-mcp"]    }  }}

Cline

Open the Cline extension settings and add the server under MCP Servers:

json
{  "mcpServers": {    "fiori-mcp": {      "type": "stdio",      "timeout": 600,      "command": "npx",      "args": ["--yes", "@sap-ux/fiori-mcp-server@<version>", "fiori-mcp"]    }  }}

Cursor

Edit (or create) the MCP config file for your scope:

  • Global: ~/.cursor/mcp.json
  • Project: .cursor/mcp.json in your project root
json
{  "mcpServers": {    "fiori-mcp": {      "type": "stdio",      "timeout": 600,      "command": "npx",      "args": ["--yes", "@sap-ux/fiori-mcp-server@<version>", "fiori-mcp"]    }  }}

Windsurf

Edit ~/.codeium/windsurf/mcp_config.json:

json
{  "mcpServers": {    "fiori-mcp": {      "type": "stdio",      "timeout": 600,      "command": "npx",      "args": ["--yes", "@sap-ux/fiori-mcp-server@<version>", "fiori-mcp"]    }  }}

Other clients

For any other MCP client, use the following npx-based configuration:

json
{  "mcpServers": {    "fiori-mcp": {      "type": "stdio",      "timeout": 600,      "command": "npx",      "args": ["--yes", "@sap-ux/fiori-mcp-server@<version>", "fiori-mcp"]    }  }}

Global npm install (any client)

If you prefer not to use npx, install the package globally first:

bash
npm install -g @sap-ux/fiori-mcp-server

Then use fiori-mcp as the command (no args needed):

json
{  "mcpServers": {    "fiori-mcp": {      "type": "stdio",      "timeout": 600,      "command": "fiori-mcp"    }  }}

Rules

The following rules help guide the AI model to use the server correctly. Add them to your system prompt or rules file:

  • Claude Code: AGENTS.md or CLAUDE.md in your project root
  • Cline: Custom Instructions in the Cline extension settings
  • Cursor: .cursorrules in your project root
  • Windsurf: Global Rules or project-level .windsurfrules
markdown
## Rules for creation or modification of SAP Fiori elements apps
- When asked to create an SAP Fiori elements app check whether the user input can be interpreted as an application organized into one or more pages containing table data or forms, these can be translated into a SAP Fiori elements application, else ask the user for suitable input.- The application typically starts with a List Report page showing the data of the base entity of the application in a table. Details of a specific table row are shown in the ObjectPage. This first Object Page is therefore based on the base entity of the application.- An Object Page can contain one or more table sections based on to-many associations of its entity type. The details of a table section row can be shown in an another Object Page based on the associations target entity.- The data model must be suitable for usage in a SAP Fiori elements frontend application. So there must be one main entity and one or more navigation properties to related entities.- Each property of an entity must have a proper datatype.- For all entities in the data model provide primary keys of type UUID.- When creating sample data in CSV files, all primary keys and foreign keys MUST be in UUID format (e.g., `550e8400-e29b-41d4-a716-446655440001`).- When generating or modifying the SAP Fiori elements application on top of the CAP service use the Fiori MCP server if available.- When attempting to modify the SAP Fiori elements application like adding columns you must not use the screen personalization but instead modify the code of the project, before this first check whether an MCP server provides a suitable function.- When previewing the SAP Fiori elements application use the most specific `npm run watch-*` script for the app in the `package.json`.

Available Tools

search_docs

Searches SAP Fiori elements, Annotations, UI5, OPA5 Guides, SAP Fiori tools documentation for the given query.

Note: the results are based on the most recent indexed version of UI5 documentation

First-use download: search_docs uses a local text-embedding model (all-MiniLM-L6-v2, ~86 MB) for semantic search. The model is downloaded from HuggingFace Hub on first use and cached locally (location follows the HF_HOME / TRANSFORMERS_CACHE environment variables, defaulting to ~/.cache/huggingface/hub). Subsequent starts load the model from the cache with no network access required.

list_fiori_apps

Scans a specified directory to find existing SAP Fiori applications that can be modified.

list_sap_systems

Lists all SAP systems stored in the user's environment (e.g. SAP Fiori tools system store). Use this when the user references a SAP system by name before calling download_odata_service_metadata or generating a Fiori application.

download_odata_service_metadata

Downloads the EDMX metadata of a specific OData service from a SAP system and saves it as metadata.xml. Use this before calling generate_fiori_app_odata when the user provides a SAP system reference or service URL.

generate_fiori_app_odata

Generates a new SAP Fiori UI application for OData (non-CAP) projects, for example ABAP RESTful Application Programming Model-based OData services.

generate_fiori_app_cap

Generates a new SAP Fiori UI application within an existing SAP Cloud Application Programming Model (CAP) project.

list_functionality (Step 1 of 3)

Gets the list of supported modification functionalities for an existing SAP Fiori application. Requires a valid absolute path to the application.

The supported modifications are:

  • Adding and deleting pages from an app
  • Adding and modifying controller extensions
  • Modifying manifest.json properties depending on the app, for example, adding a layout based on the flexibility of the programming model or enabling initial load
get_functionality_details (Step 2 of 3)

Gets the required parameters and detailed information for a specific functionality to modify an existing SAP Fiori application.

execute_functionality (Step 3 of 3)

Executes a specific functionality to modify an existing SAP Fiori application with provided parameters.

Logging

By default, logging is enabled at the error level. To adjust the log level or disable logging completely, you can use the env property in your configuration.

json
{  "mcpServers": {    "fiori-mcp": {      "type": "stdio",      "timeout": 600,      "command": "npx",      "args": ["--yes","@sap-ux/fiori-mcp-server@<version>", "fiori-mcp"],      "env": {        "LOG_LEVEL": "debug"      }    }  }}

The following log levels are supported: off, error, warn, info, debug, and verbose.

The logs are stored in the file system at ~/.fioritools/fiori-mcp-server.log

Handling Self-Signed SSL Certificates

If you need the MCP server to connect to an OData server using a self-signed SSL certificate, you can use one of the following methods.

This is useful when encountering errors such as: unable to get local issuer certificate

Option 1: Add Custom CA Certificate (Recommended)

Set the NODE_EXTRA_CA_CERTS environment variable to the path of your CA certificate file. Node.js supports multiple file extensions (.pem, .crt, .cer, .cert).

Example Configuration:

json
{  "mcpServers": {    "fiori-mcp": {      "type": "stdio",      "timeout": 600,      "command": "npx",      "args": ["--yes", "@sap-ux/fiori-mcp-server@<version>", "fiori-mcp"],      "env": {        "NODE_EXTRA_CA_CERTS": "/path/to/your/certificate.crt"      }    }  }}

Windows Example:

json
"env": {  "NODE_EXTRA_CA_CERTS": "C:\\temp\\certs\\CustomCA.crt"}

macOS/Linux Example:

json
"env": {  "NODE_EXTRA_CA_CERTS": "/Users/username/certs/Custom_CA.crt"}

Option 2: Bypass SSL Validation (Not Recommended)

⚠️ Security Warning: Setting NODE_TLS_REJECT_UNAUTHORIZED=0 disables all SSL certificate validation and poses a significant security risk. Only use this in non-production environments.

json
{  "mcpServers": {    "fiori-mcp": {      "type": "stdio",      "timeout": 600,      "command": "npx",      "args": ["--yes", "@sap-ux/fiori-mcp-server@<version>", "fiori-mcp"],      "env": {        "NODE_TLS_REJECT_UNAUTHORIZED": "0"      }    }  }}

Additional Resources

Telemetry

You can enable and disable the collection of analytics. By default, non-personally identifiable information is used to help understand how you use the product to improve the Fiori MCP Server. In case you want to opt-out there exist two ways to disable the telemetry.

Method 1: Configuration File

Create or change the file ~/.fioritools/telemetrysettings.json:

json
{  "telemetrysettings": {    "telemetrySetting": {      "enableTelemetry": false    }  }}

Set enableTelemetry to false to disable telemetry collection.

Method 2: Environment Variable

Set the environment variable SAP_UX_FIORI_TOOLS_DISABLE_TELEMETRY to true:

bash
export SAP_UX_FIORI_TOOLS_DISABLE_TELEMETRY=true

Setting this environment variable will disable the telemetry client.

Code of Conduct

Everyone participating in this joint project is welcome as long as our Code of Conduct is being adhered to.

Licensing

Please see our LICENSE for copyright and license information. Detailed information including third-party components and their licensing/copyright information is available via the REUSE tool.

來源:packages/fiori-mcp-server/README.md,提交 e487f7a

工具

9

search_docs

Search in Fiori Documentation

Searches code snippets of Fiori Elements, Annotations, SAPUI5, Fiori tools documentation for the given query. You MUST use this tool if you're unsure about Fiori APIs. Optionally returns only code blocks.

輸入參數query必填maxResults

list_fiori_apps

List Fiori Applications

Scans a specified directory to find existing SAP Fiori applications that can be modified. This is an optional, preliminary tool. **Use this first ONLY if the target application's name or path is not already known.** The output can be used to ask the user for clarification before starting the main 3-step workflow.

輸入參數searchPath必填

list_sap_systems

List SAP Systems

Lists all SAP systems from the user's environment. This tool should only be used if the Service Center MCP tool list systems is unavailable. **ALWAYS** use the Service Center MCP tool 'list_systems' first if it is available. This tool is a fallback for environments where the Service Center MCP tool is not available. Also use this tool when the user asks to 'list systems', 'list backends', or any equivalent phrasing. Use this tool when the user references a SAP system by name or when you need to discover available systems before calling 'download_odata_service_metadata', 'generate_adaptation_project', or generating a Fiori application.

無需輸入參數。

download_odata_service_metadata

Download OData Service Metadata

Downloads the metadata (EDMX) of a specific OData service URL from a SAP system and saves it as metadata.xml. Note: this tool replaces the old 'fetch-service-metadata' functionality that was previously available via the 'execute_functionality' workflow — use this tool directly instead. Usage guidelines: - Use this before calling 'generate_fiori_app_odata' when the user provides a SAP system reference and a service path. - If a service name or technical id is provided instead of a service path DO NOT USE THIS TOOL. Instead use the Service Center MCP server tool to retrieve the service metadata and then pass it to 'generate_fiori_app_odata'. - If a service path is provided by the user, use it directly via servicePath parameter. - If the user provides a system name or host, use 'list_sap_systems' first to resolve it. - Pass the full URL as sapSystemQuery. - Returns host, servicePath, client, and metadataFilePath inside the result's parameters object. - Pass ALL returned fields directly into the service config of 'generate_fiori_app_odata'. Map the returned properties to the app config service property input to 'generate_fiori_app_odata'. - **Note:** This tool is only supported in VSCode. For SAP Business Application Studio, use the Service Center MCP server tool to retrieve the service metadata instead. **IMPORTANT**: On VSCode, if the service requires authentication and the system is not already stored, ask the user to store it first. Do not ask for credentials directly. **DO NOT use this tool to refresh or update service metadata in an existing Fiori application. Instead, invoke the ['sap-fiori-create-cli' skill's 'update service-metadata' section](../sap-fiori-create-cli/SKILL.md#update-service-metadata).

輸入參數appPath必填servicePathsapSystemQuery

generate_fiori_app_odata

Generate SAP Fiori App (OData / non-CAP)

Creates (generates) a new SAP Fiori UI application either within an existing CAP project or standalone. ALWAYS read ALL of the following instructions carefully before calling this tool. 🚨 CRITICAL - TARGET FOLDER MUST NOT EXIST 🚨 The app subfolder <project.targetFolder>/<project.name> MUST NOT already exist before calling this tool. If it exists the tool will STOP and return an error — it will NOT overwrite or merge. Do NOT pre-create that subfolder. Only the parent targetFolder may exist. 🚨 CRITICAL - READ SCHEMA FIRST 🚨 Before calling this tool, you MUST: 1. Examine the inputSchema below to understand the EXACT structure required 2. The input MUST match the schema type 'GeneratorConfigOData' with these TOP-LEVEL properties: - floorplan (must be: 'FE_LROP', 'FE_OVP', 'FE_ALP', 'FE_WORKLIST', 'FE_FEOP', 'FE_FPM', 'FF_SIMPLE', required) - project (object, required) — includes name, title, description, targetFolder, ui5Version (optional), enableTypeScript (default false), namespace (optional), viewName (FF_SIMPLE only, optional) - service (object, optional) - entityConfig (object, optional) 3. DO NOT create properties like "config", or any other structure - use ONLY the properties defined in inputSchema Steps: 1. Construct the tool arguments. - **IMPORTANT** ALWAYS use the app config schema defined by the type 'GeneratorConfigOData' to create the input structure. NEVER create an input in any other format. - The input MUST use the exact property names defined in the inputSchema: floorplan, project, service, entityConfig. - **ONLY** if the Service Center MCP is NOT available and the user provided a SAP system reference or URL with a **service path**, you **MUST** first call 'download_odata_service_metadata'. - If the Service Center MCP is available and the user provided a **service name or tech

輸入參數project必填servicefloorplan必填entityConfig

generate_fiori_app_cap

Generate SAP Fiori App (CAP)

Creates (generates) a new SAP Fiori UI application within an existing CAP project. 🚨 CRITICAL - TARGET FOLDER MUST NOT EXIST 🚨 The app subfolder <project.targetFolder>/app/<project.name> MUST NOT already exist before calling this tool. If it exists the tool will STOP and return an error — it will NOT overwrite or merge. Do NOT pre-create that subfolder. Only the parent targetFolder may exist. To populate parameters, you **MUST** use the ***CDS MCP*** to search the model for service definitions, entities, associations, and UI annotations. As a fallback, only if no such tool is available, manually read and parse all .cds files in the projectPath. The configuration **MUST** be a valid JSON object matching the tool's inputSchema and based on the project files.

輸入參數project必填servicefloorplan必填entityConfig

list_functionality

List Supported Fiori Modification Functionalities

**(Step 1 of 3) — Use this to modify an existing SAP Fiori application.** Returns the complete list of supported modification operations for a given application, including: adding or deleting pages, creating controller extensions, and changing any Fiori Elements manifest property. This is the **first mandatory step** for modifying an existing app and requires a valid absolute path to a SAP Fiori application. You MUST use a functionalityId from this tool's output in 'get_functionality_details' (Step 2). You MUST NOT use a functionalityId as a tool name. Do not guess or assume functionalityIds — only use what this tool returns. **Note: If the target application is not known, use 'list_fiori_apps' first.** **Note: To generate a new app, use 'generate_fiori_app_odata' or 'generate_fiori_app_cap' instead.** If the functionality list does not cover your goal, use 'search_docs' as a fallback.

輸入參數appPath必填

get_functionality_details

Get Fiori Functionality Details

**(Step 2 of 3)** Gets the required parameters and detailed information for a specific functionality to modify an existing SAP Fiori application. You MUST provide a functionalityId obtained from 'list_functionality' (Step 1). The output of this tool is required for the final step 'execute_functionality' (Step 3).

輸入參數appPath必填functionalityId必填

execute_functionality

Execute Fiori Functionality

**(Step 3 of 3)** Executes a specific functionality to modify an existing SAP Fiori application with provided parameters. This is the **final step** of the workflow and performs the actual modification. You MUST provide the exact parameter information obtained from get_functionality_details (Step 2).

輸入參數appPath必填parameters必填functionalityId必填

版本歷史

13
  1. v1.15.20最新Oct 30, 2026
  2. v1.15.18Oct 29, 2026
  3. v1.15.16Oct 26, 2026
  4. v1.15.15Oct 23, 2026
  5. v1.15.12Oct 14, 2026
  6. v1.15.8Oct 9, 2026
  7. v1.15.7Oct 8, 2026
  8. v1.15.6Oct 7, 2026
  9. v1.15.0Oct 1, 2026
  10. v1.14.0Sep 28, 2026
  11. v1.13.0Sep 23, 2026
  12. v1.12.6Sep 17, 2026
  13. v1.12.5Sep 16, 2026

評分

已滿足適用檢查項的 90%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分
  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分