@mcp-abap-adt/core 7.1.1 → 7.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/CHANGELOG.md +33 -0
  2. package/README.md +6 -9
  3. package/dist/lib/config/IServerConfig.d.ts +6 -0
  4. package/dist/lib/config/IServerConfig.d.ts.map +1 -1
  5. package/dist/lib/config/ServerConfigManager.d.ts.map +1 -1
  6. package/dist/lib/config/ServerConfigManager.js +22 -2
  7. package/dist/lib/config/ServerConfigManager.js.map +1 -1
  8. package/dist/server/SseServer.d.ts +9 -0
  9. package/dist/server/SseServer.d.ts.map +1 -1
  10. package/dist/server/SseServer.js +16 -4
  11. package/dist/server/SseServer.js.map +1 -1
  12. package/dist/server/StreamableHttpServer.d.ts +9 -0
  13. package/dist/server/StreamableHttpServer.d.ts.map +1 -1
  14. package/dist/server/StreamableHttpServer.js +15 -3
  15. package/dist/server/StreamableHttpServer.js.map +1 -1
  16. package/dist/server/dnsRebindingProtection.d.ts +21 -0
  17. package/dist/server/dnsRebindingProtection.d.ts.map +1 -0
  18. package/dist/server/dnsRebindingProtection.js +45 -0
  19. package/dist/server/dnsRebindingProtection.js.map +1 -0
  20. package/dist/server/launcher.js +6 -0
  21. package/dist/server/launcher.js.map +1 -1
  22. package/docs/architecture/ARCHITECTURE.md +8 -6
  23. package/docs/architecture/HANDLER_EXPORTER.md +6 -6
  24. package/docs/architecture/README.md +1 -1
  25. package/docs/architecture/TOOLS_ARCHITECTURE.md +13 -4
  26. package/docs/configuration/YAML_CONFIG.md +19 -23
  27. package/docs/deployment/GITHUB_ACTIONS.md +2 -2
  28. package/docs/development/ASSISTANT_GUIDELINES.md +1 -1
  29. package/docs/development/tests/TESTING_AUTH.md +3 -3
  30. package/docs/installation/CLINE_CONFIGURATION.md +17 -21
  31. package/docs/installation/INSTALLATION.md +46 -38
  32. package/docs/installation/examples/README.md +10 -10
  33. package/docs/installation/examples/SERVICE_KEY_SETUP.md +3 -3
  34. package/docs/installation/examples/cline-stdio-npx-config.json +1 -1
  35. package/docs/installation/platforms/INSTALL_LINUX.md +34 -27
  36. package/docs/installation/platforms/INSTALL_MACOS.md +33 -26
  37. package/docs/installation/platforms/INSTALL_WINDOWS.md +33 -26
  38. package/docs/user-guide/AVAILABLE_TOOLS.md +110 -4
  39. package/docs/user-guide/AVAILABLE_TOOLS_COMPACT.md +1 -1
  40. package/docs/user-guide/AVAILABLE_TOOLS_HIGH.md +51 -2
  41. package/docs/user-guide/AVAILABLE_TOOLS_LEGACY.md +128 -4
  42. package/docs/user-guide/AVAILABLE_TOOLS_LOW.md +1 -1
  43. package/docs/user-guide/AVAILABLE_TOOLS_READONLY.md +59 -2
  44. package/docs/user-guide/CLIENT_CONFIGURATION.md +4 -4
  45. package/docs/user-guide/CLI_OPTIONS.md +76 -71
  46. package/docs/user-guide/HANDLERS_MANAGEMENT.md +9 -9
  47. package/docs/user-guide/README.md +8 -8
  48. package/package.json +3 -3
@@ -17,7 +17,7 @@ Quick configuration files for connecting Cline to MCP ABAP ADT server.
17
17
 
18
18
  ### STDIO with Global Install
19
19
  **File**: `cline-stdio-global-config.json`
20
- - Requires: `npm install -g @fr0ster/mcp-abap-adt`
20
+ - Requires: `npm install -g @mcp-abap-adt/core`
21
21
  - Faster startup than npx
22
22
  - Version controlled by you
23
23
 
@@ -33,13 +33,13 @@ Quick configuration files for connecting Cline to MCP ABAP ADT server.
33
33
  1. Start server in separate terminal:
34
34
  ```bash
35
35
  # With NPX (recommended) - uses auth-broker by default
36
- npx @fr0ster/mcp-abap-adt --transport=http --http-port=3000
36
+ npx @mcp-abap-adt/core --transport=http --port=3000
37
37
 
38
38
  # Or force auth-broker (ignores .env)
39
- npx @fr0ster/mcp-abap-adt --transport=http --http-port=3000 --auth-broker
39
+ npx @mcp-abap-adt/core --transport=http --port=3000 --auth-broker
40
40
 
41
41
  # Or with global install
42
- mcp-abap-adt --transport=http --http-port=3000
42
+ mcp-abap-adt --transport=http --port=3000
43
43
 
44
44
  # Or local dev
45
45
  npm run start:http
@@ -73,10 +73,10 @@ Use `cline-http-service-key-npx-config.json` for destination-based authenticatio
73
73
  2. **Start server with auth-broker**:
74
74
  ```bash
