Skip to main content
Glama

CheckSyntax

Validate ABAP source code syntax and get detailed error information. Accepts file paths, direct source code, or existing object names for flexible checking.

Instructions

Check ABAP source code syntax and return detailed error information. Supports three input modes: file_path (from tmp folder), source_code (direct code), or object_name (existing object). Priority: file_path > source_code > object_name.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
file_pathNoPath to ABAP source file to check. Defaults to tmp folder for relative paths (e.g., "ZCL_MY_CLASS.abap"). Supports absolute paths. Auto-detects class name from filename.
object_nameNoName of the ABAP object. If file_path and source_code not provided, will fetch source from this existing class. Also used for file_path when class name cannot be auto-detected.
object_typeNoOptional ABAP object type (CLAS, PROG, FUGR, etc. - auto-detected if not provided)
source_codeNoABAP source code to check for syntax errors (used if file_path not provided)

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv1.1.0

TDQS

A3.5/5.0
Behavior3/5

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

With no annotations, the description must carry the burden. It does disclose the return behavior (detailed error information) and the three input modes, which is useful. However, it never states that this is a non-mutating check with no side effects on the ABAP system, nor any auth or timeout constraints.

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 followed by the mode/priority rule. Every clause carries information and there is no filler.

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

Completeness3/5

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

For a 4-parameter tool with no annotations and no output schema, the description covers purpose, input modes, and output type. It leaves the safety profile (read-only, no activation) and validation failure behavior unspecified, which the absent annotations leave unaddressed.

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 coverage is 100%, so each parameter is already documented with its own guidance, including the same precedence rules the description restates. The description adds no syntax, format, or example detail beyond the schema, so the baseline 3 applies.

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: 'Check ABAP source code syntax and return detailed error information.' That is clearly distinct from siblings like RunATC (ATC check runs) or GetProgram (retrieval). It stops short of naming a sibling explicitly, but the resource/verb pairing is unambiguous.

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?

It explains the three input modes and their precedence, which guides invocation, but it never says when to prefer this tool over RunATC or a source-fetch tool, nor any prerequisites. Usage is implied by the input-mode rules rather than stated as a selection criterion.

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