Skip to main content
Glama
kts982

MCP SAP GUI Server

by kts982

sap_read_list

Read-only

Reads classic ABAP list pages as plain text lines, capturing visible rows and optional line IDs for focus. Use when a report displays a plain list or F4 hit list instead of an ALV grid.

Instructions

Read a classic ABAP list (WRITE output of a report) as lines of text.

Use it when a report shows a plain list rather than an ALV grid (program SAPMSSY0, screen 120), and for F4 hit lists in a popup (window_id= 'wnd[1]'). Such a list has no table object: every word is its own label, so sap_get_screen_elements returns ~500 elements for one page. This returns the page as the lines the user sees, with no screenshot needed.

  • colors: rows whose text has a semantic list colour, e.g. 'negative' (red, errors), 'positive' (green), 'total', 'heading'

  • scroll: present when the list is longer than the page; pass scroll_to=position+page_size to read the next page

  • with_ids=true adds the ID of each line's first label, to set the focus on a line (sap_set_focus) before F2 / double-click

  • is_list=false means this screen has no list: use sap_read_table

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
with_idsNo
max_linesNo
scroll_toNo
window_idNownd[0]

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.4.0

TDQS

A4.5/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is known. The description adds useful behavioral context: it returns lines without screenshots, explains the 'no table object' behavior (every word is a label), and describes scroll semantics (scroll_to=position+page_size). This goes beyond what annotations provide, though it doesn't mention return structure details (output schema exists, so that's covered).

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, a use-case context paragraph, and a bulleted list of key features. It front-loads the main purpose and then details specifics. Slightly verbose in the second paragraph but each sentence adds value; the bullet list makes it easy to scan.

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?

Given there is an output schema (not shown) and annotations covering safety, the description is largely complete. It covers usage context, parameters, color handling, scrolling, and focus. The only minor gap is not explicitly stating what happens with max_lines (e.g., truncated output), but this is likely inferable from the output schema.

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 description coverage is 0%, so the description must explain parameters, and it does. It explains with_ids (adds line IDs for focus setting), scroll_to (for pagination), and window_id (default wnd[0], but example shows wnd[1] for popup). max_lines is implied but not explicitly described; still, the coverage is strong.

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 reads a classic ABAP list as lines of text, specifies the exact input type (WRITE output, SAPMSSY0 screen 120), and distinguishes it from ALV grids and other list-like structures. It also explicitly differentiates from sap_read_table and sap_get_screen_elements, making its purpose unambiguous.

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

Usage Guidelines5/5

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

The description explicitly explains when to use this tool (plain lists, F4 hit lists) and when not to use it (is_list=false means use sap_read_table). It also provides concrete guidance on scrolling, colors, and focus setting, covering both use cases and exclusions.

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