75
75
  # With NPX (recommended)
76
- npx @fr0ster/mcp-abap-adt --transport=http --http-port=3000 --auth-broker
76
+ npx @mcp-abap-adt/core --transport=http --port=3000 --auth-broker
77
77
 
78
78
  # Or with global install
79
- mcp-abap-adt --transport=http --http-port=3000 --auth-broker
79
+ mcp-abap-adt --transport=http --port=3000 --auth-broker
80
80
  ```
81
81
 
82
82
  **Note**:
@@ -111,10 +111,10 @@ Use `cline-http-service-key-npx-config.json` for destination-based authenticatio
111
111
  1. Start server in separate terminal:
112
112
  ```bash
113
113
  # With NPX (recommended)
114
- npx @fr0ster/mcp-abap-adt --transport=sse --sse-port=3001 --env=/path/to/.env
114
+ npx @mcp-abap-adt/core --transport=sse --port=3001 --env=/path/to/.env
115
115
 
116
116
  # Or with global install
117
- mcp-abap-adt --transport=sse --sse-port=3001 --env=/path/to/.env
117
+ mcp-abap-adt --transport=sse --port=3001 --env=/path/to/.env
118
118
 
119
119
  # Or local dev
120
120
  npm run start:sse
@@ -140,7 +140,7 @@ Use `cline-http-service-key-npx-config.json` for destination-based authenticatio
140
140
  "command": "npx",
141
141
  "args": [
142
142
  "-y",
143
- "@fr0ster/mcp-abap-adt",
143
+ "@mcp-abap-adt/core",
144
144
  "--transport=stdio",
145
145
  "--env=/Users/YOUR_USERNAME/.env"
146
146
  ],
@@ -159,7 +159,7 @@ Use `cline-http-service-key-npx-config.json` for destination-based authenticatio
159
159
  "command": "npx",
160
160
  "args": [
161
161
  "-y",
162
- "@fr0ster/mcp-abap-adt",
162
+ "@mcp-abap-adt/core",
163
163
  "--transport=stdio",
164
164
  "--env=C:/Users/YOUR_USERNAME/.env"
165
165
  ],
@@ -40,13 +40,13 @@ mkdir "%USERPROFILE%\Documents\mcp-abap-adt\service-keys"
40
40
 
41
41
  ```bash
42
42
  # With NPX (recommended)
43
- npx @fr0ster/mcp-abap-adt --transport=http --http-port=3000 --auth-broker
43
+ npx @mcp-abap-adt/core --transport=http --port=3000 --auth-broker
44
44
 
45
45
  # Or with global install
46
- mcp-abap-adt --transport=http --http-port=3000 --auth-broker
46
+ mcp-abap-adt --transport=http --port=3000 --auth-broker
47
47
 
48
48
  # With custom path for service keys and sessions
49
- mcp-abap-adt --transport=http --http-port=3000 --auth-broker --auth-broker-path=~/prj/tmp/
49
+ mcp-abap-adt --transport=http --port=3000 --auth-broker --auth-broker-path=~/prj/tmp/
50
50
  ```
51
51
 
52
52
  **Why --auth-broker is required:**
@@ -4,7 +4,7 @@
4
4
  "command": "npx",
5
5
  "args": [
6
6
  "-y",
7
- "@fr0ster/mcp-abap-adt",
7
+ "@mcp-abap-adt/core",
8
8
  "--transport=stdio",
9
9
  "--env=/REPLACE/WITH/PATH/TO/.env"
10
10
  ],
@@ -141,14 +141,14 @@ Install from a pre-built `.tgz` package file:
141
141
  ```bash
142
142
  # Download or obtain the package file
143
143
  # Then install globally
144
- npm install -g ./fr0ster-mcp-abap-adt-1.1.0.tgz
144
+ npm install -g ./mcp-abap-adt-core-<version>.tgz
145
145
 
146
146
  # Verify installation
147
147
  mcp-abap-adt --help
148
148
  ```
149
149
 
150
150
  **Available commands after installation:**
151
- - `mcp-abap-adt` - HTTP transport (default)
151
+ - `mcp-abap-adt` - stdio transport (default)
152
152
  - `mcp-abap-adt --transport=stdio` - stdio transport (for MCP clients)
153
153
  - `mcp-abap-adt --transport=http` - HTTP server transport
154
154
  - `mcp-abap-adt --transport=sse` - SSE server transport
@@ -159,13 +159,13 @@ mcp-abap-adt --help
159
159
  mcp-abap-adt --transport=http
160
160
 
161
161
  # HTTP server on custom port
162
- mcp-abap-adt --transport=http --port 8080
162
+ mcp-abap-adt --transport=http --port=8080
163
163
 
