Skip to main content
Glama
par4987

@pired/sap-fiori-mcp-server

by par4987

Scaffold a new UI5 freestyle application

create_ui5_app

Creates a UI5 freestyle app from templates (basic, worklist, master-detail, fcl, tabs) and generates all project files. Fails if target folder exists to prevent overwriting.

Instructions

Creates a new UI5 freestyle app from templates: 'basic' (single page), 'worklist' (searchable table + object page, OData V2), 'master-detail' (FCL, 2 columns), 'fcl' (Flexible Column Layout with column routing) or 'tabs' (IconTabBar page). Generates manifest.json, Component.js, views, controllers, i18n, index.html, ui5.yaml and package.json. Fails if the target folder already exists.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameYesApp name / folder name, e.g. 'shop'
titleYesApp title
templateNoTemplatebasic
namespaceNoApp id namespace, e.g. 'my.company'ns
serviceUriNoOData service URL for worklist/master-detail/fcl templates
targetPathNoFolder where the app folder is created (default workspace root)
ui5VersionNoUI5 version for bootstrap and minUI5Version (default 1.120.0)

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
appPathYes
nextStepsNo
createdFilesYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.26.1

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations provide no hints (all false), so the description carries the burden. It discloses a key behavioral trait: 'Fails if the target folder already exists.' It also details the generated files, giving a clear picture of side effects. However, it does not mention that certain templates require serviceUri or any network/permission dependencies, which is a minor gap but not critical given no annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three compact sentences: first states purpose and templates with inline explanations, second lists generated files, third states the failure condition. It is front-loaded with the core purpose and template options, and every sentence adds distinct information without redundancy. No filler or unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description is complete enough for an agent to decide whether to invoke it: it covers the tool's scope (freestyle apps), lists templates, generated files, and failure behavior. An output schema exists (per signal) for return values. While it does not detail when to choose each template, the schema and inline notes cover parameter needs (e.g., serviceUri's purpose is in schema). Minor gaps remain about prerequisites or environment, but these are not essential for successful invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so parameters are documented. The description adds value by explaining template meanings (e.g., 'master-detail' as 'FCL, 2 columns') and noting the failure condition related to targetPath. This enriches the schema's dry descriptions, e.g., clarifying that worklist is OData V2. It does not repeat parameter details but adds contextual semantics.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Creates a new UI5 freestyle app' and lists specific template types with brief explanations (e.g., 'worklist' as 'searchable table + object page, OData V2'). It also enumerates the generated artifacts (manifest.json, Component.js, etc.), making the scope unambiguous. It distinguishes from sibling generation tools by focusing on freestyle apps, though it does not name alternatives directly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage (for creating freestyle UI5 apps) but does not explicitly state when to use this tool versus siblings like generate_fiori_app_odata or generate_fiori_app_cap. It provides no exclusions or guidance on selecting between templates beyond naming them. The context suggests it is for freestyle apps, but explicit comparisons with alternatives are absent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.