From baf371f202cb177f1573208d6c3de20f6e874e63 Mon Sep 17 00:00:00 2001 From: Erhan Keseli Date: Mon, 27 Apr 2026 07:18:23 +0000 Subject: [PATCH] Update README.md --- README.md | 156 +++++++++++++++++++++++++++++++++++++++++++++++------- 1 file changed, 136 insertions(+), 20 deletions(-) diff --git a/README.md b/README.md index 5006cbb..da5145e 100644 --- a/README.md +++ b/README.md @@ -1,43 +1,159 @@ -# EPOD ADT MCP Server - Eclipse Update Site +# EPOD ADT MCP Server -Eclipse update site for the EPOD ADT MCP Server plugin. +An Eclipse ADT plugin that exposes your SAP ABAP system to AI coding assistants via the [Model Context Protocol (MCP)](https://modelcontextprotocol.io). 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 +``` -This plugin embeds an MCP (Model Context Protocol) server inside Eclipse ADT, -enabling AI coding assistants (Claude Code, Cursor, etc.) to interact with SAP -ABAP systems through the existing SNC/SSO session. ## 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 finish the installation +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 +- Eclipse 2024-03 or later with **SAP ADT** (ABAP Development Tools) installed - Java 17 or later -- An ABAP project with an active SNC/SSO connection to SAP +- An ABAP project in your Eclipse workspace with an active SNC/SSO connection to SAP -## Features -- 15 MCP tools for ABAP development: search, read/write source, activate, syntax check, unit test, ATC, SQL query, and more -- Transparent SNC/X.509 authentication through Eclipse ADT session -- Configurable server port (default: 3000) -- Auto-configuration of Claude Code MCP settings +## Setup -## Usage +### 1. Open the MCP Server view -After installation: +**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: + +```json +{ + "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`: + +```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-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 | -1. Open **Window > Show View > Other... > ABAP MCP Server** -2. Select your ABAP project and click **Connect** -3. Click **Start Server** -4. Your AI coding assistant can now access the SAP system via MCP ## License -Apache License 2.0 +Copyright 2025 Erhan Keseli. Licensed under the [Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0).