Skip to main content
Glama

GetStructure

Reads an ABAP structure's definition and fields as source code or ADT metadata by name, including active or inactive versions.

Instructions

[read-only] Reads the ABAP structure named by structure_name in one request: its definition with its fields, as source code (part "source", the default; active or inactive version) or its ADT metadata document (part "metadata": package, responsible, description). Returns the part read. Recordable: in batch mode a call is recorded under the next number and answers with empty content; its answer is read by number after the batch ends.

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "structure_name": "<structure_name>"
    },
    "name": "GetStructure"
  }
}

Input Schema

NameRequiredDescriptionDefault
partNoThe document to read: "source" (default) the source code, "metadata" the ADT metadata document (package, responsible, description, ...).source
versionNoVersion of the source: "active" (default) for the deployed version, "inactive" for the modified version awaiting activation.active
structure_nameYesStructure name.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed2 schema fields changedv20.1.0
    • addedInput schema / properties / part
      Added value: +{
      +  "default": "source",
      +  "description": "The document to read: \"source\" (default) the source code, \"metadata\" the ADT metadata document (package, responsible, description, ...).",
      +  "enum": [
      +    "source",
      +    "metadata"
      +  ],
      +  "type": "string"
      +}
    • changedInput schema / properties / version / description
      Previous value: -"Version to read: \"active\" (default) for deployed version, \"inactive\" for modified but not activated version."New value: +"Version of the source: \"active\" (default) for the deployed version, \"inactive\" for the modified version awaiting activation."
  2. Changed1 schema field changedv16.0.0
    • changedInput schema / properties / structure_name / description
      Previous value: -"Structure name (e.g., Z_MY_STRUCTURE)."New value: +"Structure name."
  3. First observed

TDQS

A3.7/5.0
Behavior4/5

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

No annotations are provided, so the description carries the behavioral burden, and it does disclose the [read-only] nature, the returned artifact, and the non-obvious batch-mode behavior (recording under a number, empty content, answer read later). It omits authorization/permission requirements, which is the main remaining gap.

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?

A single front-loaded paragraph leading with [read-only] and the core action, then part/version options, then batch semantics. Dense but mostly earns its space; the batch-mode sentence is valuable but slightly tax-heavy for a simple read tool.

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 3-parameter read tool with no output schema, the description covers what is returned ('Returns the part read'), the part/version choices, and the unusual batch behavior, which is enough for correct invocation. Missing permission/error behavior is a minor gap.

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 description coverage is 100% and the part/version enums are already documented with defaults in the schema. The description largely restates those semantics (source default, active/inactive, metadata fields), so it adds only marginal value over structured data.

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 verb and resource ('Reads the ABAP structure named by structure_name') and enumerates the two content modes (source vs ADT metadata), so an agent understands exactly what it retrieves. It does not explicitly distinguish itself from siblings like GetStructuresList or GetStructureVersions, which keeps it from 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 Guidelines3/5

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

Usage is implied: call it with a known structure name, choose 'source' by default or 'metadata' for package/responsible/description. But there is no explicit 'use this instead of X when...' guidance or exclusions relative to GetStructuresList, GetStructureVersionSource, or CheckStructure.

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

Deploy Server

Other Tools