Mdk MCP Server

Model Context Protocol (MCP) server for AI-assisted development of MDK applications.

Local serverstdioGo

What is the Mdk MCP server?

Most planning and project tracking work still happens through a UI a human drives. Mdk MCP server moves it into the conversation instead. Model Context Protocol (MCP) server for AI-assisted development of MDK applications.

The short version

a. Use npm to install it from the public npmjs registry at @sap/mdk-mcp-server.

This open-source server provides AI agents with comprehensive MDK knowledge and tools. By combining best practice guidelines, project-aware context information, templates for creating new projects, and access to the MDK CLI tools, the MDK MCP server transforms AI agents into MDK development experts.

Getting it running

@sap/mdk-mcp-server on npm is all you need. Most clients run it directly, so configuration is a few lines and a restart.

The tools it exposes

The server publishes 14 tools. What each one is for:

  • scope — The scope of creation:
  • templateType — The type of template to use (crud, list detail, base). Note: base template is only valid for project scope
  • oDataEntitySets — The OData entity sets relevant to the user prompt, separated by commas
  • offline — Whether to generate the project in offline mode (only applicable for project scope). Set to false unless offline is explicitly specified. |
  • folderRootPath — The path of the current project root folder (not required for rule artifact type)
  • pageType — Type of page page):
  • controlType — The control type for databinding pages (required when pageType is databinding). Available types: ObjectTable, FormCell, KeyValue, ObjectHeader
  • layoutType — The layout type for layout pages (required when pageType is layout). Available types: Section, BottomNavigation, FlexibleColumnLayout
  • actionType — The type of action (required when artifactType is action). Available types: CreateODataEntity, UpdateODataEntity, DeleteODataEntity
  • query — Search query for rule reference (required when artifactType is rule). Examples: get app name, handle form validation, navigate to page, etc. |
  • operation — The operation to perform on the MDK project. Available operations:
  • externals — Optional: Array of external package names to include in the deployment (e.g., [@nativescript/geolocation]). If not specified, will automatically read

What it needs from you

Configuration is passed through the environment: GITHUB_TOKEN, SAP_UX_FIORI_TOOLS_DISABLE_TELEMETRY. Treat anything key-shaped as a real credential — scope it to the minimum the server needs, and rotate it if it ever lands in a shared config.

  1. MDK SDK 2. ilodata Tool: Extract from SAPOfflineOData-xx.xx.xx-Tools.zip in the MDK SDK 3. Offline Store Files: A pair of .udb and .rq.udb files from your offline application

Things to watch

  • It runs with your machine's permissions. That is convenient and also the reason to think about what you point it at before you approve a tool call.
  • With 14 tools registered it takes up a noticeable share of the context window; turn it off in projects that never touch Mdk.
  • Missing credentials fail quietly in some clients — if no tools show up, check the environment block first.
  • Keep per-call confirmation enabled while you learn its behaviour; it is the cheapest safeguard you have.

How it compares

Plenty of planning and project tracking servers cover similar ground. The differences that matter in practice are scope of access and how much setup stands between you and a working tool call. Mdk's toolset — scope, templateType, oDataEntitySets and 11 more — is a fair guide to whether it matches your workflow. It is maintained by SAP; worth a glance at recent repository activity before you build anything load-bearing on it.

SyncDev reviews every entry in this directory against the project's own documentation before publishing, and revisits them as servers change.

Available tools

ToolWhat it does
scopeThe scope of creation:
templateTypeThe type of template to use (crud, list detail, base). Note: base template is only valid for project scope.
oDataEntitySetsThe OData entity sets relevant to the user prompt, separated by commas.
offlineWhether to generate the project in offline mode (only applicable for project scope). Set to false unless offline is explicitly specified. |
folderRootPathThe path of the current project root folder (not required for rule artifact type).
pageTypeType of page page):
controlTypeThe control type for databinding pages (required when pageType is databinding). Available types: ObjectTable, FormCell, KeyValue, ObjectHeader, ContactTable, SimplePropertyCollection, ObjectCard, DataTable, KPIHeader, Pr
layoutTypeThe layout type for layout pages (required when pageType is layout). Available types: Section, BottomNavigation, FlexibleColumnLayout, SideDrawerNavigation, Tabs, Extension.
actionTypeThe type of action (required when artifactType is action). Available types: CreateODataEntity, UpdateODataEntity, DeleteODataEntity, CreateODataMedia, InitializeOfflineOData, DownloadOfflineOData, UploadOfflineOData, Can
querySearch query for rule reference (required when artifactType is rule). Examples: get app name, handle form validation, navigate to page, etc. |
operationThe operation to perform on the MDK project. Available operations:
externalsOptional: Array of external package names to include in the deployment (e.g., [@nativescript/geolocation]). If not specified, will automatically read from mdk.bundlerExternals in .vscode/settings.json of the project. Def
component_nameName of the component (required for component, property, and example operations).
property_nameName of the property (required for property operation).

How to install the Mdk MCP server

{
  "mcpServers": {
    "mdk": {
      "command": "npx",
      "args": ["-y", "@sap/mdk-mcp-server"],
      "env": {
        "GITHUB_TOKEN": "your-value",
        "SAP_UX_FIORI_TOOLS_DISABLE_TELEMETRY": "your-value"
      }
    }
  }
}

Add to claude_desktop_config.json, then restart Claude Desktop.

Configuration

  1. MDK SDK 2. ilodata Tool: Extract from SAPOfflineOData-xx.xx.xx-Tools.zip in the MDK SDK 3. Offline Store Files: A pair of .udb and .rq.udb files from your offline application
VariableDescriptionRequired
GITHUB_TOKENCredential the server authenticates with.Yes
SAP_UX_FIORI_TOOLS_DISABLE_TELEMETRYConfiguration value read at startup.Optional

Example prompts to try

  • Use Mdk to scope.
  • Use Mdk to templateType.
  • Use Mdk to oDataEntitySets.

Frequently asked questions

It connects Mdk to MCP-compatible AI assistants such as Claude and Cursor, exposing 14 tools (scope, templateType, oDataEntitySets, and more) that the assistant can call on your behalf. Instead of copying data back and forth by hand, the assistant works with Mdk directly.