5.0 KiB
EPOD ADT MCP Server
An Eclipse ADT plugin that exposes your SAP ABAP system to AI coding assistants via the Model Context Protocol (MCP). It runs an embedded HTTP server inside Eclipse, so any MCP-compatible client — Claude Code, Cursor, Windsurf, and others — can search, read, edit, test, and analyze ABAP code through your existing ADT SNC/SSO session.
No credentials are stored or transmitted by the plugin. Authentication is handled transparently by the Eclipse ADT communication framework.
AI Client --(HTTP/JSON-RPC)--> Eclipse Plugin --(ADT REST API / SNC)--> SAP System
Installation
Via Eclipse Update Site
- In Eclipse ADT, go to Help > Install New Software...
- Click Add... and enter:
- Name:
EPOD ADT MCP Server - Location:
https://git.epod.dev/erhan/epod-adt-mcp-updatesite/raw/branch/main/
- Name:
- Select EPOD ADT MCP Server from the list
- Click Next, accept the license, and complete the wizard
- Restart Eclipse when prompted
Via dropins (quick install)
Download the plugin JAR from the latest release and drop it into your Eclipse dropins/ folder, then restart Eclipse.
Requirements
- Eclipse 2024-03 or later with SAP ADT (ABAP Development Tools) installed
- Java 17 or later
- An ABAP project in your Eclipse workspace with an active SNC/SSO connection to SAP
Setup
1. Open the MCP Server view
Window > Show View > Other... > ABAP MCP Server
2. Connect to your ABAP project
Select your ABAP project from the dropdown and click Connect. The plugin reuses the project's existing ADT session — no password prompt.
3. Start the server
Click Start Server. The embedded MCP server starts on http://127.0.0.1:3000/mcp (port is configurable). It binds to localhost only and is not accessible from the network.
4. Configure your MCP client
Add the following to your client's MCP configuration:
{
"mcpServers": {
"abap-adt": {
"type": "streamable-http",
"url": "http://127.0.0.1:3000/mcp"
}
}
}
Claude Code — add to .claude/settings.json or ~/.claude/settings.json:
{
"mcpServers": {
"abap-adt": {
"type": "streamable-http",
"url": "http://127.0.0.1:3000/mcp"
}
}
}
5. Verify
Check the health endpoint in your browser or with curl:
GET http://127.0.0.1:3000/health
Port configuration
Window > Preferences > ABAP MCP Server — change the server port or enable auto-start when you connect to a project.
MCP Tools
The plugin exposes 16 tools covering the full ABAP development workflow:
Search & Navigation
| Tool | Description |
|---|---|
sap_search_object |
Search for ABAP objects by name pattern and/or type |
sap_object_structure |
Get the structure and metadata of an object (includes, links, source URLs) |
sap_usage_references |
Find all where-used references for an object |
sap_inactive_objects |
List objects that are currently inactive (not yet activated) |
Read & Write Source
| Tool | Description |
|---|---|
sap_pull_source |
Read source code of an ABAP object directly into the AI context |
sap_pull_source_to_file |
Fetch source from SAP and write it to a local file (preferred for large objects) |
sap_push_source |
Write source code from context to an ABAP object in SAP |
sap_push_source_from_file |
Save a local file back to SAP (lock → write → unlock → activate pipeline) |
Lifecycle
| Tool | Description |
|---|---|
sap_lock |
Lock an object for editing (returns a lock handle) |
sap_unlock |
Release a previously acquired lock |
sap_activate |
Activate an ABAP object |
sap_create_object |
Create a new ABAP object: class, interface, program, function group, data element, table, structure, or CDS view |
Quality & Testing
| Tool | Description |
|---|---|
sap_syntax_check |
Run a syntax check and return errors and warnings with line numbers |
sap_run_unit_test |
Execute ABAP Unit tests and return pass/fail results |
sap_atc_run |
Run ATC (ABAP Test Cockpit) checks and return quality findings |
Data
| Tool | Description |
|---|---|
sap_sql_query |
Execute an ABAP SQL query and return the results as JSON |
Supported Object Types
CLAS · INTF · PROG · FUGR · FUNC · TABL · STRU · DDLS · DTEL · DOMA · SRVD · DDLX · BDEF
Protocol
- MCP protocol version:
2024-11-05 - Transport: Streamable HTTP
- Messaging: JSON-RPC 2.0
- Session management:
Mcp-Session-Idheader
| Endpoint | Method | Description |
|---|---|---|
/mcp |
POST | JSON-RPC (initialize, tools/list, tools/call) |
/mcp |
GET | SSE stream for server-sent events |
/mcp |
DELETE | Close an MCP session |
/health |
GET | Server status |
License
Copyright 2025 Erhan Keseli. Licensed under the Apache License, Version 2.0.