@mcp-abap-adt/core 7.1.1 → 7.1.3
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 +28 -0
- package/README.md +6 -9
- package/dist/lib/config/ServerConfigManager.d.ts.map +1 -1
- package/dist/lib/config/ServerConfigManager.js +10 -2
- package/dist/lib/config/ServerConfigManager.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 +7 -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 +12 -20
- package/docs/installation/INSTALLATION.md +34 -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 +28 -27
- package/docs/installation/platforms/INSTALL_MACOS.md +27 -26
- package/docs/installation/platforms/INSTALL_WINDOWS.md +27 -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 +35 -84
- package/docs/user-guide/HANDLERS_MANAGEMENT.md +9 -9
- package/docs/user-guide/README.md +8 -8
- package/package.json +3 -3
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
Generated from code in `src/handlers/**` (not from docs).
|
|
4
4
|
|
|
5
5
|
- Level: Read-Only
|
|
6
|
-
- Total tools:
|
|
6
|
+
- Total tools: 59
|
|
7
7
|
|
|
8
8
|
## Navigation
|
|
9
9
|
|
|
@@ -24,6 +24,10 @@ Generated from code in `src/handlers/**` (not from docs).
|
|
|
24
24
|
- [GetEnhancementSpot](#getenhancementspot-read-only-enhancement)
|
|
25
25
|
- [Function Group](#read-only-function-group)
|
|
26
26
|
- [ReadFunctionGroup](#readfunctiongroup-read-only-function-group)
|
|
27
|
+
- [Function Include](#read-only-function-include)
|
|
28
|
+
- [ListFunctionGroupIncludes](#listfunctiongroupincludes-read-only-function-include)
|
|
29
|
+
- [ListFunctionModules](#listfunctionmodules-read-only-function-include)
|
|
30
|
+
- [ReadFunctionInclude](#readfunctioninclude-read-only-function-include)
|
|
27
31
|
- [Function Module](#read-only-function-module)
|
|
28
32
|
- [ReadFunctionModule](#readfunctionmodule-read-only-function-module)
|
|
29
33
|
- [Include](#read-only-include)
|
|
@@ -47,6 +51,7 @@ Generated from code in `src/handlers/**` (not from docs).
|
|
|
47
51
|
- [Service Definition](#read-only-service-definition)
|
|
48
52
|
- [ReadServiceDefinition](#readservicedefinition-read-only-service-definition)
|
|
49
53
|
- [Structure](#read-only-structure)
|
|
54
|
+
- [GetStructuresList](#getstructureslist-read-only-structure)
|
|
50
55
|
- [ReadStructure](#readstructure-read-only-structure)
|
|
51
56
|
- [System](#read-only-system)
|
|
52
57
|
- [DescribeByList](#describebylist-read-only-system)
|
|
@@ -218,6 +223,44 @@ Generated from code in `src/handlers/**` (not from docs).
|
|
|
218
223
|
|
|
219
224
|
---
|
|
220
225
|
|
|
226
|
+
<a id="read-only-function-include"></a>
|
|
227
|
+
### Read-Only / Function Include
|
|
228
|
+
|
|
229
|
+
<a id="listfunctiongroupincludes-read-only-function-include"></a>
|
|
230
|
+
#### ListFunctionGroupIncludes (Read-Only / Function Include)
|
|
231
|
+
**Description:** [read-only] List the includes (TOP, custom) of an ABAP function group.
|
|
232
|
+
|
|
233
|
+
**Source:** `src/handlers/function_include/readonly/handleListFunctionGroupIncludes.ts`
|
|
234
|
+
|
|
235
|
+
**Parameters:**
|
|
236
|
+
- `function_group_name` (string, required) - Function group name (e.g., Z_MY_FG).
|
|
237
|
+
|
|
238
|
+
---
|
|
239
|
+
|
|
240
|
+
<a id="listfunctionmodules-read-only-function-include"></a>
|
|
241
|
+
#### ListFunctionModules (Read-Only / Function Include)
|
|
242
|
+
**Description:** [read-only] List the function modules of an ABAP function group.
|
|
243
|
+
|
|
244
|
+
**Source:** `src/handlers/function_include/readonly/handleListFunctionModules.ts`
|
|
245
|
+
|
|
246
|
+
**Parameters:**
|
|
247
|
+
- `function_group_name` (string, required) - Function group name (e.g., Z_MY_FG).
|
|
248
|
+
|
|
249
|
+
---
|
|
250
|
+
|
|
251
|
+
<a id="readfunctioninclude-read-only-function-include"></a>
|
|
252
|
+
#### ReadFunctionInclude (Read-Only / Function Include)
|
|
253
|
+
**Description:** [read-only] Read ABAP function group include source code and metadata. Answers: "show function group include code", "display include source", "view include of function group". Returns source code and include metadata.
|
|
254
|
+
|
|
255
|
+
**Source:** `src/handlers/function_include/readonly/handleReadFunctionInclude.ts`
|
|
256
|
+
|
|
257
|
+
**Parameters:**
|
|
258
|
+
- `function_group_name` (string, required) - Function group name containing the include (e.g., Z_MY_FG).
|
|
259
|
+
- `include_name` (string, required) - Include name (e.g., LZ_MY_FGTOP, LZ_MY_FGU01).
|
|
260
|
+
- `version` (string, optional (default: active)) - Version to read: "active" (default) or "inactive".
|
|
261
|
+
|
|
262
|
+
---
|
|
263
|
+
|
|
221
264
|
<a id="read-only-function-module"></a>
|
|
222
265
|
### Read-Only / Function Module
|
|
223
266
|
|
|
@@ -411,6 +454,20 @@ Generated from code in `src/handlers/**` (not from docs).
|
|
|
411
454
|
<a id="read-only-structure"></a>
|
|
412
455
|
### Read-Only / Structure
|
|
413
456
|
|
|
457
|
+
<a id="getstructureslist-read-only-structure"></a>
|
|
458
|
+
#### GetStructuresList (Read-Only / Structure)
|
|
459
|
+
**Description:** [read-only] Recursively list the structures embedded in an ABAP structure (.INCLUDE / append), as a tree.
|
|
460
|
+
|
|
461
|
+
**Source:** `src/handlers/structure/readonly/handleGetStructuresList.ts`
|
|
462
|
+
|
|
463
|
+
**Parameters:**
|
|
464
|
+
- `include_extensions` (boolean, optional (default: true)) - [read-only] Also find extension (append) structures via where-used (objects that `extend type <this> with …`). Default true. Set false to skip the (slower) where-used lookups and return includes only.
|
|
465
|
+
- `structure_name` (string, required) - Structure name (e.g., Z_MY_STRUCTURE).
|
|
466
|
+
- `timeout` (number, optional) - [read-only] Timeout in ms for each ADT request.
|
|
467
|
+
- `version` (string, optional (default: active)) - Version to read: "active" (default) or "inactive".
|
|
468
|
+
|
|
469
|
+
---
|
|
470
|
+
|
|
414
471
|
<a id="readstructure-read-only-structure"></a>
|
|
415
472
|
#### ReadStructure (Read-Only / Structure)
|
|
416
473
|
**Description:** Operation: Read, Create, Update. Subject: Structure. Will be useful for reading, creating, or updating structure. [read-only] Read ABAP structure definition and metadata. Answers: "show structure fields", "display structure X", "view structure definition", "get structure components". Returns field list, package, responsible, description.
|
|
@@ -900,4 +957,4 @@ Generated from code in `src/handlers/**` (not from docs).
|
|
|
900
957
|
|
|
901
958
|
---
|
|
902
959
|
|
|
903
|
-
*Last updated: 2026-
|
|
960
|
+
*Last updated: 2026-06-20*
|
|
@@ -8,9 +8,9 @@ If you prefer not to edit JSON/TOML by hand, use the configurator CLI:
|
|
|
8
8
|
## Overview
|
|
9
9
|
|
|
10
10
|
The `mcp-abap-adt` server supports multiple transport modes:
|
|
11
|
-
- **
|
|
12
|
-
- **
|
|
13
|
-
- **sse** - Server-Sent Events transport
|
|
11
|
+
- **stdio** - Standard input/output (default; for MCP clients like Cline, Cursor)
|
|
12
|
+
- **streamable-http** - HTTP-based transport with streaming support (requires `--transport=http`)
|
|
13
|
+
- **sse** - Server-Sent Events transport (requires `--transport=sse`)
|
|
14
14
|
|
|
15
15
|
For HTTP-based transports (streamable-http and sse), you can configure SAP connection parameters via HTTP headers, allowing dynamic connection configuration per request.
|
|
16
16
|
|
|
@@ -471,7 +471,7 @@ The server can be started in HTTP mode with:
|
|
|
471
471
|
```bash
|
|
472
472
|
npm run start:http
|
|
473
473
|
# or
|
|
474
|
-
node dist/index.js --transport streamable-http --
|
|
474
|
+
node dist/index.js --transport streamable-http --port 3000
|
|
475
475
|
```
|
|
476
476
|
|
|
477
477
|
### Environment Variables
|
|
@@ -29,7 +29,7 @@ Load server configuration from a YAML file instead of command-line arguments. If
|
|
|
29
29
|
mcp-abap-adt --conf=config.yaml
|
|
30
30
|
|
|
31
31
|
# Override YAML values with command-line arguments
|
|
32
|
-
mcp-abap-adt --conf=config.yaml --
|
|
32
|
+
mcp-abap-adt --conf=config.yaml --port=8080
|
|
33
33
|
```
|
|
34
34
|
|
|
35
35
|
**Benefits:**
|
|
@@ -126,7 +126,7 @@ mcp-abap-adt --transport=http
|
|
|
126
126
|
mcp-abap-adt --transport=sse
|
|
127
127
|
```
|
|
128
128
|
|
|
129
|
-
**Note:**
|
|
129
|
+
**Note:** The default transport is `stdio`; running bare `mcp-abap-adt` starts stdio. Select the transport explicitly with `--transport=stdio|http|sse`. There are no `--http`/`--sse` standalone shortcuts; configure host and port with the generic `--host`/`--port` flags (and the path flags `--path`/`--sse-path`/`--post-path`).
|
|
130
130
|
|
|
131
131
|
## SAP Connection Type
|
|
132
132
|
|
|
@@ -227,17 +227,17 @@ Used with `--transport=http` or `--transport=streamable-http`.
|
|
|
227
227
|
|
|
228
228
|
### Port Configuration
|
|
229
229
|
|
|
230
|
-
**--
|
|
230
|
+
**--port=\<port\>**
|
|
231
231
|
|
|
232
232
|
HTTP server port (default: 3000).
|
|
233
233
|
|
|
234
234
|
```bash
|
|
235
|
-
mcp-abap-adt --transport=http --
|
|
235
|
+
mcp-abap-adt --transport=http --port=8080
|
|
236
236
|
```
|
|
237
237
|
|
|
238
238
|
### Host Binding
|
|
239
239
|
|
|
240
|
-
**--
|
|
240
|
+
**--host=\<host\>**
|
|
241
241
|
|
|
242
242
|
HTTP server host address (default: 127.0.0.1, localhost only for security).
|
|
243
243
|
|
|
@@ -247,10 +247,10 @@ HTTP server host address (default: 127.0.0.1, localhost only for security).
|
|
|
247
247
|
|
|
248
248
|
```bash
|
|
249
249
|
# Bind to localhost only (default, secure)
|
|
250
|
-
mcp-abap-adt --transport=http --
|
|
250
|
+
mcp-abap-adt --transport=http --host=127.0.0.1
|
|
251
251
|
|
|
252
252
|
# Bind to all interfaces (less secure, client must provide all headers)
|
|
253
|
-
mcp-abap-adt --transport=http --
|
|
253
|
+
mcp-abap-adt --transport=http --host=0.0.0.0
|
|
254
254
|
```
|
|
255
255
|
|
|
256
256
|
**When using 0.0.0.0:**
|
|
@@ -258,56 +258,32 @@ mcp-abap-adt --transport=http --http-host=0.0.0.0
|
|
|
258
258
|
- Server acts as a simple proxy - no default destination lookup
|
|
259
259
|
- All responsibility for connection configuration is on the client
|
|
260
260
|
|
|
261
|
-
###
|
|
261
|
+
### Path Configuration
|
|
262
262
|
|
|
263
|
-
**--http-
|
|
263
|
+
**--path=\<path\>** (alias **--http-path=\<path\>**)
|
|
264
264
|
|
|
265
|
-
|
|
265
|
+
HTTP endpoint path (default: /mcp/stream/http).
|
|
266
266
|
|
|
267
267
|
```bash
|
|
268
|
-
mcp-abap-adt --transport=http --http
|
|
268
|
+
mcp-abap-adt --transport=http --path=/mcp/stream/http
|
|
269
269
|
```
|
|
270
270
|
|
|
271
|
-
###
|
|
272
|
-
|
|
273
|
-
**--http-allowed-origins=\<list\>**
|
|
274
|
-
|
|
275
|
-
Comma-separated list of allowed origins for CORS.
|
|
276
|
-
|
|
277
|
-
```bash
|
|
278
|
-
# Single origin
|
|
279
|
-
mcp-abap-adt --transport=http --http-allowed-origins=http://localhost:3000
|
|
280
|
-
|
|
281
|
-
# Multiple origins
|
|
282
|
-
mcp-abap-adt --transport=http --http-allowed-origins=http://localhost:3000,https://app.example.com
|
|
283
|
-
```
|
|
284
|
-
|
|
285
|
-
**--http-allowed-hosts=\<list\>**
|
|
286
|
-
|
|
287
|
-
Comma-separated list of allowed hosts.
|
|
288
|
-
|
|
289
|
-
```bash
|
|
290
|
-
mcp-abap-adt --transport=http --http-allowed-hosts=localhost,myapp.local
|
|
291
|
-
```
|
|
292
|
-
|
|
293
|
-
### Security
|
|
271
|
+
### Response Format
|
|
294
272
|
|
|
295
|
-
**--http-
|
|
273
|
+
**--http-json-response**
|
|
296
274
|
|
|
297
|
-
Enable
|
|
275
|
+
Enable JSON response format.
|
|
298
276
|
|
|
299
277
|
```bash
|
|
300
|
-
mcp-abap-adt --transport=http --http-
|
|
278
|
+
mcp-abap-adt --transport=http --http-json-response
|
|
301
279
|
```
|
|
302
280
|
|
|
303
281
|
### Complete HTTP Example
|
|
304
282
|
|
|
305
283
|
```bash
|
|
306
284
|
mcp-abap-adt --transport=http \
|
|
307
|
-
--
|
|
308
|
-
--
|
|
309
|
-
--http-allowed-origins=http://localhost:3000,https://myapp.com \
|
|
310
|
-
--http-enable-dns-protection \
|
|
285
|
+
--port=8080 \
|
|
286
|
+
--host=0.0.0.0 \
|
|
311
287
|
--env-path=~/configs/sap-prod.env
|
|
312
288
|
```
|
|
313
289
|
|
|
@@ -317,17 +293,17 @@ Used with `mcp-abap-adt --transport=sse` or `--transport=sse`.
|
|
|
317
293
|
|
|
318
294
|
### Port Configuration
|
|
319
295
|
|
|
320
|
-
**--
|
|
296
|
+
**--port=\<port\>**
|
|
321
297
|
|
|
322
298
|
SSE server port (default: 3001).
|
|
323
299
|
|
|
324
300
|
```bash
|
|
325
|
-
mcp-abap-adt --transport=sse --
|
|
301
|
+
mcp-abap-adt --transport=sse --port=8081
|
|
326
302
|
```
|
|
327
303
|
|
|
328
304
|
### Host Binding
|
|
329
305
|
|
|
330
|
-
**--
|
|
306
|
+
**--host=\<host\>**
|
|
331
307
|
|
|
332
308
|
SSE server host address (default: 127.0.0.1, localhost only for security).
|
|
333
309
|
|
|
@@ -337,10 +313,10 @@ SSE server host address (default: 127.0.0.1, localhost only for security).
|
|
|
337
313
|
|
|
338
314
|
```bash
|
|
339
315
|
# Bind to localhost only (default, secure)
|
|
340
|
-
mcp-abap-adt --transport=sse --
|
|
316
|
+
mcp-abap-adt --transport=sse --host=127.0.0.1
|
|
341
317
|
|
|
342
318
|
# Bind to all interfaces (less secure, client must provide all headers)
|
|
343
|
-
mcp-abap-adt --transport=sse --
|
|
319
|
+
mcp-abap-adt --transport=sse --host=0.0.0.0
|
|
344
320
|
```
|
|
345
321
|
|
|
346
322
|
**When using 0.0.0.0:**
|
|
@@ -348,42 +324,26 @@ mcp-abap-adt --transport=sse --sse-host=0.0.0.0
|
|
|
348
324
|
- Server acts as a simple proxy - no default destination lookup
|
|
349
325
|
- All responsibility for connection configuration is on the client
|
|
350
326
|
|
|
351
|
-
###
|
|
352
|
-
|
|
353
|
-
**--sse-allowed-origins=\<list\>**
|
|
354
|
-
|
|
355
|
-
Comma-separated list of allowed origins for CORS.
|
|
327
|
+
### Path Configuration
|
|
356
328
|
|
|
357
|
-
|
|
358
|
-
mcp-abap-adt --transport=sse --sse-allowed-origins=http://localhost:3000,https://app.example.com
|
|
359
|
-
```
|
|
360
|
-
|
|
361
|
-
**--sse-allowed-hosts=\<list\>**
|
|
362
|
-
|
|
363
|
-
Comma-separated list of allowed hosts.
|
|
364
|
-
|
|
365
|
-
```bash
|
|
366
|
-
mcp-abap-adt --transport=sse --sse-allowed-hosts=localhost,myapp.local
|
|
367
|
-
```
|
|
329
|
+
**--sse-path=\<path\>**
|
|
368
330
|
|
|
369
|
-
|
|
331
|
+
SSE connection path (default: /sse).
|
|
370
332
|
|
|
371
|
-
**--
|
|
333
|
+
**--post-path=\<path\>**
|
|
372
334
|
|
|
373
|
-
|
|
335
|
+
SSE message post path (default: /messages).
|
|
374
336
|
|
|
375
337
|
```bash
|
|
376
|
-
mcp-abap-adt --transport=sse --sse-
|
|
338
|
+
mcp-abap-adt --transport=sse --sse-path=/sse --post-path=/messages
|
|
377
339
|
```
|
|
378
340
|
|
|
379
341
|
### Complete SSE Example
|
|
380
342
|
|
|
381
343
|
```bash
|
|
382
344
|
mcp-abap-adt --transport=sse \
|
|
383
|
-
--
|
|
384
|
-
--
|
|
385
|
-
--sse-allowed-origins=http://localhost:3000 \
|
|
386
|
-
--sse-enable-dns-protection \
|
|
345
|
+
--port=3001 \
|
|
346
|
+
--host=0.0.0.0 \
|
|
387
347
|
--env-path=~/configs/sap-dev.env
|
|
388
348
|
```
|
|
389
349
|
|
|
@@ -406,17 +366,11 @@ Alternative to command line arguments. Environment variables can be set in shell
|
|
|
406
366
|
- `MCP_HTTP_PORT` - Default HTTP port
|
|
407
367
|
- `MCP_HTTP_HOST` - Default HTTP host (default: 127.0.0.1)
|
|
408
368
|
- `MCP_HTTP_ENABLE_JSON_RESPONSE` - Enable JSON responses (true|false)
|
|
409
|
-
- `MCP_HTTP_ALLOWED_ORIGINS` - Allowed CORS origins (comma-separated)
|
|
410
|
-
- `MCP_HTTP_ALLOWED_HOSTS` - Allowed hosts (comma-separated)
|
|
411
|
-
- `MCP_HTTP_ENABLE_DNS_PROTECTION` - Enable DNS protection (true|false)
|
|
412
369
|
|
|
413
370
|
### SSE Transport
|
|
414
371
|
|
|
415
372
|
- `MCP_SSE_PORT` - Default SSE port
|
|
416
373
|
- `MCP_SSE_HOST` - Default SSE host
|
|
417
|
-
- `MCP_SSE_ALLOWED_ORIGINS` - Allowed CORS origins (comma-separated)
|
|
418
|
-
- `MCP_SSE_ALLOWED_HOSTS` - Allowed hosts (comma-separated)
|
|
419
|
-
- `MCP_SSE_ENABLE_DNS_PROTECTION` - Enable DNS protection (true|false)
|
|
420
374
|
|
|
421
375
|
### SAP Connection
|
|
422
376
|
|
|
@@ -459,7 +413,6 @@ These are typically set in `.env` file:
|
|
|
459
413
|
**Shell environment:**
|
|
460
414
|
```bash
|
|
461
415
|
export MCP_HTTP_PORT=8080
|
|
462
|
-
export MCP_HTTP_ALLOWED_ORIGINS=http://localhost:3000
|
|
463
416
|
mcp-abap-adt --transport=http
|
|
464
417
|
```
|
|
465
418
|
|
|
@@ -467,7 +420,6 @@ mcp-abap-adt --transport=http
|
|
|
467
420
|
```bash
|
|
468
421
|
# ~/.mcp-abap-adt.env
|
|
469
422
|
MCP_HTTP_PORT=8080
|
|
470
|
-
MCP_HTTP_ALLOWED_ORIGINS=http://localhost:3000,https://myapp.com
|
|
471
423
|
|
|
472
424
|
# Use it
|
|
473
425
|
mcp-abap-adt --transport=http --env-path ~/.mcp-abap-adt.env
|
|
@@ -477,7 +429,7 @@ mcp-abap-adt --transport=http --env-path ~/.mcp-abap-adt.env
|
|
|
477
429
|
|
|
478
430
|
When the same option is specified multiple ways, this is the priority order (highest to lowest):
|
|
479
431
|
|
|
480
|
-
1. **Command line arguments** (`--
|
|
432
|
+
1. **Command line arguments** (`--port=8080`)
|
|
481
433
|
2. **Environment variables** (`MCP_HTTP_PORT=8080`)
|
|
482
434
|
3. **Default values**
|
|
483
435
|
|
|
@@ -485,7 +437,7 @@ Example:
|
|
|
485
437
|
```bash
|
|
486
438
|
# Port 9000 wins (command line)
|
|
487
439
|
export MCP_HTTP_PORT=8080
|
|
488
|
-
mcp-abap-adt --transport=http --
|
|
440
|
+
mcp-abap-adt --transport=http --port=9000
|
|
489
441
|
```
|
|
490
442
|
|
|
491
443
|
## Common Usage Patterns
|
|
@@ -544,8 +496,7 @@ EOF
|
|
|
544
496
|
# Run with explicit config
|
|
545
497
|
mcp-abap-adt --transport=http \
|
|
546
498
|
--env-path=/etc/mcp-abap-adt/prod.env \
|
|
547
|
-
--
|
|
548
|
-
--http-enable-dns-protection
|
|
499
|
+
--port=8080
|
|
549
500
|
```
|
|
550
501
|
|
|
551
502
|
### Multi-Environment
|
|
@@ -560,7 +511,7 @@ mcp-abap-adt --transport=http \
|
|
|
560
511
|
# Quick switch
|
|
561
512
|
alias mcp-dev='mcp-abap-adt --env-path=~/sap-configs/dev.env'
|
|
562
513
|
alias mcp-test='mcp-abap-adt --env-path=~/sap-configs/test.env'
|
|
563
|
-
alias mcp-prod='mcp-abap-adt --transport=http --env-path=~/sap-configs/prod.env --
|
|
514
|
+
alias mcp-prod='mcp-abap-adt --transport=http --env-path=~/sap-configs/prod.env --port=8080'
|
|
564
515
|
|
|
565
516
|
# Use
|
|
566
517
|
mcp-dev
|
|
@@ -590,7 +541,7 @@ mcp-abap-adt 2>&1 | grep MCP-ENV
|
|
|
590
541
|
lsof -i :3000
|
|
591
542
|
|
|
592
543
|
# Use different port
|
|
593
|
-
mcp-abap-adt --transport=http --
|
|
544
|
+
mcp-abap-adt --transport=http --port=3001
|
|
594
545
|
```
|
|
595
546
|
|
|
596
547
|
### Can't Find .env File
|
|
@@ -62,7 +62,7 @@ V2 server supports flexible handler set configuration through the `--exposition`
|
|
|
62
62
|
- Object search
|
|
63
63
|
- Code search
|
|
64
64
|
|
|
65
|
-
6. **system** -
|
|
65
|
+
6. **system** - Included only when the exposition includes `readonly` (added alongside the read-only group)
|
|
66
66
|
- Where-used analysis (GetWhereUsed)
|
|
67
67
|
- Type information (GetTypeInfo)
|
|
68
68
|
- Object info (GetObjectInfo)
|
|
@@ -75,25 +75,25 @@ V2 server supports flexible handler set configuration through the `--exposition`
|
|
|
75
75
|
|
|
76
76
|
## Usage
|
|
77
77
|
|
|
78
|
-
**Note:** `search`
|
|
78
|
+
**Note:** The `search` handler group is ALWAYS included regardless of `--exposition`. The `system` handler group is included only when the exposition contains `readonly` (it is registered together with the read-only group). The default exposition is `readonly,high`, so both are present by default.
|
|
79
79
|
|
|
80
80
|
### Command Line
|
|
81
81
|
|
|
82
82
|
```bash
|
|
83
|
-
# Default: readonly + high (+ search + system
|
|
84
|
-
node bin/mcp-abap-adt
|
|
83
|
+
# Default: readonly + high (+ search always; + system because readonly is present)
|
|
84
|
+
node bin/mcp-abap-adt.js --transport=stdio --env-path=.env
|
|
85
85
|
|
|
86
86
|
# Only read-only operations (safest)
|
|
87
|
-
node bin/mcp-abap-adt
|
|
87
|
+
node bin/mcp-abap-adt.js --transport=stdio --env-path=.env --exposition=readonly
|
|
88
88
|
|
|
89
89
|
# Read-only + high-level writes (recommended)
|
|
90
|
-
node bin/mcp-abap-adt
|
|
90
|
+
node bin/mcp-abap-adt.js --transport=stdio --env-path=.env --exposition=readonly,high
|
|
91
91
|
|
|
92
92
|
# Compact facade only
|
|
93
|
-
node bin/mcp-abap-adt
|
|
93
|
+
node bin/mcp-abap-adt.js --transport=stdio --env-path=.env --exposition=compact
|
|
94
94
|
|
|
95
95
|
# Low-level writes (use instead of `high`, not together)
|
|
96
|
-
node bin/mcp-abap-adt
|
|
96
|
+
node bin/mcp-abap-adt.js --transport=stdio --env-path=.env --exposition=readonly,low
|
|
97
97
|
```
|
|
98
98
|
|
|
99
99
|
#### Validation rules
|
|
@@ -129,7 +129,7 @@ Set `MCP_EXPOSITION`:
|
|
|
129
129
|
|
|
130
130
|
```bash
|
|
131
131
|
export MCP_EXPOSITION=readonly,high
|
|
132
|
-
node bin/mcp-abap-adt
|
|
132
|
+
node bin/mcp-abap-adt.js --transport=stdio --env-path=.env
|
|
133
133
|
```
|
|
134
134
|
|
|
135
135
|
## Generating Handler Documentation
|
|
@@ -14,11 +14,11 @@ Install from a pre-built `.tgz` package:
|
|
|
14
14
|
|
|
15
15
|
```bash
|
|
16
16
|
# Install globally
|
|
17
|
-
npm install -g ./
|
|
17
|
+
npm install -g ./mcp-abap-adt-core-<version>.tgz
|
|
18
18
|
|
|
19
19
|
# Available commands:
|
|
20
|
-
mcp-abap-adt #
|
|
21
|
-
mcp-abap-adt --transport=
|
|
20
|
+
mcp-abap-adt # stdio transport (default, for MCP clients)
|
|
21
|
+
mcp-abap-adt --transport=http # HTTP server
|
|
22
22
|
mcp-abap-adt --transport=sse # SSE server
|
|
23
23
|
```
|
|
24
24
|
|
|
@@ -33,7 +33,7 @@ SAP_JWT_TOKEN=your-jwt-token
|
|
|
33
33
|
EOF
|
|
34
34
|
|
|
35
35
|
# Run HTTP server
|
|
36
|
-
mcp-abap-adt --transport=http --port
|
|
36
|
+
mcp-abap-adt --transport=http --port=3000
|
|
37
37
|
```
|
|
38
38
|
|
|
39
39
|
See [Installation Guide](../installation/INSTALLATION.md#package-installation-details) for detailed instructions.
|
|
@@ -91,7 +91,7 @@ objects for each package. Each object includes:
|
|
|
91
91
|
|
|
92
92
|
After installing from package, these commands are available:
|
|
93
93
|
|
|
94
|
-
### `mcp-abap-adt` - Default
|
|
94
|
+
### `mcp-abap-adt` - Default stdio transport
|
|
95
95
|
```bash
|
|
96
96
|
mcp-abap-adt [--env <destination>] [--env-path /path/to/.env]
|
|
97
97
|
```
|
|
@@ -113,15 +113,15 @@ Starts HTTP server with Server-Sent Events transport.
|
|
|
113
113
|
|
|
114
114
|
### Example 1: HTTP Server on Port 8080
|
|
115
115
|
```bash
|
|
116
|
-
mcp-abap-adt --transport=http --port
|
|
116
|
+
mcp-abap-adt --transport=http --port=8080
|
|
117
117
|
```
|
|
118
118
|
|
|
119
119
|
### Example 2: SSE Server Accessible from Network
|
|
120
120
|
```bash
|
|
121
|
-
mcp-abap-adt --transport=sse --host
|
|
121
|
+
mcp-abap-adt --transport=sse --host=0.0.0.0 --port=3000
|
|
122
122
|
```
|
|
123
123
|
|
|
124
124
|
### Example 3: Custom Environment File
|
|
125
125
|
```bash
|
|
126
|
-
mcp-abap-adt --transport=http --env-path /opt/config/.env.production --port
|
|
126
|
+
mcp-abap-adt --transport=http --env-path /opt/config/.env.production --port=8080
|
|
127
127
|
```
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@mcp-abap-adt/core",
|
|
3
3
|
"mcpName": "io.github.fr0ster/mcp-abap-adt",
|
|
4
|
-
"version": "7.1.
|
|
4
|
+
"version": "7.1.3",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
7
7
|
"exports": {
|
|
@@ -50,6 +50,7 @@
|
|
|
50
50
|
"shared:setup": "jest --testPathPatterns='admin/shared-deps/setup' --testPathIgnorePatterns='[]' --runInBand --passWithNoTests",
|
|
51
51
|
"shared:teardown": "jest --testPathPatterns='admin/shared-deps/teardown' --testPathIgnorePatterns='[]' --runInBand --passWithNoTests",
|
|
52
52
|
"shared:check": "jest --testPathPatterns='admin/shared-deps/check' --testPathIgnorePatterns='[]' --passWithNoTests",
|
|
53
|
+
"polygon:backup": "adt-backup backup --package ZMCP_SHR_PKG --env-path trial.env --output tests/fixtures/polygon.backup.yaml",
|
|
53
54
|
"lint": "npx biome check --write src",
|
|
54
55
|
"lint:check": "npx biome check src",
|
|
55
56
|
"format": "npx biome format --write src",
|
|
@@ -169,8 +170,7 @@
|
|
|
169
170
|
"CHANGELOG.md"
|
|
170
171
|
],
|
|
171
172
|
"bin": {
|
|
172
|
-
"mcp-abap-adt": "./bin/mcp-abap-adt.js"
|
|
173
|
-
"mcp-abap-adt-v2": "./bin/mcp-abap-adt-v2.js"
|
|
173
|
+
"mcp-abap-adt": "./bin/mcp-abap-adt.js"
|
|
174
174
|
},
|
|
175
175
|
"jest": {
|
|
176
176
|
"preset": "ts-jest",
|