2026-05-09 16:22:28 +02:00
2026-03-16 08:40:55 +01:00
2026-05-09 16:22:28 +02:00

EPOD ADT MCP Server

An Eclipse ADT plugin that exposes your SAP ABAP systems 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.

Connect multiple ABAP projects simultaneously and route each tool call to the right system via a systemId parameter.

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(s)

Installation

Via Eclipse Update Site

  1. In Eclipse ADT, go to Help > Install New Software...
  2. Click Add... and enter:
    • Name: EPOD ADT MCP Server
    • Location: https://git.epod.dev/erhan/epod-adt-mcp-updatesite/raw/branch/main/
  3. Select EPOD ADT MCP Server from the list
  4. Click Next, accept the license, and complete the wizard
  5. 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
  • One or more ABAP projects in your Eclipse workspace with active SNC/SSO connections to SAP

Setup

1. Open the MCP Server view

Window > Show View > Other... > ABAP MCP Server

2. Connect to your ABAP projects

The view shows all ABAP projects in your workspace. Click Connect All to connect to every project at once, or select a project and click Connect to connect individually. The plugin reuses each 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.

Multi-System Support

When multiple ABAP projects are connected, pass systemId (the Eclipse project name) to route a tool call to the right system:

{ "query": "ZCL*", "systemId": "ER1_001" }
  • Single system connectedsystemId is optional; the call is routed automatically.
  • Multiple systems connectedsystemId is required. Omitting it returns an error listing the available systems.
  • sap_list_systems — call this tool at any time to see which systems are currently connected.

The systemId description in every tool's schema is dynamically populated from the live registry, so the AI always knows which systems are available.

MCP Tools

The plugin exposes 17 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

Systems

Tool Description
sap_list_systems List all SAP systems currently connected and available for tool calls

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-Id header
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.

Description
Eclipse update site for EPOD ADT MCP Server plugin
Readme 10 MiB