diff --git a/2.2.2.202608291019/artifacts.jar b/2.2.2.202608291019/artifacts.jar deleted file mode 100644 index 8eab3c7..0000000 Binary files a/2.2.2.202608291019/artifacts.jar and /dev/null differ diff --git a/2.2.2.202608291019/artifacts.xml.xz b/2.2.2.202608291019/artifacts.xml.xz deleted file mode 100644 index 48fbb2c..0000000 Binary files a/2.2.2.202608291019/artifacts.xml.xz and /dev/null differ diff --git a/2.2.2.202608291019/content.jar b/2.2.2.202608291019/content.jar deleted file mode 100644 index 8d3a536..0000000 Binary files a/2.2.2.202608291019/content.jar and /dev/null differ diff --git a/2.2.2.202608291019/content.xml.xz b/2.2.2.202608291019/content.xml.xz deleted file mode 100644 index 7686a10..0000000 Binary files a/2.2.2.202608291019/content.xml.xz and /dev/null differ diff --git a/2.2.2.202608291019/features/com.epod.adt.mcp.feature_2.2.2.202608291019.jar b/2.2.2.202608291019/features/com.epod.adt.mcp.feature_2.2.2.202608291019.jar deleted file mode 100644 index 04867df..0000000 Binary files a/2.2.2.202608291019/features/com.epod.adt.mcp.feature_2.2.2.202608291019.jar and /dev/null differ diff --git a/2.2.2.202608291554/artifacts.jar b/2.2.2.202608291554/artifacts.jar new file mode 100644 index 0000000..d1b46f2 Binary files /dev/null and b/2.2.2.202608291554/artifacts.jar differ diff --git a/2.2.2.202608291554/artifacts.xml.xz b/2.2.2.202608291554/artifacts.xml.xz new file mode 100644 index 0000000..227e0dd Binary files /dev/null and b/2.2.2.202608291554/artifacts.xml.xz differ diff --git a/2.2.2.202608291554/content.jar b/2.2.2.202608291554/content.jar new file mode 100644 index 0000000..10b5a81 Binary files /dev/null and b/2.2.2.202608291554/content.jar differ diff --git a/2.2.2.202608291554/content.xml.xz b/2.2.2.202608291554/content.xml.xz new file mode 100644 index 0000000..5ea3796 Binary files /dev/null and b/2.2.2.202608291554/content.xml.xz differ diff --git a/2.2.2.202608291554/features/com.epod.adt.mcp.feature_2.2.2.202608291554.jar b/2.2.2.202608291554/features/com.epod.adt.mcp.feature_2.2.2.202608291554.jar new file mode 100644 index 0000000..a9fa69e Binary files /dev/null and b/2.2.2.202608291554/features/com.epod.adt.mcp.feature_2.2.2.202608291554.jar differ diff --git a/2.2.2.202608291019/p2.index b/2.2.2.202608291554/p2.index similarity index 82% rename from 2.2.2.202608291019/p2.index rename to 2.2.2.202608291554/p2.index index 0b8f22c..486c28c 100644 --- a/2.2.2.202608291019/p2.index +++ b/2.2.2.202608291554/p2.index @@ -1,4 +1,4 @@ -#Sat Aug 29 12:19:48 CEST 2026 +#Sat Aug 29 17:54:45 CEST 2026 artifact.repository.factory.order=artifacts.xml.xz,artifacts.xml,\! metadata.repository.factory.order=content.xml.xz,content.xml,\! version=1 diff --git a/2.2.2.202608291019/plugins/com.epod.adt.mcp.plugin_2.2.2.202608291019.jar b/2.2.2.202608291554/plugins/com.epod.adt.mcp.plugin_2.2.2.202608291554.jar similarity index 73% rename from 2.2.2.202608291019/plugins/com.epod.adt.mcp.plugin_2.2.2.202608291019.jar rename to 2.2.2.202608291554/plugins/com.epod.adt.mcp.plugin_2.2.2.202608291554.jar index e0a8f9d..f312994 100644 Binary files a/2.2.2.202608291019/plugins/com.epod.adt.mcp.plugin_2.2.2.202608291019.jar and b/2.2.2.202608291554/plugins/com.epod.adt.mcp.plugin_2.2.2.202608291554.jar differ diff --git a/README.md b/README.md index a76fe34..78f242a 100644 --- a/README.md +++ b/README.md @@ -60,18 +60,19 @@ The view shows all ABAP projects in your workspace. Click **Connect All** to con ### 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. +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. The server prints the client configuration block, with a bearer token, to the view console. The **Copy client config** button copies that block to the clipboard. ### 4. Configure your MCP client -Add the following to your client's MCP configuration: +Add the following to your client's MCP configuration. Replace `` with the token from the view: ```json { "mcpServers": { "abap-adt": { "type": "streamable-http", - "url": "http://127.0.0.1:3000/mcp" + "url": "http://127.0.0.1:3000/mcp", + "headers": { "Authorization": "Bearer " } } } } @@ -84,12 +85,17 @@ Add the following to your client's MCP configuration: "mcpServers": { "abap-adt": { "type": "streamable-http", - "url": "http://127.0.0.1:3000/mcp" + "url": "http://127.0.0.1:3000/mcp", + "headers": { "Authorization": "Bearer " } } } } ``` +#### Why the token and the Origin rejection + +The server binds to `127.0.0.1`, so the network cannot reach it. A local browser can still reach `127.0.0.1`. Any open web page can post JSON-RPC to the `/mcp` endpoint and drive the tools through your ADT session. The server rejects any request that carries an `Origin` header with HTTP 403, because a browser always sends one and an MCP client sends none. The server also requires the bearer token, which a web page cannot read. The server stores the token and reuses it on every later start. The token survives an Eclipse restart. The **Regenerate token** button creates a new token when the token leaks. The old token stops working at once. The token stays in the view and in the clipboard. The token never goes to a log or a tool response. + ### 5. Verify Check the health endpoint in your browser or with curl: diff --git a/compositeArtifacts.xml b/compositeArtifacts.xml index 239594a..f7f5fa6 100644 --- a/compositeArtifacts.xml +++ b/compositeArtifacts.xml @@ -4,10 +4,10 @@ type='org.eclipse.equinox.internal.p2.artifact.repository.CompositeArtifactRepository' version='1.0.0'> - + - + diff --git a/compositeContent.xml b/compositeContent.xml index b822660..9d70b43 100644 --- a/compositeContent.xml +++ b/compositeContent.xml @@ -4,10 +4,10 @@ type='org.eclipse.equinox.internal.p2.metadata.repository.CompositeMetadataRepository' version='1.0.0'> - + - +