Skip to main content
Glama
Hollway

mcp-abap-abap-adt-api

by Hollway

fragmentMappings

Read-only

Locate a named fragment (e.g., method, attribute) in an ABAP object and retrieve its starting line and column for quick navigation.

Instructions

Locate a named fragment of an object and get the line and column where it starts - the cheap way to find one method in a class of a few thousand lines. type is an ADT fragment type, /: CLAS/OM for a class method, CLAS/OA for an attribute. There is no working fragment type for a FORM of a report; use findInSource for that.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
urlYesObject URL, e.g. /sap/bc/adt/oo/classes/zcl_app
nameYesFragment name, e.g. the method name.
typeYesADT fragment type, e.g. CLAS/OM. Bare names such as FORM are not fragment types and the backend rejects them.

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.1

TDQS

A4.4/5.0
Behavior4/5

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

The description reveals the tool's read-only nature implicitly through 'locate', aligning with the readOnlyHint=true annotation. It adds behavioral details such as returning line and column, and explicitly states the limitation for FORM fragments, which goes beyond what annotations provide. 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?

The description is two sentences, front-loaded with the primary purpose. It includes necessary details about the type parameter and the fallback to findInSource without redundancy. Every sentence contributes to the agent's understanding, with no wasted words.

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 simple read-only query tool with three parameters, the description covers core usage, parameter format, and an important limitation. It mentions the return (line and column) and gives a concrete use case. It does not detail error handling or response format, but for this tool that is likely sufficient given the annotations and simplicity.

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 schema already describes each parameter (coverage 100%), so the baseline is 3. The description adds value by explaining the type parameter format with examples (CLAS/OM, CLAS/OA) and clarifying that FORM is not supported. It also reinforces that 'name' refers to the fragment name such as a method name, enhancing the schema description.

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's purpose: locate a named fragment and get its start line and column. It specifies the resource (object fragment) and the action (locate), and distinguishes itself from findInSource by noting that FORM fragments are not supported and that findInSource should be used instead.

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 explicitly identifies when to use this tool ('the cheap way to find one method in a class of a few thousand lines') and provides a clear alternative for a specific case ('no working fragment type for a FORM of a report; use findInSource for that'). It gives enough context for an agent to decide between this and the sibling tool, though it does not enumerate all exclusion cases.

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