164
164
  # SSE server accessible from network
165
- mcp-abap-adt --transport=sse --host 0.0.0.0 --port 3000
165
+ mcp-abap-adt --transport=sse --host=0.0.0.0 --port=3000
166
166
 
167
167
  # Use custom .env file
168
- mcp-abap-adt --transport=http --env /path/to/custom/.env --port 8080
168
+ mcp-abap-adt --transport=http --env /path/to/custom/.env --port=8080
169
169
  ```
170
170
 
171
171
  **Local Installation (Project-specific):**
@@ -175,10 +175,10 @@ mcp-abap-adt --transport=http --env /path/to/custom/.env --port 8080
175
175
  cd /path/to/your/project
176
176
 
177
177
  # Install package locally
178
- npm install /path/to/fr0ster-mcp-abap-adt-1.1.0.tgz
178
+ npm install /path/to/mcp-abap-adt-core-<version>.tgz
179
179
 
180
180
  # Use via npx
181
- npx mcp-abap-adt --transport=http --port 3000
181
+ npx mcp-abap-adt --transport=http --port=3000
182
182
  ```
183
183
 
184
184
  **Troubleshooting:**
@@ -201,7 +201,7 @@ echo 'export PATH=~/.npm-global/bin:$PATH' >> ~/.bashrc
201
201
  source ~/.bashrc
202
202
 
203
203
  # Then install without sudo
204
- npm install -g ./fr0ster-mcp-abap-adt-1.1.0.tgz
204
+ npm install -g ./mcp-abap-adt-core-<version>.tgz
205
205
  ```
206
206
 
207
207
  ### Option B: Install from Source (For Development)
@@ -261,15 +261,15 @@ SAP_TIMEOUT_DEFAULT=45000
261
261
 
262
262
  MCP ABAP ADT Server supports two transport protocols:
263
263
 
264
- 1. **http** (default) - HTTP StreamableHTTP transport, works without .env file
265
- 2. **stdio** - Standard input/output, used by Cline/Cursor (requires .env file)
264
+ 1. **stdio** (default) - Standard input/output, used by Cline/Cursor (requires .env file)
265
+ 2. **http** - HTTP StreamableHTTP transport (requires `--transport=http`), works without .env file
266
266
  2. **SSE/HTTP** - Server-Sent Events over HTTP, for web interfaces
267
267
 
268
268
  ### Cline (VS Code Extension)
269
269
 
270
270
  Uses **stdio** mode (must be explicitly specified).
271
271
 
272
- **⚠️ IMPORTANT:** After global installation (`npm install -g @fr0ster/mcp-abap-adt`), use the `mcp-abap-adt` command with `--transport=stdio` and `--env` arguments.
272
+ **⚠️ IMPORTANT:** After global installation (`npm install -g @mcp-abap-adt/core`), use the `mcp-abap-adt` command with `--transport=stdio` and `--env` arguments.
273
273
 
274
274
  1. Install Cline extension in VS Code
275
275
  2. Open Cline settings (JSON): `Ctrl+Shift+P` → "Preferences: Open User Settings (JSON)"
@@ -292,7 +292,7 @@ Uses **stdio** mode (must be explicitly specified).
292
292
  ```
293
293
 
294
294
  **Important notes:**
295
- - `--transport=stdio` is **required** (default is HTTP mode)
295
+ - `--transport=stdio` is the default; HTTP/SSE require `--transport=http`/`--transport=sse`
296
296
  - `--env` argument is **required** if `.env` file is not in the current working directory
297
297
  - If `.env` file is in the current directory, you can omit `--env` argument:
298
298
 
