fiori-mcp-server について
fiori-mcp-server は、AI コーディングアシスタントが SAP Fiori アプリケーションを作成・変更するための MCP サーバーです。CAP または OData プロジェクトで開発する開発者を対象とし、@cap-js/mcp-server や @ui5/mcp-server と併用することが推奨されています。
主な機能
- 01SAP Fiori elements アプリの生成
- 02SAP Fiori・UI5・OPA5 ドキュメントの検索
- 03保存済み SAP システムの一覧取得と OData メタデータのダウンロード
- 04既存アプリの変更機能を段階的に一覧取得・実行
- 05自己署名 SSL 証明書向けのカスタム CA 設定
活用シーン
- 01CAP プロジェクトへの List Report ページの追加
- 02OData サービスのメタデータからの Fiori アプリ生成
- 03既存アプリの初期ロード有効化やページ追加
MCP 対応
本プロジェクトは stdio トランスポートで動作する MCP サーバーです。ドキュメント検索、アプリ生成、SAP システム照会、アプリ変更のためのツールを MCP クライアントに提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
npx -y @sap-ux/fiori-mcp-serverLOG_LEVELSets logger verbosity. Allowed values: 'off', 'error', 'warn', 'info', 'debug', 'verbose', 'silly'.SAP_UX_FIORI_TOOLS_DISABLE_TELEMETRYSet to 'true' to opt out of SAP Fiori tools usage analytics telemetry.ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
9掲載時のツール一覧 · 今日に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| query | string | はい | 検索クエリ |
| maxResults | number | いいえ | 返す結果の最大数 |
詳細
@sap-ux/fiori-mcp-server
このパッケージには、AI コーディングアシスタントと連携するための Model Context Protocol(MCP)サーバーが含まれています。
このサーバーは、次のようなプロンプトに基づいて、AI モデルが SAP Fiori アプリケーションを作成または変更できるようにします。
-
CAP プロジェクトに SAP Fiori elements のリストレポートアプリを追加してください
-
my_picture.png に基づいて、新しい CAP プロジェクトと SAP Fiori アプリを生成してください
-
odata サービス
https://hostname:port/sap/opu/odata4/sap/my_v4_service?sap-client=000用の新しい SAP Fiori elements リストレポートアプリを生成してください。ℹ️このプロンプトを使用するには、Connection Manager for SAP Systems 拡張機能を使って、SAP システムへの接続を保存しておく必要があります。
-
SAP Fiori elements アプリに FCL を追加してください
-
fiori アプリの初期ロードを有効にしてください
最適なエクスペリエンスを得るには、このサーバーを @cap-js/mcp-server および @ui5/mcp-server と併用することをおすすめします。
セットアップ
このサーバーは stdio トランスポートを使用し、npx 経由で起動するため、グローバルインストールは不要です。以下からお使いの MCP クライアントに該当するセクションを選択してください。
注記:
<version>は、固定したい特定のバージョン(例:1.12.2)に置き換えてください。現在のリリースバージョンは npm ページに表示されています。@latestではなく固定したバージョンを使用すると、動作を再現でき、テストされていない更新が自動的に取り込まれるのを防げます。
Claude Code
オプション A — CLI(推奨):
claude mcp add fiori-mcp -- npx --yes @sap-ux/fiori-mcp-server@<version> fiori-mcp
オプション B — プロジェクトのルートに .mcp.json ファイルを配置:
{
"mcpServers": {
"fiori-mcp": {
"type": "stdio",
"timeout": 600,
"command": "npx",
"args": ["--yes", "@sap-ux/fiori-mcp-server@<version>", "fiori-mcp"]
}
}
}
Cline
Cline 拡張機能の設定を開き、MCP Servers の下にサーバーを追加します。
{
"mcpServers": {
"fiori-mcp": {
"type": "stdio",
"timeout": 600,
"command": "npx",
"args": ["--yes", "@sap-ux/fiori-mcp-server@<version>", "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@<version>", "fiori-mcp"]
}
}
}
Windsurf
~/.codeium/windsurf/mcp_config.json を編集します。
{
"mcpServers": {
"fiori-mcp": {
"type": "stdio",
"timeout": 600,
"command": "npx",
"args": ["--yes", "@sap-ux/fiori-mcp-server@<version>", "fiori-mcp"]
}
}
}
その他のクライアント
その他の MCP クライアントでは、次の npx ベースの設定を使用します。
{
"mcpServers": {
"fiori-mcp": {
"type": "stdio",
"timeout": 600,
"command": "npx",
"args": ["--yes", "@sap-ux/fiori-mcp-server@<version>", "fiori-mcp"]
}
}
}
グローバル npm インストール(任意のクライアント)
npx を使用しない場合は、先にパッケージをグローバルインストールします。
npm install -g @sap-ux/fiori-mcp-server
次に、コマンドとして fiori-mcp を使用します(args は不要です)。
{
"mcpServers": {
"fiori-mcp": {
"type": "stdio",
"timeout": 600,
"command": "fiori-mcp"
}
}
}
ルール
以下のルールは、AI モデルがサーバーを正しく使用できるようにするためのものです。システムプロンプトまたはルールファイルに追加してください。
- Claude Code: プロジェクトのルートにある
AGENTS.mdまたはCLAUDE.md - Cline: 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 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`.
利用可能なツール
search_docs
指定されたクエリに基づいて、SAP Fiori elements、アノテーション、UI5、OPA5 ガイド、SAP Fiori tools のドキュメントを検索します。
注記:結果は、UI5 ドキュメントの最新のインデックスバージョンに基づいています。
初回使用時のダウンロード:
search_docsは、セマンティック検索にローカルのテキスト埋め込みモデル(all-MiniLM-L6-v2、約 86 MB)を使用します。このモデルは初回使用時に HuggingFace Hub からダウンロードされ、ローカルにキャッシュされます(保存先はHF_HOME/TRANSFORMERS_CACHE環境変数に従い、既定では~/.cache/huggingface/hubです)。2 回目以降の起動では、ネットワークに接続せずにキャッシュからモデルが読み込まれます。
list_fiori_apps
指定されたディレクトリをスキャンし、変更可能な既存の SAP Fiori アプリケーションを検索します。
list_sap_systems
ユーザーの環境(SAP Fiori tools のシステムストアなど)に保存されているすべての SAP システムを一覧表示します。ユーザーが SAP システムを名前で指定した場合に、download_odata_service_metadata の呼び出しや Fiori アプリの生成を行う前に使用します。
download_odata_service_metadata
SAP システムから特定の OData サービスの EDMX メタデータをダウンロードし、metadata.xml として保存します。ユーザーが SAP システムを指定した場合、またはサービス URL を提供した場合に、generate_fiori_app_odata を呼び出す前に使用します。
generate_fiori_app_odata
ABAP RESTful Application Programming Model ベースの OData サービスなど、OData(非 CAP)プロジェクト向けの新しい SAP Fiori UI アプリを生成します。
generate_fiori_app_cap
既存の SAP Cloud Application Programming Model(CAP) プロジェクト内に新しい SAP Fiori UI アプリを生成します。
list_functionality(ステップ 1/3)
既存の SAP Fiori アプリでサポートされている変更機能の一覧を取得します。アプリの有効な絶対パスが必要です。
サポートされている変更は次のとおりです。
- アプリへのページの追加と削除
- コントローラー拡張機能の追加と変更
- アプリに応じた
manifest.jsonのプロパティの変更。たとえば、プログラミングモデルの柔軟性に基づくレイアウトの追加や、初期ロードの有効化など
get_functionality_details(ステップ 2/3)
既存の SAP Fiori アプリを変更する特定の機能に必要なパラメーターと詳細情報を取得します。
execute_functionality(ステップ 3/3)
指定したパラメーターを使用して、既存の SAP Fiori アプリを変更する特定の機能を実行します。
ログ記録
デフォルトでは、error レベルでログ記録が有効になっています。ログレベルの調整やログ記録の完全な無効化は、設定の env プロパティで行えます。
{
"mcpServers": {
"fiori-mcp": {
"type": "stdio",
"timeout": 600,
"command": "npx",
"args": ["--yes","@sap-ux/fiori-mcp-server@<version>", "fiori-mcp"],
"env": {
"LOG_LEVEL": "debug"
}
}
}
}
次のログレベルがサポートされています:off、error、warn、info、debug、verbose。
ログはファイルシステムの ~/.fioritools/fiori-mcp-server.log に保存されます。
自己署名 SSL 証明書の処理
MCP サーバーから自己署名 SSL 証明書を使用する OData サーバーに接続する必要がある場合は、次のいずれかの方法を使用できます。
次のようなエラーが発生した場合に役立ちます: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@<version>", "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@<version>", "fiori-mcp"],
"env": {
"NODE_TLS_REJECT_UNAUTHORIZED": "0"
}
}
}
}
その他のリソース
テレメトリ
分析情報の収集は有効または無効にできます。デフォルトでは、Fiori MCP Server の利用状況を理解して製品を改善するために、個人を特定できない情報が使用されます。オプトアウトする場合は、テレメトリを無効にする方法が 2 つあります。
方法 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 toolからご確認いただけます。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。