@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.
- package/CHANGELOG.md +33 -0
- package/README.md +6 -9
- package/dist/lib/config/IServerConfig.d.ts +6 -0
- package/dist/lib/config/IServerConfig.d.ts.map +1 -1
- package/dist/lib/config/ServerConfigManager.d.ts.map +1 -1
- package/dist/lib/config/ServerConfigManager.js +22 -2
- package/dist/lib/config/ServerConfigManager.js.map +1 -1
- package/dist/server/SseServer.d.ts +9 -0
- package/dist/server/SseServer.d.ts.map +1 -1
- package/dist/server/SseServer.js +16 -4
- package/dist/server/SseServer.js.map +1 -1
- package/dist/server/StreamableHttpServer.d.ts +9 -0
- package/dist/server/StreamableHttpServer.d.ts.map +1 -1
- package/dist/server/StreamableHttpServer.js +15 -3
- package/dist/server/StreamableHttpServer.js.map +1 -1
- package/dist/server/dnsRebindingProtection.d.ts +21 -0
- package/dist/server/dnsRebindingProtection.d.ts.map +1 -0
- package/dist/server/dnsRebindingProtection.js +45 -0
- package/dist/server/dnsRebindingProtection.js.map +1 -0
- package/dist/server/launcher.js +6 -0
- package/dist/server/launcher.js.map +1 -1
- package/docs/architecture/ARCHITECTURE.md +8 -6
- package/docs/architecture/HANDLER_EXPORTER.md +6 -6
- package/docs/architecture/README.md +1 -1
- package/docs/architecture/TOOLS_ARCHITECTURE.md +13 -4
- package/docs/configuration/YAML_CONFIG.md +19 -23
- package/docs/deployment/GITHUB_ACTIONS.md +2 -2
- package/docs/development/ASSISTANT_GUIDELINES.md +1 -1
- package/docs/development/tests/TESTING_AUTH.md +3 -3
- package/docs/installation/CLINE_CONFIGURATION.md +17 -21
- package/docs/installation/INSTALLATION.md +46 -38
- package/docs/installation/examples/README.md +10 -10
- package/docs/installation/examples/SERVICE_KEY_SETUP.md +3 -3
- package/docs/installation/examples/cline-stdio-npx-config.json +1 -1
- package/docs/installation/platforms/INSTALL_LINUX.md +34 -27
- package/docs/installation/platforms/INSTALL_MACOS.md +33 -26
- package/docs/installation/platforms/INSTALL_WINDOWS.md +33 -26
- package/docs/user-guide/AVAILABLE_TOOLS.md +110 -4
- package/docs/user-guide/AVAILABLE_TOOLS_COMPACT.md +1 -1
- package/docs/user-guide/AVAILABLE_TOOLS_HIGH.md +51 -2
- package/docs/user-guide/AVAILABLE_TOOLS_LEGACY.md +128 -4
- package/docs/user-guide/AVAILABLE_TOOLS_LOW.md +1 -1
- package/docs/user-guide/AVAILABLE_TOOLS_READONLY.md +59 -2
- package/docs/user-guide/CLIENT_CONFIGURATION.md +4 -4
- package/docs/user-guide/CLI_OPTIONS.md +76 -71
- package/docs/user-guide/HANDLERS_MANAGEMENT.md +9 -9
- package/docs/user-guide/README.md +8 -8
- 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 @
|
|
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 @
|
|
36
|
+
npx @mcp-abap-adt/core --transport=http --port=3000
|
|
37
37
|
|
|
38
38
|
# Or force auth-broker (ignores .env)
|
|
39
|
-
npx @
|
|
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 --
|
|
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 @
|
|
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 --
|
|
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 @
|
|
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 --
|
|
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
|
-
"@
|
|
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
|
-
"@
|
|
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 @
|
|
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 --
|
|
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 --
|
|
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:**
|
|
@@ -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 ./
|
|
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` -
|
|
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
|
|
162
|
+
mcp-abap-adt --transport=http --port=8080
|
|
163
163
|
|
|
164
164
|
# SSE server accessible from network
|
|
165
|
-
mcp-abap-adt --transport=sse --host
|
|
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
|
|
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/
|
|
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
|
|
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 ./
|
|
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. **
|
|
265
|
-
2. **
|
|
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 @
|
|
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
|
|
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/@
|
|
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
|
|
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 (
|
|
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 --
|
|
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
|
-
- `--
|
|
371
|
-
- `--
|
|
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 --
|
|
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 --
|
|
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
|
-
- `--
|
|
424
|
-
- `--
|
|
425
|
-
- `--sse-
|
|
426
|
-
- `--
|
|
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 --
|
|
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 ./
|
|
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` -
|
|
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
|
|
118
|
+
mcp-abap-adt --transport=http --port=8080
|
|
119
119
|
|
|
120
120
|
# SSE server accessible from network
|
|
121
|
-
mcp-abap-adt --transport=sse --host
|
|
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
|
|
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/
|
|
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
|
|
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. **
|
|
210
|
-
2. **
|
|
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 @
|
|
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
|
|
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/@
|
|
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
|
|
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 (
|
|
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 --
|
|
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
|
-
- `--
|
|
316
|
-
- `--
|
|
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 --
|
|
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 --
|
|
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
|
-
- `--
|
|
369
|
-
- `--
|
|
370
|
-
- `--sse-
|
|
371
|
-
- `--
|
|
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 --
|
|
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 .\
|
|
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` -
|
|
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
|
|
111
|
+
mcp-abap-adt --transport=http --port=8080
|
|
112
112
|
|
|
113
113
|
# SSE server accessible from network
|
|
114
|
-
mcp-abap-adt --transport=sse --host
|
|
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
|
|
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\
|
|
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
|
|
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. **
|
|
199
|
-
2. **
|
|
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 @
|
|
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
|
|
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\\@
|
|
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
|
|
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 (
|
|
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 --
|
|
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
|
-
- `--
|
|
325
|
-
- `--
|
|
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 --
|
|
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 --
|
|
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
|
-
- `--
|
|
378
|
-
- `--
|
|
379
|
-
- `--sse-
|
|
380
|
-
- `--
|
|
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 --
|
|
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`
|