@@ -315,7 +315,7 @@ Uses **stdio** mode (must be explicitly specified).
315
315
  "mcp-abap-adt": {
316
316
  "command": "node",
317
317
  "args": [
318
- "/home/your-username/.npm-global/lib/node_modules/@fr0ster/mcp-abap-adt/bin/mcp-abap-adt.js",
318
+ "/home/your-username/.npm-global/lib/node_modules/@mcp-abap-adt/core/bin/mcp-abap-adt.js",
319
319
  "--transport=stdio",
320
320
  "--env=/path/to/your/e19.env"
321
321
  ]
@@ -350,29 +350,33 @@ Add to Cursor settings (`~/.cursor/config.json`):
350
350
 
351
351
  ### HTTP Mode (Streamable HTTP)
352
352
 
353
- **⚠️ IMPORTANT:** HTTP mode is the **default** mode. No `.env` file is required for HTTP mode (connection can be configured via HTTP headers).
353
+ **⚠️ IMPORTANT:** HTTP mode requires `--transport=http` (the default transport is stdio). No `.env` file is required for HTTP mode (connection can be configured via HTTP headers).
354
354
 
355
355
  **Starting HTTP Server:**
356
356
 
357
357
  ```bash
358
- # Start server in HTTP mode (default, no arguments needed)
359
- mcp-abap-adt
358
+ # Start server in HTTP mode (requires --transport=http)
359
+ mcp-abap-adt --transport=http
360
360
 
361
361
  # Or explicitly specify HTTP mode
362
362
  mcp-abap-adt --transport=streamable-http
363
363
 
364
364
  # Or with custom port
365
- mcp-abap-adt --transport=streamable-http --http-port=8080
365
+ mcp-abap-adt --transport=streamable-http --port=8080
366
366
  ```
367
367
 
368
368
  **HTTP Server Options:**
369
- - `--transport=streamable-http` or `--transport=http` - Use HTTP transport (default)
370
- - `--http-port PORT` - Port number (default: 3000)
371
- - `--http-host HOST` - Host address (default: 0.0.0.0)
369
+ - `--transport=streamable-http` or `--transport=http` - Use HTTP transport (stdio is the default)
370
+ - `--host=<host>` - Server host (default: 127.0.0.1; use 0.0.0.0 for all interfaces)
371
+ - `--port=<port>` - Server port (default: 3000 for http)
372
+ - `--path=<path>` (alias `--http-path=<path>`) - HTTP endpoint path (default: /mcp/stream/http)
373
+ - `--http-allowed-hosts=<list>` - Comma-separated exact Host header values for DNS-rebinding protection (includes port, e.g. `localhost:3000`)
374
+ - `--http-allowed-origins=<list>` - Comma-separated exact Origin header values for DNS-rebinding protection (includes scheme, e.g. `https://app.example.com`)
375
+ - `--http-enable-dns-protection` - Enable Host/Origin allowlist validation (NOT browser CORS — no Access-Control-Allow-Origin headers are emitted); non-allowlisted Host/Origin → HTTP 403
372
376
 
373
377
  **Example with custom port:**
374
378
  ```bash
375
- mcp-abap-adt --transport=streamable-http --http-port=8080
379
+ mcp-abap-adt --transport=streamable-http --port=8080
376
380
  ```
377
381
 
378
382
  Server will be available at: `http://localhost:8080/mcp/stream/http`
@@ -415,20 +419,23 @@ mcp-abap-adt --transport=streamable-http --env=/path/to/your/e19.env
415
419
  mcp-abap-adt --transport=sse --env=/path/to/your/e19.env
416
420
 
417
421
  # Or with custom port
418
- mcp-abap-adt --transport=sse --sse-port=3001 --env=/path/to/your/e19.env
422
+ mcp-abap-adt --transport=sse --port=3001 --env=/path/to/your/e19.env
419
423
  ```
420
424
 
421
425
  **SSE Server Options:**
422
426
  - `--transport=sse` - Use SSE transport
423
- - `--sse-port PORT` - Port number (default: 3001)
424
- - `--sse-host HOST` - Host address (default: 0.0.0.0)
425
- - `--sse-allowed-origins LIST` - Comma-separated allowed origins
426
- - `--sse-enable-dns-protection` - Enable DNS rebinding protection
427
+ - `--host=<host>` - Server host (default: 127.0.0.1; use 0.0.0.0 for all interfaces)
428
+ - `--port=<port>` - Server port (default: 3001 for sse)
429
+ - `--sse-path=<path>` - SSE connection path (default: /sse)
430
+ - `--post-path=<path>` - SSE message post path (default: /messages)
427
431
  - `--env=PATH` - Path to `.env` file (required for SSE mode)
432
+ - `--sse-allowed-hosts=<list>` - Comma-separated exact Host header values for DNS-rebinding protection (includes port, e.g. `localhost:3001`)
433
+ - `--sse-allowed-origins=<list>` - Comma-separated exact Origin header values for DNS-rebinding protection (includes scheme, e.g. `https://app.example.com`)
434
+ - `--sse-enable-dns-protection` - Enable Host/Origin allowlist validation (NOT browser CORS — no Access-Control-Allow-Origin headers are emitted); non-allowlisted Host/Origin → HTTP 403
428
435
 
429
436
  **Example with custom port and host:**
430
437
  ```bash
431
- mcp-abap-adt --transport=sse --sse-port=4100 --sse-host=127.0.0.1 --env=/path/to/your/e19.env
438
+ mcp-abap-adt --transport=sse --port=4100 --host=127.0.0.1 --env=/path/to/your/e19.env
432
439
  ```
433
440
 
434
441
  Server will be available at: `http://127.0.0.1:4100/sse`
@@ -97,14 +97,14 @@ Install from a pre-built `.tgz` package file:
97
97
  ```bash
98
98
  # Download or obtain the package file
99
99
  # Then install globally
100
- npm install -g ./fr0ster-mcp-abap-adt-1.1.0.tgz
100
+ npm install -g ./mcp-abap-adt-core-<version>.tgz
101
101
 
102
102
  # Verify installation
103
103
  mcp-abap-adt --help
104
104
  ```
105
105
 
106
106
  **Available commands after installation:**
107
- - `mcp-abap-adt` - HTTP transport (default)
107
+ - `mcp-abap-adt` - stdio transport (default)
108
108
  - `mcp-abap-adt --transport=stdio` - stdio transport (for MCP clients)
109
109
  - `mcp-abap-adt --transport=http` - HTTP server transport
110
110
  - `mcp-abap-adt --transport=sse` - SSE server transport
@@ -115,13 +115,13 @@ mcp-abap-adt --help
115
115
  mcp-abap-adt --transport=http
116
116
 
117
117
  # HTTP server on custom port
118
- mcp-abap-adt --transport=http --port 8080
118
+ mcp-abap-adt --transport=http --port=8080
119
119
 
120
120
  # SSE server accessible from network
121
- mcp-abap-adt --transport=sse --host 0.0.0.0 --port 3000
121
+ mcp-abap-adt --transport=sse --host=0.0.0.0 --port=3000
122
122
 
123
123
  # Use custom .env file
124
- mcp-abap-adt --transport=http --env /path/to/custom/.env --port 8080
124
+ mcp-abap-adt --transport=http --env /path/to/custom/.env --port=8080
125
125
  ```
126
126
 
127
127
  **Local Installation (Project-specific):**
@@ -131,10 +131,10 @@ mcp-abap-adt --transport=http --env /path/to/custom/.env --port 8080
131
131
  cd /path/to/your/project
132
132
 
133
133
  # Install package locally
134
- npm install /path/to/fr0ster-mcp-abap-adt-1.1.0.tgz
134
+ npm install /path/to/mcp-abap-adt-core-<version>.tgz
135
135
 
136
136
  # Use via npx
137
- npx mcp-abap-adt --transport=http --port 3000
137
+ npx mcp-abap-adt --transport=http --port=3000
138
138
  ```
139
139
 
140
140
  **Troubleshooting:**
@@ -206,15 +206,15 @@ SAP_TIMEOUT_DEFAULT=45000
206
206
 
207
207
  MCP ABAP ADT Server supports two transport protocols:
208
208
 
209
- 1. **http** (default) - HTTP StreamableHTTP transport, works without .env file
210
- 2. **stdio** - Standard input/output, used by Cline/Cursor (requires .env file)
209
+ 1. **stdio** (default) - Standard input/output, used by Cline/Cursor (requires .env file)
210
+ 2. **http** - HTTP StreamableHTTP transport (requires `--transport=http`), works without .env file
211
211
  2. **SSE/HTTP** - Server-Sent Events over HTTP, for web interfaces
212
212
 
213
213
  ### Cline (VS Code Extension)
214
214
 
215
215
  Uses **stdio** mode (must be explicitly specified).
216
216
 
217
- **⚠️ IMPORTANT:** After global installation (`npm install -g @fr0ster/mcp-abap-adt`), use the `mcp-abap-adt` command with `--transport=stdio` and `--env` arguments.
217
+ **⚠️ IMPORTANT:** After global installation (`npm install -g @mcp-abap-adt/core`), use the `mcp-abap-adt` command with `--transport=stdio` and `--env` arguments.
218
218
 
219
219
  1. Install Cline extension in VS Code
220
220
  2. Open Cline settings (JSON): `Cmd+Shift+P` → "Preferences: Open User Settings (JSON)"
@@ -237,7 +237,7 @@ Uses **stdio** mode (must be explicitly specified).
237
237
  ```
238
238
 
239
239
  **Important notes:**
240
- - `--transport=stdio` is **required** (default is HTTP mode)
240
+ - `--transport=stdio` is the default; HTTP/SSE require `--transport=http`/`--transport=sse`
241
241
  - `--env` argument is **required** if `.env` file is not in the current working directory
242
242
  - If `.env` file is in the current directory, you can omit `--env` argument:
243
243
 
@@ -260,7 +260,7 @@ Uses **stdio** mode (must be explicitly specified).
260
260
  "mcp-abap-adt": {
261
261
  "command": "node",
262
262
  "args": [
263
- "/usr/local/lib/node_modules/@fr0ster/mcp-abap-adt/bin/mcp-abap-adt.js",
263
+ "/usr/local/lib/node_modules/@mcp-abap-adt/core/bin/mcp-abap-adt.js",
264
264
  "--transport=stdio",
265
265
  "--env=/path/to/your/e19.env"
266
266
  ]
@@ -295,29 +295,33 @@ Add to Cursor settings (`~/.cursor/config.json`):
295
295
 
296
296
  ### HTTP Mode (Streamable HTTP)
297
297
 
298
- **⚠️ IMPORTANT:** HTTP mode is the **default** mode. No `.env` file is required for HTTP mode (connection can be configured via HTTP headers).
298
+ **⚠️ IMPORTANT:** HTTP mode requires `--transport=http` (the default transport is stdio). No `.env` file is required for HTTP mode (connection can be configured via HTTP headers).
299
299
 
300
300
  **Starting HTTP Server:**
301
301
 
302
302
  ```bash
303
- # Start server in HTTP mode (default, no arguments needed)
304
- mcp-abap-adt
303
+ # Start server in HTTP mode (requires --transport=http)
304
+ mcp-abap-adt --transport=http
305
305
 
306
306
  # Or explicitly specify HTTP mode
307
307
  mcp-abap-adt --transport=streamable-http
308
308
 
309
309
  # Or with custom port
310
- mcp-abap-adt --transport=streamable-http --http-port=8080
310
+ mcp-abap-adt --transport=streamable-http --port=8080
311
311
  ```
312
312
 
313
313
  **HTTP Server Options:**
314
- - `--transport=streamable-http` or `--transport=http` - Use HTTP transport (default)
315
- - `--http-port PORT` - Port number (default: 3000)
316
- - `--http-host HOST` - Host address (default: 0.0.0.0)
314
+ - `--transport=streamable-http` or `--transport=http` - Use HTTP transport (stdio is the default)
315
+ - `--host=<host>` - Server host (default: 127.0.0.1; use 0.0.0.0 for all interfaces)
316
+ - `--port=<port>` - Server port (default: 3000 for http)
317
+ - `--path=<path>` (alias `--http-path=<path>`) - HTTP endpoint path (default: /mcp/stream/http)
318
+ - `--http-allowed-hosts=<list>` - Comma-separated exact Host header values for DNS-rebinding protection (includes port, e.g. `localhost:3000`)
319
+ - `--http-allowed-origins=<list>` - Comma-separated exact Origin header values for DNS-rebinding protection (includes scheme, e.g. `https://app.example.com`)
320
+ - `--http-enable-dns-protection` - Enable Host/Origin allowlist validation (NOT browser CORS — no Access-Control-Allow-Origin headers are emitted); non-allowlisted Host/Origin → HTTP 403
317
321
 
318
322
  **Example with custom port:**
319
323
  ```bash
320
- mcp-abap-adt --transport=streamable-http --http-port=8080
324
+ mcp-abap-adt --transport=streamable-http --port=8080
321
325
  ```
322
326
 
323
327
  Server will be available at: `http://localhost:8080/mcp/stream/http`
@@ -360,20 +364,23 @@ mcp-abap-adt --transport=streamable-http --env=/path/to/your/e19.env
360
364
  mcp-abap-adt --transport=sse --env=/path/to/your/e19.env
361
365
 
362
366
  # Or with custom port
363
- mcp-abap-adt --transport=sse --sse-port=3001 --env=/path/to/your/e19.env
367
+ mcp-abap-adt --transport=sse --port=3001 --env=/path/to/your/e19.env
364
368
  ```
365
369
 
366
370
  **SSE Server Options:**
367
371
  - `--transport=sse` - Use SSE transport
368
- - `--sse-port PORT` - Port number (default: 3001)
369
- - `--sse-host HOST` - Host address (default: 0.0.0.0)
370
- - `--sse-allowed-origins LIST` - Comma-separated allowed origins
371
- - `--sse-enable-dns-protection` - Enable DNS rebinding protection
372
+ - `--host=<host>` - Server host (default: 127.0.0.1; use 0.0.0.0 for all interfaces)
373
+ - `--port=<port>` - Server port (default: 3001 for sse)
374
+ - `--sse-path=<path>` - SSE connection path (default: /sse)
375
+ - `--post-path=<path>` - SSE message post path (default: /messages)
372
376
  - `--env=PATH` - Path to `.env` file (required for SSE mode)
377
+ - `--sse-allowed-hosts=<list>` - Comma-separated exact Host header values for DNS-rebinding protection (includes port, e.g. `localhost:3001`)
378
+ - `--sse-allowed-origins=<list>` - Comma-separated exact Origin header values for DNS-rebinding protection (includes scheme, e.g. `https://app.example.com`)
379
+ - `--sse-enable-dns-protection` - Enable Host/Origin allowlist validation (NOT browser CORS — no Access-Control-Allow-Origin headers are emitted); non-allowlisted Host/Origin → HTTP 403
373
380
 
374
381
  **Example with custom port and host:**
375
382
  ```bash
376
- mcp-abap-adt --transport=sse --sse-port=4100 --sse-host=127.0.0.1 --env=/path/to/your/e19.env
383
+ mcp-abap-adt --transport=sse --port=4100 --host=127.0.0.1 --env=/path/to/your/e19.env
377
384
  ```
378
385
 
379
386
  Server will be available at: `http://127.0.0.1:4100/sse`
@@ -90,14 +90,14 @@ Install from a pre-built `.tgz` package file:
90
90
  ```powershell
91
91
  # Download or obtain the package file
92
92
  # Then install globally
93
- npm install -g .\fr0ster-mcp-abap-adt-1.1.0.tgz
93
+ npm install -g .\mcp-abap-adt-core-<version>.tgz
94
94
 
95
95
  # Verify installation
96
96
  mcp-abap-adt --help
97
97
  ```
98
98
 
99
99
  **Available commands after installation:**
100
- - `mcp-abap-adt` - HTTP transport (default)
100
+ - `mcp-abap-adt` - stdio transport (default)
101
101
  - `mcp-abap-adt --transport=stdio` - stdio transport (for MCP clients)
102
102
  - `mcp-abap-adt --transport=http` - HTTP server transport
103
103
  - `mcp-abap-adt --transport=sse` - SSE server transport
@@ -108,13 +108,13 @@ mcp-abap-adt --help
108
108
  mcp-abap-adt --transport=http
109
109
 
110
110
  # HTTP server on custom port
111
- mcp-abap-adt --transport=http --port 8080
111
+ mcp-abap-adt --transport=http --port=8080
112
112
 
113
113
  # SSE server accessible from network
114
- mcp-abap-adt --transport=sse --host 0.0.0.0 --port 3000
114
+ mcp-abap-adt --transport=sse --host=0.0.0.0 --port=3000
115
115
 
116
116
  # Use custom .env file
117
- mcp-abap-adt --transport=http --env C:\path\to\custom\.env --port 8080
117
+ mcp-abap-adt --transport=http --env C:\path\to\custom\.env --port=8080
118
118
  ```
119
119
 
120
120
  **Local Installation (Project-specific):**
@@ -124,10 +124,10 @@ mcp-abap-adt --transport=http --env C:\path\to\custom\.env --port 8080
124
124
  cd C:\path\to\your\project
125
125
 
126
126
  # Install package locally
127
- npm install C:\path\to\fr0ster-mcp-abap-adt-1.1.0.tgz
127
+ npm install C:\path\to\mcp-abap-adt-core-<version>.tgz
128
128
 
129
129
  # Use via npx
130
- npx mcp-abap-adt --transport=http --port 3000
130
+ npx mcp-abap-adt --transport=http --port=3000
131
131
  ```
132
132
 
133
133
  **Troubleshooting:**
@@ -195,15 +195,15 @@ notepad .env
195
195
 
196
196
  MCP ABAP ADT Server supports two transport protocols:
197
197
 
198
- 1. **http** (default) - HTTP StreamableHTTP transport, works without .env file
199
- 2. **stdio** - Standard input/output, used by Cline/Cursor (requires .env file)
198
+ 1. **stdio** (default) - Standard input/output, used by Cline/Cursor (requires .env file)
199
+ 2. **http** - HTTP StreamableHTTP transport (requires `--transport=http`), works without .env file
200
200
  2. **SSE/HTTP** - Server-Sent Events over HTTP, for web interfaces
201
201
 
202
202
  ### Cline (VS Code Extension)
203
203
 
204
204
  Uses **stdio** mode (must be explicitly specified).
205
205
 
206
- **⚠️ IMPORTANT:** After global installation (`npm install -g @fr0ster/mcp-abap-adt`), use the `mcp-abap-adt` command with `--transport=stdio` and `--env` arguments.
206
+ **⚠️ IMPORTANT:** After global installation (`npm install -g @mcp-abap-adt/core`), use the `mcp-abap-adt` command with `--transport=stdio` and `--env` arguments.
207
207
 
208
208
  1. Install Cline extension in VS Code
209
209
  2. Open Cline settings (JSON): `Ctrl+Shift+P` → "Preferences: Open User Settings (JSON)"
@@ -227,7 +227,7 @@ Uses **stdio** mode (must be explicitly specified).
227
227
 
228
228
  **Important notes for Windows:**
229
229
  - Use double backslashes `\\` or forward slashes `/` in file paths
230
- - `--transport=stdio` is **required** (default is HTTP mode)
230
+ - `--transport=stdio` is the default; HTTP/SSE require `--transport=http`/`--transport=sse`
231
231
  - `--env` argument is **required** if `.env` file is not in the current working directory
232
232
  - If `.env` file is in the current directory, you can omit `--env` argument:
233
233
 
@@ -250,7 +250,7 @@ Uses **stdio** mode (must be explicitly specified).
250
250
  "mcp-abap-adt": {
251
251
  "command": "node",
252
252
  "args": [
253
- "C:\\Users\\YourUsername\\AppData\\Roaming\\npm\\node_modules\\@fr0ster\\mcp-abap-adt\\bin\\mcp-abap-adt.js",
253
+ "C:\\Users\\YourUsername\\AppData\\Roaming\\npm\\node_modules\\@mcp-abap-adt\\core\\bin\\mcp-abap-adt.js",
254
254
  "--transport=stdio",
255
255
  "--env=C:\\path\\to\\your\\e19.env"
256
256
  ]
@@ -304,29 +304,33 @@ Add to Cursor settings:
304
304
 
305
305
  ### HTTP Mode (Streamable HTTP)
306
306
 
307
- **⚠️ IMPORTANT:** HTTP mode is the **default** mode. No `.env` file is required for HTTP mode (connection can be configured via HTTP headers).
307
+ **⚠️ IMPORTANT:** HTTP mode requires `--transport=http` (the default transport is stdio). No `.env` file is required for HTTP mode (connection can be configured via HTTP headers).
308
308
 
309
309
  **Starting HTTP Server:**
310
310
 
311
311
  ```powershell
312
- # Start server in HTTP mode (default, no arguments needed)
313
- mcp-abap-adt
312
+ # Start server in HTTP mode (requires --transport=http)
313
+ mcp-abap-adt --transport=http
314
314
 
315
315
  # Or explicitly specify HTTP mode
316
316
  mcp-abap-adt --transport=streamable-http
317
317
 
318
318
  # Or with custom port
319
- mcp-abap-adt --transport=streamable-http --http-port=8080
319
+ mcp-abap-adt --transport=streamable-http --port=8080
320
320
  ```
321
321
 
322
322
  **HTTP Server Options:**
323
- - `--transport=streamable-http` or `--transport=http` - Use HTTP transport (default)
324
- - `--http-port PORT` - Port number (default: 3000)
325
- - `--http-host HOST` - Host address (default: 0.0.0.0)
323
+ - `--transport=streamable-http` or `--transport=http` - Use HTTP transport (stdio is the default)
324
+ - `--host=<host>` - Server host (default: 127.0.0.1; use 0.0.0.0 for all interfaces)
325
+ - `--port=<port>` - Server port (default: 3000 for http)
326
+ - `--path=<path>` (alias `--http-path=<path>`) - HTTP endpoint path (default: /mcp/stream/http)
327
+ - `--http-allowed-hosts=<list>` - Comma-separated exact Host header values for DNS-rebinding protection (includes port, e.g. `localhost:3000`)
328
+ - `--http-allowed-origins=<list>` - Comma-separated exact Origin header values for DNS-rebinding protection (includes scheme, e.g. `https://app.example.com`)
329
+ - `--http-enable-dns-protection` - Enable Host/Origin allowlist validation (NOT browser CORS — no Access-Control-Allow-Origin headers are emitted); non-allowlisted Host/Origin → HTTP 403
326
330
 
327
331
  **Example with custom port:**
328
332
  ```powershell
329
- mcp-abap-adt --transport=streamable-http --http-port=8080
333
+ mcp-abap-adt --transport=streamable-http --port=8080
330
334
  ```
331
335
 
332
336
  Server will be available at: `http://localhost:8080/mcp/stream/http`
@@ -369,20 +373,23 @@ mcp-abap-adt --transport=streamable-http --env=C:\\path\\to\\your\\e19.env
369
373
  mcp-abap-adt --transport=sse --env=C:\\path\\to\\your\\e19.env
370
374
 
371
375
  # Or with custom port
372
- mcp-abap-adt --transport=sse --sse-port=3001 --env=C:\\path\\to\\your\\e19.env
376
+ mcp-abap-adt --transport=sse --port=3001 --env=C:\\path\\to\\your\\e19.env
373
377
  ```
374
378
 
375
379
  **SSE Server Options:**
376
380
  - `--transport=sse` - Use SSE transport
377
- - `--sse-port PORT` - Port number (default: 3001)
378
- - `--sse-host HOST` - Host address (default: 0.0.0.0)
379
- - `--sse-allowed-origins LIST` - Comma-separated allowed origins
380
- - `--sse-enable-dns-protection` - Enable DNS rebinding protection
381
+ - `--host=<host>` - Server host (default: 127.0.0.1; use 0.0.0.0 for all interfaces)
382
+ - `--port=<port>` - Server port (default: 3001 for sse)
383
+ - `--sse-path=<path>` - SSE connection path (default: /sse)
384
+ - `--post-path=<path>` - SSE message post path (default: /messages)
381
385
  - `--env=PATH` - Path to `.env` file (required for SSE mode)
386
+ - `--sse-allowed-hosts=<list>` - Comma-separated exact Host header values for DNS-rebinding protection (includes port, e.g. `localhost:3001`)
387
+ - `--sse-allowed-origins=<list>` - Comma-separated exact Origin header values for DNS-rebinding protection (includes scheme, e.g. `https://app.example.com`)
388
+ - `--sse-enable-dns-protection` - Enable Host/Origin allowlist validation (NOT browser CORS — no Access-Control-Allow-Origin headers are emitted); non-allowlisted Host/Origin → HTTP 403
382
389
 
383
390
  **Example with custom port and host:**
384
391
  ```powershell
385
- mcp-abap-adt --transport=sse --sse-port=4100 --sse-host=127.0.0.1 --env=C:\\path\\to\\your\\e19.env
392
+ mcp-abap-adt --transport=sse --port=4100 --host=127.0.0.1 --env=C:\\path\\to\\your\\e19.env
386
393
  ```
387
394
 
388
395
  Server will be available at: `http://127.0.0.1:4100/sse`