Skip to main content
Glama

abap_debug

Destructive

Debug ABAP programs interactively: arm line or exception breakpoints, start a program, step through code, and inspect the call stack. Variables are read-only and frames observe-only.

Instructions

ABAP debugger driver: arm breakpoints, run a program, step, inspect the stack. One session at a time; variables read-only, frames observe-only.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
runNoThe program to trigger (action="start").
stepNocontinue may end the session (status="dead" plus captured output). runToLine/jumpToLine need toLine; jumpToLine also needs server ABAP_ALLOW_DEBUG_JUMP_TO_LINE=true and confirm:"jumpToLine".
forceNostop only — force-terminates a debuggee left attached by an unclean exit (the "Debuggee already attached" error's escape hatch).
frameNo1-based stackPosition from the last STACK section. Read-only.
actionYesstart needs breakpoints+run. step needs stateId+step. stack needs stateId. frame needs stateId+frame. keepalive/stop/status need nothing.
toLineNoRequired for step="runToLine"/"jumpToLine". 1-based line in the current frame's source.
confirmNoRequired for step="jumpToLine": echo "jumpToLine". Ignored otherwise.
stateIdNoFrom the most recent start/step/stack/frame response; a stale id is refused.
breakpointsNo≥1 entry, required only for action="start". Line/exception kinds may mix; validated against SAP before arming.
Install Server

TDQS

A3.5/5.0
Behavior4/5

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

The description adds meaningful behavioral context beyond the annotations: the one-session-at-a-time constraint and the read-only/observe-only nature of variables and frames. This helps an agent understand the tool's stateful and non-mutating character. It does not contradict the annotations; while destructiveHint=true, the description does not hide that the tool can stop/force-terminate sessions, and the schema details those operations.

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 a single, tight sentence that front-loads the tool's purpose and then packs the two most important caveats into the second half. It contains no filler, unnecessary repetition of parameter names, or redundant details already present in the schema.

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 complex, stateful, 9-parameter tool with multiple actions and no output schema, the description is quite minimal. It captures the essential high-level purpose and constraints, but it does not convey the action/state model (e.g., start requires breakpoints+run, step needs stateId, responses provide stateId), which an agent must fully learn from the schema. The schema is rich enough to compensate, but the description alone leaves important operational gaps.

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 thoroughly documents all parameters, actions, and their dependencies. The description adds global context about single-session and read-only constraints, which is relevant to stateId and frame parameters, but it does not add substantial parameter-level meaning beyond the schema. A baseline score of 3 is appropriate here.

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?

The description clearly states it is an 'ABAP debugger driver' and enumerates its core actions: arm breakpoints, run a program, step, inspect the stack. This makes the tool's purpose specific and distinguishable from generic ABAP execution tools. However, it does not explicitly differentiate itself from sibling tools like abap_debug_vars or abap_debug_value, so it stops short of full sibling differentiation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives important context ('One session at a time; variables read-only, frames observe-only') but does not say when to prefer this tool over alternatives or provide exclusions. It does not mention using abap_debug_vars/abap_debug_value for variable inspection, nor warn against using this tool for non-debug program execution. The usage guidance is therefore mostly implicit and left to inference.

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/Freight-Art/abapsmith'

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