Skip to main content
Glama

GetIncludesList

Recursively discover and list every include file in an ABAP program, include, function group, or class by object name and type to map the include tree.

Instructions

[read-only] Recursively discover and list ALL include files within an ABAP program or include. Takes object_name and object_type (one object: its tree) or objects (several objects: one entry per object, in the order given, each { object_name, object_type, tree } or { object_name, object_type, error }). Runs on an ABAP session of its own. Optional timeout (seconds): when it passes, the read is cancelled, its ABAP session logged off, and the system stays as it was. Set it below your MCP client's request limit — the TypeScript SDK's client cancels at 60 s; a client's cancel ends only the client's wait, and SAP runs the read on. Runs outside batch mode.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "GetIncludesList"
  }
}

Input Schema

NameRequiredDescriptionDefault
objectsNo[read-only] Several objects, read together (give this or object_name and object_type)
timeoutNoSeconds to wait for the answer: a whole number, at least 1, no default — without it the call waits until SAP answers. When it passes, the read is cancelled (its ABAP session is logged off) and the call answers that nothing was changed. Set it below your MCP client's request limit — the TypeScript SDK's client cancels at 60 s; a cancel does nothing to SAP.
detailedNo[read-only] If true, returns structured JSON with metadata and raw XML.
object_nameNoName of the ABAP program or include (with object_type; or give objects)
object_typeNo[read-only] ADT object type of the parent. Only these four values are supported: 'PROG/P' (program), 'PROG/I' (include), 'FUGR' (function group), 'CLAS/OC' (class). Any other value is rejected by the schema.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed7 schema fields changedv20.1.0
    • changedInput schema / properties / object_name / description
      Previous value: -"Name of the ABAP program or include"New value: +"Name of the ABAP program or include (with object_type; or give objects)"
    • addedInput schema / properties / objects
      Added value: +{
      +  "description": "[read-only] Several objects, read together (give this or object_name and object_type)",
      +  "items": {
      +    "properties": {
      +      "object_name": {
      +        "description": "Name of the ABAP program or include",
      +        "type": "string"
      +      },
      +      "object_type": {
      +        "description": "ADT object type: 'PROG/P', 'PROG/I', 'FUGR' or 'CLAS/OC'",
      +        "enum": [
      +          "PROG/P",
      +          "PROG/I",
      +          "FUGR",
      +          "CLAS/OC"
      +        ],
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "object_name",
      +      "object_type"
      +    ],
      +    "type": "object"
      +  },
      +  "type": "array"
      +}
    • changedInput schema / properties / timeout / description
      Previous value: -"[read-only] Timeout in ms for each ADT request."New value: +"Seconds to wait for the answer: a whole number, at least 1, no default — without it the call waits until SAP answers. When it passes, the read is cancelled (its ABAP session is logged off) and the call answers that nothing was changed. Set it below your MCP client's request limit — the TypeScript SDK's client cancels at 60 s; a cancel does nothing to SAP."
    • addedInput schema / properties / timeout / maximum
      Added value: +2147483
    • addedInput schema / properties / timeout / minimum
      Added value: +1
    • changedInput schema / properties / timeout / type
      Previous value: -"number"New value: +"integer"
    • removedInput schema / required
      Removed value: -[
      -  "object_name",
      -  "object_type"
      -]
  2. Addedv9.0.0
  3. Removedv8.12.1
  4. Changed1 schema field changedv6.11.0
    • changedInput schema / properties / object_type / description
      Previous value: -"[read-only] ADT object type (e.g. PROG/P, PROG/I, FUGR, CLAS/OC)"New value: +"[read-only] ADT object type of the parent. Only these four values are supported: 'PROG/P' (program), 'PROG/I' (include), 'FUGR' (function group), 'CLAS/OC' (class). Any other value is rejected by the schema."
  5. First observed

TDQS

A4.2/5.0
Behavior5/5

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

With no annotations, the description carries the full burden and does: it declares read-only, states the read runs on its own ABAP session, explains that timeout cancels the read and logs off the session leaving the system unchanged, distinguishes a client-side cancel from a server-side cancel, and notes it runs outside batch mode.

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 [read-only] tag and the verb+resource, then layers mode selection, timeout, and batch-mode notes. Dense but every sentence carries information; the timeout explanation is somewhat verbose and duplicated in the schema.

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?

No output schema exists, so description must convey returns; it describes the multi-object return shape and the detailed=true variant (structured JSON with metadata and raw XML) but says only 'its tree' for the single-object mode, leaving the exact listing format slightly underspecified. Overall adequate for a 5-parameter read tool.

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 coverage is 100%, so the baseline is 3, but the description adds real meaning beyond the schema: it explains the return shape for the objects array (one entry per object, in order given, each with tree or error) and the client-vs-server timeout interaction. The timeout text largely restates the schema's own description, capping it at 4.

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 and resource with scope: 'Recursively discover and list ALL include files within an ABAP program or include.' An agent can tell this is a recursive include-hierarchy read, distinct from siblings like GetInclude or ListFunctionGroupIncludes. It does not name any sibling explicitly, so it stops 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?

Clearly explains the two calling modes (single object via object_name+object_type vs several via objects) and when to set a timeout, including the caveat to keep it below the MCP client's request limit. It gives no explicit exclusions or named alternatives, so 4 rather than 5.

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