Skip to main content
Glama

abap_ui

Read-onlyIdempotent

Drive classic SAP dynpro screens via batch input to read a screen or execute a scripted transaction.

Instructions

Drive classic SAP dynpro screens via batch input: read one screen, or run a scripted transaction. LOCKED on this server: ABAP_ALLOW_WRITE does not enable writes, and ABAP_MODE is not set, so that variable is what decides it. Set ABAP_ALLOW_WRITE=true (ABAP_ALLOW_PACKAGES is optional — it narrows the default, which is every package). Calling it returns a refusal and sends nothing to the SAP system.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.5.6

TDQS

B3.1/5.0
Behavior3/5

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

Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false. The description adds genuinely new context ('LOCKED on this server', 'returns a refusal and sends nothing to the SAP system'), but it is internally confusing and self-contradictory — it first says ABAP_ALLOW_WRITE does not enable writes, then instructs 'Set ABAP_ALLOW_WRITE=true' — so the added value is diluted.

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

Conciseness2/5

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

The first sentence is well front-loaded, but the remaining env-var sentences are jumbled, repetitive, and self-contradictory ('ABAP_ALLOW_WRITE does not enable writes' vs 'Set ABAP_ALLOW_WRITE=true'). They consume space without conveying a coherent, actionable instruction.

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?

For a parameterless tool with no output schema the bar is low, and the description does convey that the tool is locked and returns nothing. However, the muddled env-var discussion leaves the agent unclear about whether the tool does anything at all, and it never explains the two stated modes (read screen vs run transaction) under the locked state.

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?

The tool takes zero parameters, and schema coverage is 100%, so there is no parameter semantics for the description to carry. Baseline of 4 for a parameterless tool is appropriate.

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 opening sentence gives a specific verb and resource ('Drive classic SAP dynpro screens via batch input') plus the two modes ('read one screen, or run a scripted transaction'), which lets an agent distinguish it from siblings like abap_read or abap_run. It is somewhat muddied by the subsequent environment-variable paragraph, but the core purpose is stated clearly.

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

Usage Guidelines2/5

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

There is no explicit guidance on when to choose this over sibling tools such as abap_read, abap_run, or abap_fluid. The only usage-relevant statement is that calls are refused on this server, which is a behavioral caveat rather than directional guidance.

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