Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Description from the maker (original English)
SAP Fiori - Model Context Protocol (MCP) server
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
LOG_LEVEL, SAP_UX_FIORI_TOOLS_DISABLE_TELEMETRYYou need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"fiori": {
"command": "npx",
"args": [
"-y",
"@sap-ux/fiori-mcp-server"
],
"env": {
"LOG_LEVEL": "your-value",
"SAP_UX_FIORI_TOOLS_DISABLE_TELEMETRY": "your-value"
}
}
}
}Run this in your terminal
claude mcp add fiori --env LOG_LEVEL=your-value --env SAP_UX_FIORI_TOOLS_DISABLE_TELEMETRY=your-value -- npx -y @sap-ux/fiori-mcp-serverFill in the empty values before running it.
Paste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"fiori": {
"command": "npx",
"args": [
"-y",
"@sap-ux/fiori-mcp-server"
],
"env": {
"LOG_LEVEL": "your-value",
"SAP_UX_FIORI_TOOLS_DISABLE_TELEMETRY": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"fiori": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@sap-ux/fiori-mcp-server"
],
"env": {
"LOG_LEVEL": "your-value",
"SAP_UX_FIORI_TOOLS_DISABLE_TELEMETRY": "your-value"
}
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.
Your choice stays on this device in a cookie; no account needed.
LOG_LEVEL envSAP_UX_FIORI_TOOLS_DISABLE_TELEMETRY envThese settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 9, 2026
The registry name was verified with the GitHub account SAP, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
The registry does not list a required key, though some servers ask you to sign in on first use.
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed –, and the latest version (1.15.20) reached the registry 9 days ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Node.js on your computer.
In the same category: Spec Driven Development, Remote Desktop Commander, CLIO Paraview
Servers in the same category from other makers, sorted by stars.
Reading a card:↓ Downloads per weeki★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Visualize simulation results in ParaView: load fields, then slice, contour, color and render them.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
@sap-ux/fiori-mcp-serverThis 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:
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.
For the best experience we recommend using this server alongside @cap-js/mcp-server and @ui5/mcp-server.
The server uses stdio transport and is launched via npx — no global installation required. Pick the section for your MCP client below.
Note: Replace
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@latestensures reproducible behaviour and prevents untested updates from being picked up automatically.
Option A — CLI (recommended):
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:
{
"mcpServers": { "fiori-mcp": { "type": "stdio", "timeout": 600, "command": "npx", "args": ["--yes", "@sap-ux/fiori-mcp-server@ ", "fiori-mcp"] } } }
Open the Cline extension settings and add the server under MCP Servers:
{
"mcpServers": { "fiori-mcp": { "type": "stdio", "timeout": 600, "command": "npx", "args": ["--yes", "@sap-ux/fiori-mcp-server@ ", "fiori-mcp"] } } }
Edit (or create) the MCP config file for your scope:
~/.cursor/mcp.json.cursor/mcp.json in your project root{
"mcpServers": { "fiori-mcp": { "type": "stdio", "timeout": 600, "command": "npx", "args": ["--yes", "@sap-ux/fiori-mcp-server@ ", "fiori-mcp"] } } }
Edit ~/.codeium/windsurf/mcp_config.json:
{
"mcpServers": { "fiori-mcp": { "type": "stdio", "timeout": 600, "command": "npx", "args": ["--yes", "@sap-ux/fiori-mcp-server@ ", "fiori-mcp"] } } }
For any other MCP client, use the following npx-based configuration:
{
"mcpServers": { "fiori-mcp": { "type": "stdio", "timeout": 600, "command": "npx", "args": ["--yes", "@sap-ux/fiori-mcp-server@ ", "fiori-mcp"] } } }
If you prefer not to use npx, install the package globally first:
npm install -g @sap-ux/fiori-mcp-server
Then use fiori-mcp as the command (no args needed):
{
"mcpServers": { "fiori-mcp": { "type": "stdio", "timeout": 600, "command": "fiori-mcp" } } }
The following rules help guide the AI model to use the server correctly. Add them to your system prompt or rules file:
AGENTS.md or CLAUDE.md in your project root.cursorrules in your project root.windsurfrules## Rules for creation or modification of SAP Fiori elements apps
550e8400-e29b-41d4-a716-446655440001).npm run watch-* script for the app in the package.json.
search_docsSearches 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_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_appsScans a specified directory to find existing SAP Fiori applications that can be modified.
list_sap_systemsLists 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_metadataDownloads 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_odataGenerates a new SAP Fiori UI application for OData (non-CAP) projects, for example ABAP RESTful Application Programming Model-based OData services.
generate_fiori_app_capGenerates 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:
manifest.json properties depending on the app, for example, adding a layout based on the flexibility of the programming model or enabling initial loadget_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.
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.
{
"mcpServers": { "fiori-mcp": { "type": "stdio", "timeout": 600, "command": "npx", "args": ["--yes","@sap-ux/fiori-mcp-server@ ", "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
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
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:
{
"mcpServers": { "fiori-mcp": { "type": "stdio", "timeout": 600, "command": "npx", "args": ["--yes", "@sap-ux/fiori-mcp-server@ ", "fiori-mcp"], "env": { "NODE_EXTRA_CA_CERTS": "/path/to/your/certificate.crt" } } } }
Windows Example:
"env": {
"NODE_EXTRA_CA_CERTS": "C:\\temp\\certs\\CustomCA.crt" }
macOS/Linux Example:
"env": {
"NODE_EXTRA_CA_CERTS": "/Users/username/certs/Custom_CA.crt" }
⚠️ Security Warning: Setting
NODE_TLS_REJECT_UNAUTHORIZED=0disables all SSL certificate validation and poses a significant security risk. Only use this in non-production environments.
{
"mcpServers": { "fiori-mcp": { "type": "stdio", "timeout": 600, "command": "npx", "args": ["--yes", "@sap-ux/fiori-mcp-server@ ", "fiori-mcp"], "env": { "NODE_TLS_REJECT_UNAUTHORIZED": "0" } } } }
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.
Create or change the file ~/.fioritools/telemetrysettings.json:
{
"telemetrysettings": { "telemetrySetting": { "enableTelemetry": false } } }
Set enableTelemetry to false to disable telemetry collection.
Set the environment variable SAP_UX_FIORI_TOOLS_DISABLE_TELEMETRY to true:
export SAP_UX_FIORI_TOOLS_DISABLE_TELEMETRY=true
Setting this environment variable will disable the telemetry client.
Everyone participating in this joint project is welc
Only the beginning is shown; read the rest in the repo