Skip to main content
Glama
kts982

MCP SAP GUI Server

by kts982

sap_read_shell_content

Read-only

Read text and URL content from a SAP GUI GuiShell subtype such as HTMLViewer. Use sap_get_screen_elements first to find shell element IDs.

Instructions

Read content from a GuiShell subtype (e.g., HTMLViewer).

An HTML viewer's page text and URL are readable only with the Internet Explorer browser control; with the Edge control (SAP GUI 7.70+ default, e.g. the F1 Performance Assistant) the response says so in note. Use sap_get_screen_elements first to find shell element IDs.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
shell_idYes

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.0

TDQS

A3.9/5.0
Behavior4/5

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

Annotations already declare this is a safe read (readOnlyHint=true, destructiveHint=false), so the bar is lower, and the description adds genuine behavioral context: content is only readable with the IE browser control, and the Edge control path (SAP GUI 7.70+ default) returns an explanatory `note` instead. This platform-dependent behavior is valuable disclosure beyond structured fields.

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?

Front-loads the purpose, then the platform caveat, then the prerequisite — a logical order. Three sentences with no filler, though the middle sentence is dense with parenthetical asides.

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?

An output schema exists (so return values like `note` need not be explained), and annotations cover the safety profile. The description adds the platform limitation and the ID-source prerequisite, making it largely complete for a one-parameter read tool, with only the ID format left implicit.

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 coverage is 0% for the single `shell_id` parameter, so the description must carry the load. It partially compensates by pointing to sap_get_screen_elements as the source of valid IDs, but never describes the ID format or type, leaving a real gap for the only parameter.

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?

States a specific verb (Read) and resource (content from a GuiShell subtype such as HTMLViewer), which distinguishes it from sibling read tools like sap_read_field, sap_read_textedit, and sap_read_tree that target other UI element types. It does not explicitly name a competing sibling, so it falls just short of a 5.

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?

Gives a concrete prerequisite workflow: 'Use sap_get_screen_elements first to find shell element IDs,' and explains the runtime condition under which content is actually readable (IE control vs Edge control). It omits explicit when-not/alternative guidance for reading shell content versus other read tools, so it is clear context rather than a full routing rule.

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