Skip to main content
Glama

Syntax-Check ABAP Object

sap_syntax_check
Read-onlyIdempotent

Run an ABAP syntax check on programs, includes, classes, interfaces, or functions to retrieve errors, warnings, and info messages before activation. Supports active or inactive versions.

Instructions

Run an ABAP syntax check (check run) against an object and return errors, warnings, and info messages.

Args:

  • object_type ('program'|'include'|'class'|'interface'|'function').

  • object_name (string).

  • function_group (string): required for functions.

  • version ('active'|'inactive', default 'active').

  • response_format ('markdown' | 'json').

Returns (json): { objectType, objectName, version, errorCount, warningCount, messages: [{type, text, uri?}] }.

Examples:

  • After editing inactive source -> version='inactive' to validate before activation. Error Handling:

  • 404 -> object/version not found.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
versionNoWhich version to check: 'active' (saved/activated) or 'inactive' (latest edited).active
object_nameYesObject name.
object_typeYesObject kind to check.
function_groupNoRequired when object_type='function'.
response_formatNoOutput format: 'markdown' (human-readable, default) or 'json' (structured).markdown
Install Server

TDQS

A3.9/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true and idempotentHint=true, so the description doesn't need to restate safety. The description adds useful details: it returns error/warning/info messages, and 404 indicates object/version not found. However, it doesn't disclose details like response size limits, whether markdown is formatted for chat, or what the URI in messages refers to.

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?

The description is compact and front-loaded: the first sentence states the core purpose, followed by args, return format, example, and error handling. The structured layout helps parsing. It could be slightly tighter, but there is no fluff.

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 read-only check tool with 100% param coverage and a return schema embedded in the description, this is complete enough. The output structure is spelled out. Minor gaps: no mention of how markdown output looks, no pagination/limit behavior, and no explicit note about requiring an active SAP connection, though siblings imply that.

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 already documents all parameters. The description adds the function_group requirement and the version='inactive' validation scenario, but doesn't add much beyond the schema's own descriptions.

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 that the tool runs an ABAP syntax check against an object and returns errors, warnings, and info messages. The list of object types and the example use case (validating inactive source before activation) distinguish its purpose from sibling tools like sap_activate or sap_atc_run.

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 gives a concrete example of when to use version='inactive', which is a clear usage signal. It does not explicitly name sibling alternatives or state when not to use this tool, but the context of syntax checking is clear enough relative to siblings like sap_atc_run, sap_where_used, or sap_get_source.

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

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/appmaster3000/sap-abap-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server