Skip to main content
Glama
sapien47

sap-pam

by sapien47

Upgrade options for a product

pam_upgrade_options

Identify upgrade options for a SAP product version, including a released version with longer mainstream maintenance, announced versions, and strategic successor products; accepts shorthand.

Instructions

What to move to from a given SAP product version: the newest released version of the same product with longer mainstream maintenance, any announced (not yet available) version, and SAP's strategic successor product where one exists (e.g. SAP ERP -> SAP S/4HANA). Accepts shorthand like 'ECC6 ehp7' or 'BOBJ 4.3'.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
productYesProduct version, e.g. 'SAP NETWEAVER 7.4' or 'BO 4.3'

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A3.6/5.0
Behavior3/5

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

No annotations are supplied, so the description carries the full burden. It does disclose the shape and content of the result set (three categories of upgrade option, with the ERP -> S/4HANA example), which is real value in the absence of an output schema, but it says nothing about read-only nature, authentication, or behavior for an unknown/unmatched product string.

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?

One front-loaded sentence that opens with the answer to 'what does this return', followed by the three categories and a shorthand note. Dense but every clause carries information; no filler.

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?

For a one-parameter, non-mutating lookup with no output schema and no annotations, the description covers what an agent needs: what is returned, the successor-product nuance, and accepted input formats. Only minor gaps remain (no sibling routing, no statement on unknown-product behavior).

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% for the single parameter, so the baseline is 3, but the description earns an extra point by documenting input flexibility the schema does not: shorthand forms such as 'ECC6 ehp7' and 'BOBJ 4.3' are accepted, telling the agent it need not normalize to the schema's example format.

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

Purpose4/5

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

The description states a specific resource and scope: upgrade/migration targets for a given SAP product version, enumerated as three concrete categories (newest release, announced version, strategic successor). That content is distinguishable from lookup siblings like pam_get_product or pam_search_products, though those siblings are never named.

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?

Usage is implied by 'What to move to from a given SAP product version', so the agent can infer this is for upgrade-path questions rather than general product lookup. However there is no explicit when-to-use statement, no exclusions, and no routing to pam_get_product or pam_search_products.

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