Skip to main content
Glama

SAPManage

Destructive

Probe SAP systems for feature availability and handle package creation/deletion.

Instructions

Probe and report SAP system capabilities. Use this BEFORE attempting operations that depend on optional features (abapGit, RAP/CDS, AMDP, HANA, UI5/Fiori, CTS transports, FLP customization). Also handles package (DEVC) lifecycle operations.

Actions:

  • "features": Get cached feature status from last probe (fast, no SAP round-trip). Returns which features are available, their mode (auto/on/off), and when they were last probed.

  • "probe": Re-probe the SAP system now (runs feature probes, auth checks, and ADT discovery refresh). Use this on first use or if you suspect feature availability has changed.

  • "cache_stats": Show object cache health and warmup state.

  • "flp_list_catalogs": List FLP business catalogs.

  • "flp_list_groups": List FLP groups.

  • "flp_list_tiles": List tiles in a catalog (requires "catalogId").

  • "create_package": Create a package (DEVC) via ADT packages API.

  • "delete_package": Delete an existing package.

  • "flp_create_catalog": Create a business catalog (requires "domainId", "title").

  • "flp_create_group": Create a group (requires "groupId", "title").

  • "flp_create_tile": Create a tile in a catalog (requires "catalogId", "tile").

  • "flp_add_tile_to_group": Add a catalog tile to a group (requires "groupId", "catalogId", "tileInstanceId").

  • "flp_delete_catalog": Delete a business catalog (requires "catalogId").

Returns JSON with features, each having: id, available (bool), mode, message, and probedAt timestamp. Also returns systemType ("btp" or "onprem") for understanding available capabilities. "available: false" means do NOT attempt operations that depend on it.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
actionYesAction to execute. Read actions: features, probe, cache_stats, flp_list_catalogs, flp_list_groups, flp_list_tiles. Mutating package/FLP actions require writable safety config and write scope in authenticated mode.
nameNoPackage name (required for create_package and delete_package).
descriptionNoPackage description (required for create_package).
superPackageNoParent package for create_package (defaults to empty root package).
softwareComponentNoSoftware component for create_package (default: LOCAL).
transportLayerNoTransport layer for create_package (optional; required by some transportable landscapes).
recordChangesNoWhether the created package records object changes in transport requests. Defaults to true for non-LOCAL software components or when a transport layer is set; false for literal LOCAL packages.
packageTypeNoPackage type for create_package (default: development).
transportNoOptional transport request (corrNr) for create_package, delete_package, or change_package.
objectUriNoADT URI of the object to move (e.g., /sap/bc/adt/oo/classes/zcl_my_class). If not provided, resolved automatically from objectName + objectType via search.
objectTypeNoADT object type (e.g., CLAS/OC, DDLS/DF, PROG/P). Required for change_package.
objectNameNoObject name to move (e.g., ZCL_MY_CLASS). Required for change_package.
oldPackageNoCurrent package of the object. Required for change_package.
newPackageNoTarget package to move the object to. Required for change_package.
catalogIdNoFLP catalog identifier — accepts either full ID (X-SAP-UI2-CATALOGPAGE:MY_CAT) or domain ID (MY_CAT). Required for flp_list_tiles, flp_create_tile, flp_add_tile_to_group, flp_delete_catalog.
groupIdNoFLP group/page identifier (required for flp_create_group, flp_add_tile_to_group).
titleNoTitle for FLP catalog/group creation.
domainIdNoDomain ID for FLP catalog creation (e.g., ZARC1_SALES).
tileInstanceIdNoTile instance ID in the source catalog (required for flp_add_tile_to_group).
tileNoTile definition for flp_create_tile.
Behavior4/5

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

Annotations indicate destructive potential, and the description adds important context: mutations require writable safety config and write scope. It also warns that 'available: false' means not to attempt dependent operations. This goes beyond the annotation flag to explain the behavior.

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

Conciseness4/5

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

The description is front-loaded with a clear purpose sentence and then organized into bullet-point actions. It is reasonably concise given the number of actions (12), but some internal repetition exists (e.g., mentioning return values only for feature actions). Overall well-structured.

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

Completeness2/5

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

The tool has 20 parameters and no output schema. The description explains return format only for the feature-probe actions (features, probe, cache_stats). For the other nine actions (mutations and FLP queries), no return type or expected response is provided. This leaves the agent unaware of what to expect after creation or deletion. Error handling and prerequisites (beyond writable config) are also absent.

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?

With 100% schema coverage, the baseline is 3. The description adds value by grouping parameters by action and indicating which are required for specific actions (e.g., catalogId for flp_list_tiles). This helps an agent understand parameter usage context beyond individual descriptions.

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 dual role: probing SAP system capabilities and managing package/FLP lifecycle. It distinguishes from sibling tools like SAPRead and SAPSearch by emphasizing proactive probing before dependent operations. The verb 'Manage' is appropriately reflected in the listed actions.

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 explicitly advises using this tool before operations that depend on optional features, providing a clear use case. However, it does not explicitly state when not to use it or compare to siblings for read-only package queries. The guidance is strong but could be more exhaustive.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/marianfoo/arc-1'

If you have feedback or need assistance with the MCP directory API, please join our Discord server