Update README.md

This commit is contained in:
2026-04-27 07:18:23 +00:00
parent cadc3c9084
commit baf371f202

156
README.md
View File

@@ -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).