abap-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| --host | No | Host to bind to when running over HTTP (e.g. 0.0.0.0). | |
| --http | No | Run the server over HTTP instead of stdio. The endpoint is /mcp. | |
| --port | No | Port to bind to when running over HTTP (e.g. 8000). | |
| --root | Yes | Path to the abapGit repository root that the server should serve (e.g. /path/to/abap/repo or ${workspaceFolder}). |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_objectsB | List the ABAP objects (classes, interfaces, programs...) in an abapGit folder. Args: path: Project folder relative to the workspace root. |
| outline_objectB | Describe a class or interface: methods with visibility and signature, attributes, test classes, and the line range of every method body. Args: object_name: Object name, e.g. ZCL_ORDER_TOTAL. path: Project folder relative to the workspace root. |
| check_conventionsA | Review ABAP against Clean ABAP conventions. Fast and needs no Node.js. Pass either Args: source: ABAP source text to review. object_name: Name of an object in the workspace to review instead. path: Project folder relative to the workspace root. max_method_statements: Statement limit for a single method. |
| lintA | Run abaplint static analysis (syntax, types, obsolete code, naming). Lints Args: source: ABAP source text to lint instead of a project. path: Project folder relative to the workspace root. |
| run_testsA | Run the ABAP Unit tests of a project that executes them on Node.js
(abaplint transpiler + open-abap), via Args: path: Project folder containing package.json. install: Reinstall npm dependencies before testing. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| rule_catalog | Every convention rule check_conventions applies, with its style guide section. |
TDQS
Scored across 5 tools
list_objects (enumerate) and outline_object (describe one object) are clearly distinct, and run_tests is unambiguous. The only real overlap is check_conventions vs lint, both static-quality checks, though the descriptions differentiate them (Clean ABAP style-guide findings vs abaplint syntax/type/naming analysis).
Four of five tools follow a predictable verb_noun snake_case pattern (list_objects, outline_object, check_conventions, run_tests). 'lint' is a bare verb that breaks the pattern slightly but is still conventional and readable.
Five tools is a lean but reasonable surface for a read-only ABAP analysis server, and each tool has a distinct role. It sits slightly on the thin side, but nothing feels redundant or missing at the count level.
The analysis workflow (discover, outline, style-check, lint, test) is well covered for a read-only server. Minor gaps remain: no way to fetch an object's raw source and no object/code search, which agents can partially work around via outline_object and lint's source argument.