Skip to main content
Glama
par4987

@pired/sap-fiori-mcp-server

by par4987

Execute a modification functionality (step 3/3)

execute_functionality
Destructive

Modify an existing SAP Fiori app by adding or deleting pages, adding controller extensions, enabling FCL or initial load, or updating manifest.json properties.

Instructions

Executes a modification on an existing SAP Fiori application: adds/deletes pages, adds controller extensions, enables FCL or initial load, or updates manifest.json properties.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
paramsNoParameters required by the functionality (see get_functionality_details)
appPathYesAbsolute path to the app folder
functionalityIdYesFunctionality id

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
changedYes
createdYes
messageYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.26.1

TDQS

A3.9/5.0
Behavior3/5

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

Annotations already declare destructiveHint=true, readOnlyHint=false, and idempotentHint=false, so the mutation profile is established. The description adds some operation-level context, such as deleting pages and updating manifest.json, which is consistent with the annotations. However, it does not disclose additional behavioral details like filesystem effects, reversibility, or required permissions; with the annotation coverage present, a 3 is appropriate.

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?

A single front-loaded sentence begins with the action and target, then uses a colon-separated list of supported operations. There is no filler or redundant restatement of the tool name. The length is proportionate to the tool's complexity.

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

Completeness3/5

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

With an output schema, strong annotations, and full schema parameter coverage, the description covers the core operation scope. However, it omits workflow guidance: it never explicitly tells the agent to call get_functionality_details first to resolve params, despite that being a clear dependency for correct invocation. The safety profile is covered by annotations, but the execution workflow is under-specified.

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

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3: appPath and functionalityId are documented and the enum values are explicit. The description paraphrases the functionalityId enum values at a high level, adding slight clarification but no major semantic information beyond the schema. The nested params object is intentionally left to get_functionality_details, which the schema references.

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 states a specific verb and resource: 'Executes a modification on an existing SAP Fiori application' and enumerates the exact supported operations. This clearly differentiates it from read-only siblings like get_functionality_details and list_functionality, as well as creation tools like create_ui5_app. The title's 'step 3/3' adds workflow context, but the description is independently clear.

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

Usage Guidelines4/5

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

The description gives clear context by limiting the tool to existing applications and listing the mutation operations it performs, which routes an agent toward this tool for modification tasks. It does not explicitly name alternatives or state when not to use it, but the 'existing app' qualifier and operation list provide enough placement guidance. The prerequisite of fetching parameters via get_functionality_details is only implied by the schema, not the description.

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