@sap-ux/fiori-mcp-server
Этот пакет включает сервер Model Context Protocol (MCP) для интеграции с AI‑ассистентами по кодированию.
Сервер помогает моделям ИИ создавать или модифицировать SAP Fiori-приложения на основе подсказок, например:
Пожалуйста, добавь приложение SAP Fiori elements list report в мой CAP-проект
Создай новый CAP-проект и SAP Fiori app на основе my_picture.png
Сгенерируй новое приложение SAP Fiori elements list report для Odata-сервиса https://hostname:port/sap/opu/odata4/sap/my_v4_service?sap-client=000.
ℹ️Этот запрос требует сохранённого соединения с SAP-системой с использованием расширения Connection Manager for SAP Systems.
Добавить FCL в приложение SAP Fiori elements
Включить начальную загрузку для fiori-приложения
Для наилучшего опыта рекомендуется использовать этот сервер вместе с @cap-js/mcp-server и @ui5/mcp-server.
Настройка
Сервер использует транспорт stdio и запускается через npx — глобальная установка не требуется. Выберите раздел для своего клиента MCP ниже.
Claude Code
Опция A — CLI (рекомендуется):
claude mcp add fiori-mcp -- npx --yes @sap-ux/fiori-mcp-server@latest fiori-mcp
Опция B — поместить .mcp.json файл в корень проекта:
{
"mcpServers": {
"fiori-mcp": {
"type": "stdio",
"timeout": 600,
"command": "npx",
"args": ["--yes", "@sap-ux/fiori-mcp-server@latest", "fiori-mcp"]
}
}
}
Cline
Откройте настройки расширения Cline и добавьте сервер в раздел MCP Servers:
{
"mcpServers": {
"fiori-mcp": {
"type": "stdio",
"timeout": 600,
"command": "npx",
"args": ["--yes", "@sap-ux/fiori-mcp-server@latest", "fiori-mcp"]
}
}
}
Cursor
Редактируйте (или создайте) файл конфигурации MCP для вашей области:
-
Глобально:
~/.cursor/mcp.json -
Проект:
.cursor/mcp.jsonв корне проекта
{
"mcpServers": {
"fiori-mcp": {
"type": "stdio",
"timeout": 600,
"command": "npx",
"args": ["--yes", "@sap-ux/fiori-mcp-server@latest", "fiori-mcp"]
}
}
}
Windsurf
Редактируйте ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": {
"fiori-mcp": {
"type": "stdio",
"timeout": 600,
"command": "npx",
"args": ["--yes", "@sap-ux/fiori-mcp-server@latest", "fiori-mcp"]
}
}
}
Другие клиенты
Для любого другого MCP-клиента используйте следующую конфигурацию на основе npx:
{
"mcpServers": {
"fiori-mcp": {
"type": "stdio",
"timeout": 600,
"command": "npx",
"args": ["--yes", "@sap-ux/fiori-mcp-server@latest", "fiori-mcp"]
}
}
}
Глобальная установка npm (любого клиента)
Если вы предпочитаете НЕ использовать npx, сначала установите пакет глобально:
npm install -g @sap-ux/fiori-mcp-server
Затем используйте fiori-mcp в качестве команды (аргументы не требуются):
{
"mcpServers": {
"fiori-mcp": {
"type": "stdio",
"timeout": 600,
"command": "fiori-mcp"
}
}
}
Правила
Ниже приведены правила, которые помогают направлять модель ИИ на корректное использование сервера. Добавляйте их в ваш системный промпт или файл правил:
-
Claude Code:
AGENTS.mdилиCLAUDE.mdв корне проекта -
Cline: Custom Instructions в настройках расширения Cline
-
Cursor:
.cursorrulesв корне проекта -
Windsurf: Глобальные правила или проектный
.windsurfrules
## 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 и 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`.
Доступные инструменты
search_docs
Поиск по SAP Fiori elements, Annotations, UI5, OPA5 Guides, документации SAP Fiori tools по заданному запросу.
Примечание: результаты основаны на самой последней индексированной версии документации UI5
First-use download:
search_docsuses 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 theHF_HOME/TRANSFORMERS_CACHEenvironment variables, defaulting to~/.cache/huggingface/hub). Subsequent starts load the model from the cache with no network access required.
list_fiori_apps
Сканирует указанную директорию, чтобы найти существующие SAP Fiori-приложения, которые можно модифицировать.
list_sap_systems
Список всех SAP-систем, сохранённых в окружении пользователя (например, система SAP Fiori tools). Используйте этот список, когда пользователь указывает SAP-систему по имени перед вызовом download_odata_service_metadata или генерацией Fiori-приложения.
download_odata_service_metadata
Скачивает EDMX-метаданные конкретного OData-сервиса из SAP-системы и сохраняет их как metadata.xml. Используйте это перед вызовом generate_fiori_app_odata, когда пользователь предоставляет ссылку на SAP-систему или сервис.
generate_fiori_app_odata
Генерирует новое SAP Fiori UI-приложение для проектов OData (non-CAP), например сервисы OData на базе ABAP RESTful Application Programming Model (RAP).
generate_fiori_app_cap
Генерирует новое SAP Fiori UI-приложение внутри существующего проекта SAP Cloud Application Programming Model (CAP).
list_functionality (Step 1 of 3)
Получает список поддерживаемых функций modification для существующего SAP Fiori-приложения. Требуется валидный абсолютный путь к приложению.
Поддерживаемые модификации:
-
Добавление и удаление страниц в приложении
-
Добавление и изменение расширений контроллера
-
Изменение свойств
manifest.jsonв зависимости от приложения, например, добавление макета на основе гибкости программной модели или включение начальной загрузки
get_functionality_details (Step 2 of 3)
Получает необходимые параметры и подробную информацию для конкретной функции модификации существующего SAP Fiori-приложения.
execute_functionality (Step 3 of 3)
Выполняет конкретную функциональность для модификации существующего SAP Fiori-приложения с заданными параметрами.
Логирование
По умолчанию логирование включено на уровне error. Чтобы изменить уровень логирования или полностью отключить логирование, можно использовать свойство env в вашей конфигурации.
{
"mcpServers": {
"fiori-mcp": {
"type": "stdio",
"timeout": 600,
"command": "npx",
"args": ["--yes","@sap-ux/fiori-mcp-server@latest", "fiori-mcp"],
"env": {
"LOG_LEVEL": "debug"
}
}
}
}
Следующие уровни логирования поддерживаются: off, error, warn, info, debug, и verbose.
Логи сохраняются в файловой системе по пути ~/.fioritools/fiori-mcp-server.log
Работа с самоподписанными SSL-сертификатами
Если нужно, чтобы MCP server подключался к OData-серверу с использованием самоподписанного SSL-сертификата, можно использовать один из следующих методов.
Это полезно при ошибках типа: unable to get local issuer certificate
Вариант 1: Добавить пользовательский CA-сертификат (рекомендуется)
Установите переменную окружения NODE_EXTRA_CA_CERTS в путь к вашему CA-сертификату. Node.js поддерживает несколько расширений файлов (.pem, .crt, .cer, .cert).
Пример конфигурации:
{
"mcpServers": {
"fiori-mcp": {
"type": "stdio",
"timeout": 600,
"command": "npx",
"args": ["--yes", "@sap-ux/fiori-mcp-server@latest", "fiori-mcp"],
"env": {
"NODE_EXTRA_CA_CERTS": "/path/to/your/certificate.crt"
}
}
}
}
Windows пример:
"env": {
"NODE_EXTRA_CA_CERTS": "C:\\temp\\certs\\CustomCA.crt"
}
macOS/Linux пример:
"env": {
"NODE_EXTRA_CA_CERTS": "/Users/username/certs/Custom_CA.crt"
}
Вариант 2: Обход проверки SSL (Не рекомендуется)
⚠️ Предупреждение по безопасности: установка
NODE_TLS_REJECT_UNAUTHORIZED=0отключает всю валидацию SSL‑сертификатов и представляет собой серьёзный риск для безопасности. Используйте это только в не-продакшн окружениях.
{
"mcpServers": {
"fiori-mcp": {
"type": "stdio",
"timeout": 600,
"command": "npx",
"args": ["--yes", "@sap-ux/fiori-mcp-server@latest", "fiori-mcp"],
"env": {
"NODE_TLS_REJECT_UNAUTHORIZED": "0"
}
}
}
}
Дополнительные ресурсы
Телеметрия
Вы можете включать и отключать сбор аналитики. По умолчанию используются данные, не идентифицируемые лично, чтобы понять, как вы используете продукт, и улучшить Fiori MCP Server. Если вы хотите отказаться от телеметрии, существует два способа её отключения.
Способ 1: Конфигурационный файл
Создайте или измените файл ~/.fioritools/telemetrysettings.json:
{
"telemetrysettings": {
"telemetrySetting": {
"enableTelemetry": false
}
}
}
Установите enableTelemetry в значение false, чтобы отключить сбор телеметрии.
Способ 2: Переменная окружения
Установите переменную окружения SAP_UX_FIORI_TOOLS_DISABLE_TELEMETRY в true:
export SAP_UX_FIORI_TOOLS_DISABLE_TELEMETRY=true
Установка этой переменной окружения отключит телеметрий‑клиент.
Кодекс поведения
Все участники данного совместного проекта приветствуются, пока соблюдается наш Кодекс поведения.
Лицензия
Пожалуйста, ознакомьтесь с нашим LICENSE для информации об авторских правах и лицензиях. Подробная информация, включая сторонние компоненты и их лицензии/авторские права, доступна через инструмент REUSE.