Skip to main content
Glama
Hollway

mcp-abap-abap-adt-api

by Hollway

readSources

Read-only

Read ABAP source code for multiple objects in one call by name/type or source URL, with per-object error isolation and a character budget to control response size.

Instructions

Read the source of several objects in one call, by name and type or by source URL. Each object is reported on its own, so one unreadable object does not lose the rest, and the answer stops adding sources once the character budget is used up - it says which objects it did not reach.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
objectsNoObjects to read: [{name, objectType}], e.g. [{"name":"ZCL_APP","objectType":"CLAS/OC"}].
versionNoWhich version to read: "active" for what the system runs, "inactive" for the working copy (the ADT default).
sourceUrlsNoSource URLs to read instead, e.g. ["/sap/bc/adt/programs/programs/zr_app_foo/source/main"].
maxTotalCharsNoCharacter budget for the whole answer, default 80000.
maxLinesPerObjectNoKeep only the first N lines of each source.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.1

TDQS

A4.5/5.0
Behavior5/5

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

Annotations already declare readOnlyHint and non-destructive, so the description's additional disclosure of per-object independence, partial failure isolation, and character-budget truncation with explicit reporting of unreached objects adds real behavioral context. No contradiction with annotations.

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

Conciseness5/5

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

Two sentences, front-loaded with purpose and immediately followed by the most important behavioral caveats. No filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the read-only annotations and the description's coverage of input modes, partial failure, and budget behavior, an agent has enough to invoke correctly. No output schema exists, but the description explains what the answer contains (per-object reports and unreached list).

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%, so the schema fully documents all 5 parameters. The description only lightly maps 'by name and type or by source URL' to the objects and sourceUrls params, which adds little beyond the schema.

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?

States a specific verb ('Read') and resource ('source of several objects'), and distinguishes itself from single-object siblings by emphasizing batch operation ('in one call'). The two input modes (name/type or URL) are named in the first sentence.

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?

The description makes the tool's niche clear: reading multiple objects at once, which implies a batch use case. It does not explicitly name alternatives like getObjectSource or state when not to use this tool, so it stops short of full routing guidance.

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