Skip to main content
Glama

SAPManage

Probe SAP system features to determine available capabilities. Manage packages (DEVC) and Fiori Launchpad catalogs, groups, and tiles based on feature availability.

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).
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?

With no annotations, the description carries the full burden for behavioral disclosure. It details that features action is cached and fast, while probe performs a round-trip with auth checks. It also warns when operations should not be attempted based on feature availability. However, it omits behavioral details for package operations (e.g., prerequisites, side effects) and does not mention rate limits or potential destructive actions.

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 well-structured with a clear opening statement, an action list, and return format details. However, it is somewhat verbose, especially the actions list which could be condensed. The front-loading of purpose is effective, but the length slightly detracts from conciseness.

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?

The description covers the probing aspect well, including return format and when not to use features. However, for package operations (create, delete, change_package), it does not describe the return values, error behavior, or any side effects. Given the tool's complexity (19 parameters, multiple domains), this omission leaves significant gaps for the agent.

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?

Parameter schema coverage is 100%, so the baseline is 3. The description adds value by grouping parameters under each action in the bullet list, making it clear which parameters are required for specific actions. This contextual grouping helps the agent select the right parameters beyond the flat schema list.

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 purpose: probing SAP system capabilities and handling package (DEVC) lifecycle operations. It uses specific verbs ('probe', 'report', 'handles') and distinguishes itself implicitly by advising use before operations that depend on optional features, which sets it apart from sibling tools that likely handle other tasks like reading or searching.

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 provides clear guidance on when to use the probe action ('on first use or if feature availability changed') and states the overall pre-check intent ('Use this BEFORE attempting operations that depend on optional features'). However, it does not explicitly mention when not to use the tool or compare it directly with siblings like SAPTransport or SAPRead, which slightly limits its completeness.

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