Phani Puttabakula - Jun 02, 2026
17 MCP Tools for ABAP: How ABAPer Turns Claude into Your SAP Pair-Programmer
The Model Context Protocol (MCP) is Anthropic’s open standard for connecting AI assistants to external data sources and tools. Instead of pasting code into a chat window and manually copying fixes back, MCP lets an AI assistant like Claude read objects directly from your SAP system, make changes, and activate them โ all within a single conversation.
ABAPer’s MCP server (abaper-mcp v0.9.0) exposes 17 tools and 7 pre-built prompts to any MCP-compatible AI assistant. This post explains the architecture, walks through each tool group, and shows practical workflows that eliminate hours of repetitive SAP work.
What Is MCP and Why Does It Matter for ABAP?
MCP defines a standard client-server protocol where an AI assistant (the MCP client) can discover and invoke capabilities exposed by an MCP server. The server declares its tools โ typed function signatures with descriptions โ and the client decides when to call them based on the conversation.
For ABAP development, this matters for a specific reason: ABAP code lives in a SAP system, not in a local file system. Traditional AI coding assistants work well when your code is in a Git repository they can read. SAP is different. You cannot git clone your ABAP system. You need a protocol-aware adapter.
abaper-mcp is that adapter. It bridges Claude (or any MCP client) to your SAP system’s ABAP repository via the SAP ADT REST API. When you ask Claude to “review my ZCL_FINANCE_POSTING class,” it does not need you to paste the source โ it reads it directly from SAP.
Architecture
The MCP server sits between the AI assistant and SAP. It does not communicate with SAP directly; instead, it proxies requests through abaper-ts, a TypeScript/Express REST proxy that handles SAP ADT session management, CSRF token negotiation, and response normalization.
flowchart LR
subgraph AI["AI Assistant"]
CLAUDE["Claude Desktop\n(MCP Client)"]
end
subgraph MCP["abaper-mcp v0.9.0"]
SERVER["MCP Server\n17 tools + 7 prompts"]
RESOURCES["Resources\nabap:// URI scheme"]
end
subgraph PROXY["abaper-ts v1.1.0"]
EXPRESS["Express REST Proxy\n/api/v1/*"]
SESSION["Session Manager\n(CSRF tokens)"]
end
subgraph SAP["SAP System"]
ADT["SAP ADT REST API\n/sap/bc/adt/*"]
REPO["ABAP Repository"]
TRANSPORT["Transport Manager"]
end
CLAUDE <-->|MCP protocol\n(stdio)| SERVER
SERVER <-->|REST calls\nJSON| EXPRESS
SESSION <-->|manages| EXPRESS
EXPRESS <-->|HTTP + XML\nbasic auth| ADT
ADT <-->|reads/writes| REPO
ADT <-->|creates/reads| TRANSPORTThe separation between abaper-mcp and abaper-ts keeps concerns clean: the MCP server handles protocol translation and tool dispatch, while abaper-ts handles the SAP-specific HTTP complexity. You can also call abaper-ts independently from other tools or scripts.
The 17 Tools
The tools fall into four groups. Each tool is described to the AI with its parameters and purpose, so Claude can decide autonomously which tools to chain together for a given task.
Object Tools (7)
These tools cover the full lifecycle of an ABAP repository object.
| Tool | What it does |
|---|---|
get-object |
Read source code for any ABAP object by name and type |
search-objects |
Query the repository by name pattern and object type |
list-packages |
List packages, optionally scoped to a parent package |
create-object |
Create a new ABAP object (program, class, interface, etc.) with initial source |
update-object |
Write new source to an existing object |
activate-object |
Activate an object to make changes effective in the system |
test-connection |
Verify connectivity to the SAP system and report ADT version |
These seven tools alone enable a complete write-activate loop from a conversation. Claude can read an object, propose changes, write them back, and activate โ without you touching SAP GUI or ADT.
Development Tools (4)
| Tool | What it does |
|---|---|
syntax-check |
Run a syntax check on source code and return diagnostics |
format-code |
Apply SAP’s Pretty Printer formatting to ABAP source |
run-unit-tests |
Execute ABAP unit tests for an object and return results |
analyze-s4-remediation |
Scan source for S/4HANA compatibility issues and suggest fixes |
analyze-s4-remediation deserves special attention. S/4HANA migration is one of the most labor-intensive ABAP projects any SAP shop undertakes. This tool encodes S/4HANA compatibility rules โ deprecated statements, obsolete SELECT patterns, removed function modules โ and applies them to ABAP source, returning structured findings with suggested replacements.
Transport Tools (3)
| Tool | What it does |
|---|---|
transport-info |
Get metadata for a transport request by ID |
create-transport |
Create a new workbench or customizing transport |
create-and-activate |
Create an object, assign it to a transport, and activate in one step |
create-and-activate is the tool you’ll use most in development workflows. It composes three underlying operations โ create, transport assignment, activation โ into a single idempotent call that Claude can invoke reliably.
S/4HANA Workflow Tools (3)
| Tool | What it does |
|---|---|
s4-batch-analyze |
Run S/4HANA compatibility analysis across an entire package |
s4-workflow-status |
Check the status of a long-running S/4 analysis job |
s4-workflow-result |
Retrieve the completed results of an S/4 analysis job |
s4-batch-analyze is designed for package-level migration assessment. Because analyzing hundreds of objects takes time, it starts an async job and returns a workflow ID. You poll with s4-workflow-status and retrieve with s4-workflow-result. In a Claude conversation, you can ask Claude to start the analysis, wait for completion, and summarize the results โ all in one conversation turn.
The 7 AI Prompts
Beyond tools (which are invoked programmatically), abaper-mcp also exposes seven pre-built prompts. Prompts are pre-configured instructions that tell Claude how to approach a specific type of task. They appear in Claude Desktop as slash commands or template options.
| Prompt | Purpose |
|---|---|
analyze-abap |
Deep structural analysis of an ABAP object: design patterns, dependencies, complexity |
review-abap |
Code review focused on correctness, style, and best practices |
optimize-abap |
Performance optimization: SELECT tuning, loop refactoring, buffering |
document-abap |
Generate comprehensive inline documentation and method-level comments |
test-abap |
Generate ABAP unit test classes for existing code |
refactor-abap |
Propose refactoring to modern ABAP syntax and patterns |
explain-abap |
Plain-language explanation of what a piece of ABAP code does |
The prompts instruct Claude to use the appropriate tools automatically. For example, the review-abap prompt instructs Claude to call get-object to fetch the source, syntax-check to verify it, and then provide a structured review. You trigger the workflow by selecting the prompt โ Claude handles the tool calls.
MCP Resources: The abap:// URI Scheme
abaper-mcp also exposes ABAP repository objects as MCP resources, addressable via a URI scheme:
abap://program/ZMYREPORT
abap://class/ZCL_FINANCE_POSTING
abap://interface/ZIF_PAYMENT_PROCESSOR
abap://functiongroup/ZMATERIAL_FGMCP resources allow Claude to access object source as structured context, separate from tool calls. This means Claude can hold multiple ABAP objects in its context simultaneously and reason across them โ for example, comparing an interface definition against its implementing class, or checking whether a program’s SELECT statements are compatible with the fields actually defined in a table.
Setup with Claude Desktop
Prerequisites
- A running
abaper-tsinstance connected to your SAP system. abaper-mcpinstalled (check the abaper-mcp releases page for the latest binary).- Claude Desktop installed.
Configuration
Open Claude Desktop’s configuration file at ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) and add the abaper-mcp server:
{
"mcpServers": {
"abaper": {
"command": "/usr/local/bin/abaper-mcp",
"args": ["--stdio"],
"env": {
"ABAPER_TS_URL": "http://localhost:3000",
"ABAPER_SAP_HOST": "https://dev.sap.company.com",
"ABAPER_SAP_CLIENT": "100",
"ABAPER_SAP_USER": "DEVELOPER",
"ABAPER_SAP_PASS": "secret"
}
}
}
}Restart Claude Desktop. You should see the ABAPer tools listed in the tool panel. Test connectivity by asking Claude:
Test the SAP connection using the test-connection tool.Claude will invoke test-connection and report the system status.
Practical Workflows
Workflow 1: AI-Assisted Code Review
This is the most common workflow. You want a code review of an existing ABAP class before releasing a transport.
Conversation with Claude:
You: Review ZCL_FINANCE_POSTING for code quality and potential issues.
Claude: I’ll fetch the class and review it. (calls
get-objectwith name=ZCL_FINANCE_POSTING, type=CLAS) (callssyntax-checkon the retrieved source)Here’s my review of ZCL_FINANCE_POSTING:
Issues found:
- Method
post_documentat line 47:SELECT *fetches all fields from BKPF but onlybukrsandbelnrare used. Specify the field list.- Line 89:
CATCH cx_rootcatches all exceptions โ this will suppress unexpected errors silently. Catch specific exception classes.- Line 112: Hard-coded company code
'1000'should be a parameter or configuration entry.Suggestions: …
The entire review happens without you leaving the Claude conversation or opening SAP GUI.
Workflow 2: S/4HANA Compatibility Analysis
Your organization is planning a S/4HANA migration and needs to assess the custom code in package ZFINANCE.
You: Analyze package ZFINANCE for S/4HANA compatibility issues.
Claude: I’ll start a batch analysis of the ZFINANCE package. (calls
s4-batch-analyzewith package=ZFINANCE)Analysis started, workflow ID: WF-20260605-001. Checking status… (calls
s4-workflow-statuswith id=WF-20260605-001) (waits, polls status) (callss4-workflow-resultwhen complete)Analysis complete. ZFINANCE package contains 47 objects. Findings:
Severity Count Category Error 12 Removed APIs Warning 31 Deprecated syntax Info 8 Performance recommendations Critical items requiring remediation before S/4HANA migration:
- 5 programs use
CALL FUNCTION 'DYNPRO_*'โ these function modules do not exist in S/4HANA- 3 classes reference
CL_GUI_ALV_GRIDpatterns incompatible with Fiori architecture- 4 reports use
SELECT ... BYPASSING BUFFERโ removed in S/4HANA …
This workflow compresses what would be days of manual code analysis into a single conversation.
Workflow 3: Test Generation
You have a utility class with no unit tests. You want Claude to generate them.
You: Generate unit tests for ZCL_MATERIAL_UTILS.
Claude: I’ll read the class first, then generate tests. (calls
get-objectwith name=ZCL_MATERIAL_UTILS, type=CLAS)I’ve analyzed ZCL_MATERIAL_UTILS. It has 6 public methods. Here are the unit tests:
CLASS zcl_material_utils_test DEFINITION FOR TESTING RISK LEVEL HARMLESS DURATION SHORT. PRIVATE SECTION. DATA: mo_cut TYPE REF TO zcl_material_utils. METHODS: setup, test_get_material_description, test_get_material_description_not_found, test_validate_material_number, test_validate_material_number_empty. ENDCLASS. ...Shall I create and activate this test class in your SAP system?
You: Yes, create it in package ZMATERIAL_TEST.
Claude: Creating and activating the test class. (calls
create-and-activatewith appropriate parameters)Done. ZCL_MATERIAL_UTILS_TEST has been created in ZMATERIAL_TEST and activated. Would you like me to run the tests now?
This workflow takes a class with no tests to a running test suite in minutes.
Try It with Claude Desktop
abaper-mcp v0.9.0 is available now. To get started:
- Install
abaper-tsand connect it to your SAP system (see the abaper-ts documentation). - Download
abaper-mcpfrom the releases page. - Add the configuration block above to your
claude_desktop_config.json. - Restart Claude Desktop and ask it to test your SAP connection.
The combination of abaper-mcp + Claude Desktop is the fastest path to AI-assisted ABAP development that actually reads and writes your SAP system. No copy-pasting, no context loss โ just a conversation.
Questions or feedback? Open an issue on GitHub or visit bluefunda.com.
Ready to transform your SAP experience?
Join thousands of developers using BlueFunda AI tools.