@mcp-abap-adt/core 2.2.5 → 2.2.6

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 (52) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/README.md +19 -8
  3. package/dist/handlers/function/high/handleUpdateFunctionModule.d.ts.map +1 -1
  4. package/dist/handlers/function/high/handleUpdateFunctionModule.js +31 -1
  5. package/dist/handlers/function/high/handleUpdateFunctionModule.js.map +1 -1
  6. package/dist/handlers/function/low/handleLockFunctionModule.d.ts.map +1 -1
  7. package/dist/handlers/function/low/handleLockFunctionModule.js +4 -2
  8. package/dist/handlers/function/low/handleLockFunctionModule.js.map +1 -1
  9. package/dist/handlers/function/low/handleUpdateFunctionModule.d.ts +6 -1
  10. package/dist/handlers/function/low/handleUpdateFunctionModule.d.ts.map +1 -1
  11. package/dist/handlers/function/low/handleUpdateFunctionModule.js +12 -3
  12. package/dist/handlers/function/low/handleUpdateFunctionModule.js.map +1 -1
  13. package/dist/handlers/function/readonly/handleGetFunction.d.ts +1 -1
  14. package/dist/handlers/function/readonly/handleGetFunction.d.ts.map +1 -1
  15. package/dist/handlers/function/readonly/handleGetFunction.js +9 -7
  16. package/dist/handlers/function/readonly/handleGetFunction.js.map +1 -1
  17. package/dist/handlers/function_module/high/handleDeleteFunctionModule.d.ts +6 -1
  18. package/dist/handlers/function_module/high/handleDeleteFunctionModule.d.ts.map +1 -1
  19. package/dist/handlers/function_module/high/handleDeleteFunctionModule.js +12 -5
  20. package/dist/handlers/function_module/high/handleDeleteFunctionModule.js.map +1 -1
  21. package/dist/handlers/function_module/high/handleGetFunctionModule.d.ts +6 -1
  22. package/dist/handlers/function_module/high/handleGetFunctionModule.d.ts.map +1 -1
  23. package/dist/handlers/function_module/high/handleGetFunctionModule.js +12 -6
  24. package/dist/handlers/function_module/high/handleGetFunctionModule.js.map +1 -1
  25. package/dist/lib/config/ArgumentsParser.d.ts.map +1 -1
  26. package/dist/lib/config/ArgumentsParser.js +20 -21
  27. package/dist/lib/config/ArgumentsParser.js.map +1 -1
  28. package/dist/lib/config/ServerConfigManager.d.ts.map +1 -1
  29. package/dist/lib/config/ServerConfigManager.js +8 -3
  30. package/dist/lib/config/ServerConfigManager.js.map +1 -1
  31. package/dist/lib/config/envResolver.d.ts +6 -0
  32. package/dist/lib/config/envResolver.d.ts.map +1 -0
  33. package/dist/lib/config/envResolver.js +84 -0
  34. package/dist/lib/config/envResolver.js.map +1 -0
  35. package/dist/lib/config/runtimeConfig.d.ts.map +1 -1
  36. package/dist/lib/config/runtimeConfig.js +27 -14
  37. package/dist/lib/config/runtimeConfig.js.map +1 -1
  38. package/dist/lib/utils.d.ts.map +1 -1
  39. package/dist/lib/utils.js +10 -6
  40. package/dist/lib/utils.js.map +1 -1
  41. package/dist/server/launcher.js +1 -1
  42. package/docs/installation/INSTALLATION.md +17 -12
  43. package/docs/user-guide/AUTHENTICATION.md +3 -2
  44. package/docs/user-guide/AVAILABLE_TOOLS.md +815 -526
  45. package/docs/user-guide/AVAILABLE_TOOLS_HIGH.md +1417 -0
  46. package/docs/user-guide/AVAILABLE_TOOLS_LOW.md +1945 -0
  47. package/docs/user-guide/AVAILABLE_TOOLS_READONLY.md +405 -0
  48. package/docs/user-guide/CLIENT_CONFIGURATION.md +24 -16
  49. package/docs/user-guide/CLI_OPTIONS.md +28 -22
  50. package/docs/user-guide/HANDLERS_MANAGEMENT.md +5 -5
  51. package/docs/user-guide/README.md +12 -6
  52. package/package.json +1 -1
@@ -0,0 +1,405 @@
1
+ # Read-Only Tools - MCP ABAP ADT Server
2
+
3
+ Generated from code in `src/handlers/**` (not from docs).
4
+
5
+ - Level: Read-Only
6
+ - Total tools: 27
7
+
8
+ ## Navigation
9
+
10
+ - [Read-Only Group](#read-only-group)
11
+ - [Enhancement](#read-only-enhancement)
12
+ - [GetEnhancementImpl](#getenhancementimpl-read-only-enhancement)
13
+ - [GetEnhancements](#getenhancements-read-only-enhancement)
14
+ - [GetEnhancementSpot](#getenhancementspot-read-only-enhancement)
15
+ - [Function](#read-only-function)
16
+ - [GetFunction](#getfunction-read-only-function)
17
+ - [Include](#read-only-include)
18
+ - [GetInclude](#getinclude-read-only-include)
19
+ - [GetIncludesList](#getincludeslist-read-only-include)
20
+ - [Package](#read-only-package)
21
+ - [GetPackageContents](#getpackagecontents-read-only-package)
22
+ - [Program](#read-only-program)
23
+ - [GetProgFullCode](#getprogfullcode-read-only-program)
24
+ - [Search](#read-only-search)
25
+ - [GetObjectsByType](#getobjectsbytype-read-only-search)
26
+ - [GetObjectsList](#getobjectslist-read-only-search)
27
+ - [SearchObject](#searchobject-read-only-search)
28
+ - [System](#read-only-system)
29
+ - [DescribeByList](#describebylist-read-only-system)
30
+ - [GetAbapAST](#getabapast-read-only-system)
31
+ - [GetAbapSemanticAnalysis](#getabapsemanticanalysis-read-only-system)
32
+ - [GetAbapSystemSymbols](#getabapsystemsymbols-read-only-system)
33
+ - [GetAdtTypes](#getadttypes-read-only-system)
34
+ - [GetInactiveObjects](#getinactiveobjects-read-only-system)
35
+ - [GetObjectInfo](#getobjectinfo-read-only-system)
36
+ - [GetObjectNodeFromCache](#getobjectnodefromcache-read-only-system)
37
+ - [GetObjectStructure](#getobjectstructure-read-only-system)
38
+ - [GetSession](#getsession-read-only-system)
39
+ - [GetSqlQuery](#getsqlquery-read-only-system)
40
+ - [GetTransaction](#gettransaction-read-only-system)
41
+ - [GetTypeInfo](#gettypeinfo-read-only-system)
42
+ - [GetWhereUsed](#getwhereused-read-only-system)
43
+ - [Table](#read-only-table)
44
+ - [GetTableContents](#gettablecontents-read-only-table)
45
+ - [Transport](#read-only-transport)
46
+ - [GetTransport](#gettransport-read-only-transport)
47
+
48
+ ---
49
+
50
+ <a id="read-only-group"></a>
51
+ ## Read-Only Group
52
+
53
+ <a id="read-only-enhancement"></a>
54
+ ### Read-Only / Enhancement
55
+
56
+ <a id="getenhancementimpl-read-only-enhancement"></a>
57
+ #### GetEnhancementImpl (Read-Only / Enhancement)
58
+ **Description:** [read-only] Retrieve source code of a specific enhancement implementation by its name and enhancement spot.
59
+
60
+ **Source:** `src/handlers/enhancement/readonly/handleGetEnhancementImpl.ts`
61
+
62
+ **Parameters:**
63
+ - `enhancement_name` (string, required) - [read-only] Name of the enhancement implementation
64
+ - `enhancement_spot` (string, required) - Name of the enhancement spot
65
+
66
+ ---
67
+
68
+ <a id="getenhancements-read-only-enhancement"></a>
69
+ #### GetEnhancements (Read-Only / Enhancement)
70
+ **Description:** [read-only] Retrieve a list of enhancements for a given ABAP object.
71
+
72
+ **Source:** `src/handlers/enhancement/readonly/handleGetEnhancements.ts`
73
+
74
+ **Parameters:**
75
+ - `object_name` (string, required) - Name of the ABAP object
76
+ - `object_type` (string, required) - [read-only] Type of the ABAP object
77
+
78
+ ---
79
+
80
+ <a id="getenhancementspot-read-only-enhancement"></a>
81
+ #### GetEnhancementSpot (Read-Only / Enhancement)
82
+ **Description:** [read-only] Retrieve metadata and list of implementations for a specific enhancement spot.
83
+
84
+ **Source:** `src/handlers/enhancement/readonly/handleGetEnhancementSpot.ts`
85
+
86
+ **Parameters:**
87
+ - `enhancement_spot` (string, required) - Name of the enhancement spot
88
+
89
+ ---
90
+
91
+ <a id="read-only-function"></a>
92
+ ### Read-Only / Function
93
+
94
+ <a id="getfunction-read-only-function"></a>
95
+ #### GetFunction (Read-Only / Function)
96
+ **Description:** [read-only] Retrieve ABAP Function Module source code.
97
+
98
+ **Source:** `src/handlers/function/readonly/handleGetFunction.ts`
99
+
100
+ **Parameters:**
101
+ - None
102
+
103
+ ---
104
+
105
+ <a id="read-only-include"></a>
106
+ ### Read-Only / Include
107
+
108
+ <a id="getinclude-read-only-include"></a>
109
+ #### GetInclude (Read-Only / Include)
110
+ **Description:** [read-only] Retrieve source code of a specific ABAP include file.
111
+
112
+ **Source:** `src/handlers/include/readonly/handleGetInclude.ts`
113
+
114
+ **Parameters:**
115
+ - None
116
+
117
+ ---
118
+
119
+ <a id="getincludeslist-read-only-include"></a>
120
+ #### GetIncludesList (Read-Only / Include)
121
+ **Description:** [read-only] Recursively discover and list ALL include files within an ABAP program or include.
122
+
123
+ **Source:** `src/handlers/include/readonly/handleGetIncludesList.ts`
124
+
125
+ **Parameters:**
126
+ - `detailed` (boolean, optional (default: false)) - [read-only] If true, returns structured JSON with metadata and raw XML.
127
+ - `object_name` (string, required) - Name of the ABAP program or include
128
+ - `object_type` (string, required) - [read-only] ADT object type (e.g. PROG/P, PROG/I, FUGR, CLAS/OC)
129
+ - `timeout` (number, optional) - [read-only] Timeout in ms for each ADT request.
130
+
131
+ ---
132
+
133
+ <a id="read-only-package"></a>
134
+ ### Read-Only / Package
135
+
136
+ <a id="getpackagecontents-read-only-package"></a>
137
+ #### GetPackageContents (Read-Only / Package)
138
+ **Description:** [read-only] Retrieve objects inside an ABAP package as a flat list. Supports recursive traversal of subpackages.
139
+
140
+ **Source:** `src/handlers/package/readonly/handleGetPackageContents.ts`
141
+
142
+ **Parameters:**
143
+ - None
144
+
145
+ ---
146
+
147
+ <a id="read-only-program"></a>
148
+ ### Read-Only / Program
149
+
150
+ <a id="getprogfullcode-read-only-program"></a>
151
+ #### GetProgFullCode (Read-Only / Program)
152
+ **Description:** [read-only] Returns the full code for a program or function group, including all includes, in tree traversal order.
153
+
154
+ **Source:** `src/handlers/program/readonly/handleGetProgFullCode.ts`
155
+
156
+ **Parameters:**
157
+ - `name` (string, required) - [read-only] Technical name of the program or function group (e.g.,
158
+ - `type` (string, required) - [read-only]
159
+
160
+ ---
161
+
162
+ <a id="read-only-search"></a>
163
+ ### Read-Only / Search
164
+
165
+ <a id="getobjectsbytype-read-only-search"></a>
166
+ #### GetObjectsByType (Read-Only / Search)
167
+ **Description:** [read-only] Retrieves all ABAP objects of a specific type under a given node.
168
+
169
+ **Source:** `src/handlers/search/readonly/handleGetObjectsByType.ts`
170
+
171
+ **Parameters:**
172
+ - `node_id` (string, required) - [read-only] Node ID
173
+ - `parent_name` (string, required) - [read-only] Parent object name
174
+ - `parent_tech_name` (string, required) - [read-only] Parent technical name
175
+ - `parent_type` (string, required) - [read-only] Parent object type
176
+ - `with_short_descriptions` (boolean, optional) - [read-only] Include short descriptions
177
+
178
+ ---
179
+
180
+ <a id="getobjectslist-read-only-search"></a>
181
+ #### GetObjectsList (Read-Only / Search)
182
+ **Description:** [read-only] Recursively retrieves all valid ABAP repository objects for a given parent (program, function group, etc.) including nested includes.
183
+
184
+ **Source:** `src/handlers/search/readonly/handleGetObjectsList.ts`
185
+
186
+ **Parameters:**
187
+ - `parent_name` (string, required) - [read-only] Parent object name
188
+ - `parent_tech_name` (string, required) - [read-only] Parent technical name
189
+ - `parent_type` (string, required) - [read-only] Parent object type (e.g. PROG/P, FUGR)
190
+ - `with_short_descriptions` (boolean, optional (default: true))) - [read-only] Include short descriptions (default: true)
191
+
192
+ ---
193
+
194
+ <a id="searchobject-read-only-search"></a>
195
+ #### SearchObject (Read-Only / Search)
196
+ **Description:** [read-only] Search for ABAP objects by name pattern. Parameters: object_name (with or without mask), object_type (optional), maxResults (optional). If object_type is specified, results are filtered by type.
197
+
198
+ **Source:** `src/handlers/search/readonly/handleSearchObject.ts`
199
+
200
+ **Parameters:**
201
+ - `maxResults` (number, optional (default: 100)) - [read-only] Maximum number of results to return
202
+ - `object_name` (string, required) - [read-only] Object name or mask (e.g.
203
+ - `object_type` (string, optional) - [read-only] Optional ABAP object type (e.g.
204
+
205
+ ---
206
+
207
+ <a id="read-only-system"></a>
208
+ ### Read-Only / System
209
+
210
+ <a id="describebylist-read-only-system"></a>
211
+ #### DescribeByList (Read-Only / System)
212
+ **Description:** [read-only] Batch description for a list of ABAP objects. Input: objects: Array<{ name: string, type?: string }>. Each object may be of type: PROG/P, FUGR, PROG/I, CLAS/OC, FUGR/FC, INTF/OI, TABLE, STRUCTURE, etc.
213
+
214
+ **Source:** `src/handlers/system/readonly/handleDescribeByList.ts`
215
+
216
+ **Parameters:**
217
+ - `objects` (array, required) - [read-only] Object name (required, must be valid ABAP object name or mask)
218
+ - `type` (string, optional) - [read-only] Optional type (e.g. PROG/P, CLAS/OC, etc.)
219
+
220
+ ---
221
+
222
+ <a id="getabapast-read-only-system"></a>
223
+ #### GetAbapAST (Read-Only / System)
224
+ **Description:** [read-only] Parse ABAP code and return AST (Abstract Syntax Tree) in JSON format.
225
+
226
+ **Source:** `src/handlers/system/readonly/handleGetAbapAST.ts`
227
+
228
+ **Parameters:**
229
+ - `code` (string, required) - ABAP source code to parse
230
+ - `filePath` (string, optional) - Optional file path to write the result to
231
+
232
+ ---
233
+
234
+ <a id="getabapsemanticanalysis-read-only-system"></a>
235
+ #### GetAbapSemanticAnalysis (Read-Only / System)
236
+ **Description:** [read-only] Perform semantic analysis on ABAP code and return symbols, types, scopes, and dependencies.
237
+
238
+ **Source:** `src/handlers/system/readonly/handleGetAbapSemanticAnalysis.ts`
239
+
240
+ **Parameters:**
241
+ - `code` (string, required) - ABAP source code to analyze
242
+ - `filePath` (string, optional) - Optional file path to write the result to
243
+
244
+ ---
245
+
246
+ <a id="getabapsystemsymbols-read-only-system"></a>
247
+ #### GetAbapSystemSymbols (Read-Only / System)
248
+ **Description:** [read-only] Resolve ABAP symbols from semantic analysis with SAP system information including types, scopes, descriptions, and packages.
249
+
250
+ **Source:** `src/handlers/system/readonly/handleGetAbapSystemSymbols.ts`
251
+
252
+ **Parameters:**
253
+ - `code` (string, required) - ABAP source code to analyze and resolve symbols for
254
+ - `filePath` (string, optional) - Optional file path to write the result to
255
+
256
+ ---
257
+
258
+ <a id="getadttypes-read-only-system"></a>
259
+ #### GetAdtTypes (Read-Only / System)
260
+ **Description:** [read-only] Retrieve all valid ADT object types.
261
+
262
+ **Source:** `src/handlers/system/readonly/handleGetAllTypes.ts`
263
+
264
+ **Parameters:**
265
+ - `validate_type` (string, optional) - Type name to validate (optional)
266
+
267
+ ---
268
+
269
+ <a id="getinactiveobjects-read-only-system"></a>
270
+ #### GetInactiveObjects (Read-Only / System)
271
+ **Description:** [read-only] Get a list of inactive ABAP objects (objects that have been modified but not activated).
272
+
273
+ **Source:** `src/handlers/system/readonly/handleGetInactiveObjects.ts`
274
+
275
+ **Parameters:**
276
+ - None
277
+
278
+ ---
279
+
280
+ <a id="getobjectinfo-read-only-system"></a>
281
+ #### GetObjectInfo (Read-Only / System)
282
+ **Description:** [read-only] Return ABAP object tree: root, group nodes, and terminal leaves up to maxDepth. Enrich each node via SearchObject if enrich=true. Group nodes are included for hierarchy. Each node has node_type: root, point, end.
283
+
284
+ **Source:** `src/handlers/system/readonly/handleGetObjectInfo.ts`
285
+
286
+ **Parameters:**
287
+ - `enrich` (boolean, optional (default: true)) - [read-only] Whether to add description and package via SearchObject (default true)
288
+ - `maxDepth` (integer, optional (default: 1)) - [read-only] Maximum tree depth (default depends on type)
289
+ - `parent_name` (string, required) - [read-only] Parent object name
290
+ - `parent_type` (string, required) - [read-only] Parent object type (e.g. DEVC/K, CLAS/OC, PROG/P)
291
+
292
+ ---
293
+
294
+ <a id="getobjectnodefromcache-read-only-system"></a>
295
+ #### GetObjectNodeFromCache (Read-Only / System)
296
+ **Description:** [read-only] Returns a node from the in-memory objects list cache by OBJECT_TYPE, OBJECT_NAME, TECH_NAME, and expands OBJECT_URI if present.
297
+
298
+ **Source:** `src/handlers/system/readonly/handleGetObjectNodeFromCache.ts`
299
+
300
+ **Parameters:**
301
+ - None
302
+
303
+ ---
304
+
305
+ <a id="getobjectstructure-read-only-system"></a>
306
+ #### GetObjectStructure (Read-Only / System)
307
+ **Description:** [read-only] Retrieve ADT object structure as a compact JSON tree.
308
+
309
+ **Source:** `src/handlers/system/readonly/handleGetObjectStructure.ts`
310
+
311
+ **Parameters:**
312
+ - `objectname` (string, required) - ADT object name (e.g. /CBY/ACQ_DDL)
313
+ - `objecttype` (string, required) - ADT object type (e.g. DDLS/DF)
314
+
315
+ ---
316
+
317
+ <a id="getsession-read-only-system"></a>
318
+ #### GetSession (Read-Only / System)
319
+ **Description:** [read-only] Get a new session ID and current session state (cookies, CSRF token) for reuse across multiple ADT operations. Use this to maintain the same session and lock handle across multiple requests.
320
+
321
+ **Source:** `src/handlers/system/readonly/handleGetSession.ts`
322
+
323
+ **Parameters:**
324
+ - `force_new` (boolean, optional) - Force creation of a new session even if one exists. Default: false
325
+
326
+ ---
327
+
328
+ <a id="getsqlquery-read-only-system"></a>
329
+ #### GetSqlQuery (Read-Only / System)
330
+ **Description:** [read-only] Execute freestyle SQL queries via SAP ADT Data Preview API.
331
+
332
+ **Source:** `src/handlers/system/readonly/handleGetSqlQuery.ts`
333
+
334
+ **Parameters:**
335
+ - `row_number` (number, optional (default: 100)) - [read-only] Maximum number of rows to return
336
+ - `sql_query` (string, required) - SQL query to execute
337
+
338
+ ---
339
+
340
+ <a id="gettransaction-read-only-system"></a>
341
+ #### GetTransaction (Read-Only / System)
342
+ **Description:** [read-only] Retrieve ABAP transaction details.
343
+
344
+ **Source:** `src/handlers/system/readonly/handleGetTransaction.ts`
345
+
346
+ **Parameters:**
347
+ - `transaction_name` (string, required) - Name of the ABAP transaction
348
+
349
+ ---
350
+
351
+ <a id="gettypeinfo-read-only-system"></a>
352
+ #### GetTypeInfo (Read-Only / System)
353
+ **Description:** [read-only] Retrieve ABAP type information.
354
+
355
+ **Source:** `src/handlers/system/readonly/handleGetTypeInfo.ts`
356
+
357
+ **Parameters:**
358
+ - `type_name` (string, required) - Name of the ABAP type
359
+
360
+ ---
361
+
362
+ <a id="getwhereused-read-only-system"></a>
363
+ #### GetWhereUsed (Read-Only / System)
364
+ **Description:** [read-only] Retrieve where-used references for ABAP objects via ADT usageReferences. Returns parsed list of referencing objects with their types and packages.
365
+
366
+ **Source:** `src/handlers/system/readonly/handleGetWhereUsed.ts`
367
+
368
+ **Parameters:**
369
+ - `enable_all_types` (boolean, optional (default: false)) - If true, searches in all available object types (Eclipse
370
+ - `object_name` (string, required) - Name of the ABAP object
371
+ - `object_type` (string, required) - Type of the ABAP object (class, interface, program, table, etc.)
372
+
373
+ ---
374
+
375
+ <a id="read-only-table"></a>
376
+ ### Read-Only / Table
377
+
378
+ <a id="gettablecontents-read-only-table"></a>
379
+ #### GetTableContents (Read-Only / Table)
380
+ **Description:** [read-only] Retrieve contents of an ABAP table.
381
+
382
+ **Source:** `src/handlers/table/readonly/handleGetTableContents.ts`
383
+
384
+ **Parameters:**
385
+ - None
386
+
387
+ ---
388
+
389
+ <a id="read-only-transport"></a>
390
+ ### Read-Only / Transport
391
+
392
+ <a id="gettransport-read-only-transport"></a>
393
+ #### GetTransport (Read-Only / Transport)
394
+ **Description:** [read-only] Retrieve ABAP transport request information including metadata, included objects, and status from SAP system.
395
+
396
+ **Source:** `src/handlers/transport/readonly/handleGetTransport.ts`
397
+
398
+ **Parameters:**
399
+ - `include_objects` (boolean, optional (default: true))) - Include list of objects in transport (default: true)
400
+ - `include_tasks` (boolean, optional (default: true))) - Include list of tasks in transport (default: true)
401
+ - `transport_number` (string, required) - Transport request number (e.g., E19K905635, DEVK905123)
402
+
403
+ ---
404
+
405
+ *Last updated: 2026-02-12*
@@ -126,17 +126,19 @@ The server supports destination-based authentication using service keys stored l
126
126
 
127
127
  The server uses auth-broker (service keys) in the following cases:
128
128
 
129
- 1. **By default** (when `--env` is not specified AND no `.env` file exists in current directory): Auth-broker is used automatically
129
+ 1. **By default** (when no explicit env file/destination is provided and no `.env` exists in current directory): Auth-broker is used automatically
130
130
  2. **When `--auth-broker` flag is specified**: Forces use of auth-broker, ignoring any `.env` file (even if it exists in current directory)
131
131
  3. **When `--mcp` parameter is specified**: Uses auth-broker with the specified destination, `.env` file is not loaded automatically
132
- 4. **When `--env` is specified**: Uses the specified `.env` file instead of auth-broker
132
+ 4. **When `--env=<destination>` is specified**: Uses destination env file from sessions store
133
+ 5. **When `--env-path=<path|file>` is specified**: Uses explicit `.env` file instead of auth-broker
133
134
 
134
135
  **Priority:**
135
- 1. `--env=<path>` - explicit .env file (highest priority)
136
- 2. `--mcp=<destination>` - uses auth-broker, skips .env file loading
137
- 3. `.env` in current directory - used automatically if exists (default behavior)
138
- 4. `--auth-broker` - force auth-broker, ignore .env
139
- 5. Auth-broker - used if no .env found (fallback)
136
+ 1. `--env-path=<path|file>` (or `MCP_ENV_PATH`) - explicit `.env` file (highest priority)
137
+ 2. `--env=<destination>` - destination env from sessions store
138
+ 3. `--mcp=<destination>` - uses auth-broker, skips automatic `.env` loading
139
+ 4. `.env` in current directory - used automatically if exists (default behavior)
140
+ 5. `--auth-broker` - force auth-broker, ignore `.env`
141
+ 6. Auth-broker - used if no `.env` found (fallback)
140
142
 
141
143
  **Examples:**
142
144
  ```bash
@@ -149,8 +151,11 @@ mcp-abap-adt --auth-broker
149
151
  # Uses auth-broker with --mcp parameter (skips .env file)
150
152
  mcp-abap-adt --transport=stdio --mcp=TRIAL
151
153
 
152
- # Uses .env file from custom path
153
- mcp-abap-adt --env=/path/to/.env
154
+ # Uses destination env from sessions store
155
+ mcp-abap-adt --env=trial
156
+
157
+ # Uses explicit .env file from custom path
158
+ mcp-abap-adt --env-path=/path/to/.env
154
159
  ```
155
160
 
156
161
  ### How It Works
@@ -427,13 +432,13 @@ mcp-abap-adt --auth-broker
427
432
  # Forces use of auth-broker with custom path (creates service-keys and sessions subdirectories)
428
433
  mcp-abap-adt --auth-broker --auth-broker-path=~/prj/tmp/
429
434
 
430
- # Uses .env file from current directory (must be explicitly specified)
431
- mcp-abap-adt --env=.env
432
- mcp-abap-adt --env .env
435
+ # Uses destination env from sessions store
436
+ mcp-abap-adt --env=trial
437
+ mcp-abap-adt --env trial
433
438
 
434
- # Uses .env file from custom path
435
- mcp-abap-adt --env=/path/to/.env
436
- mcp-abap-adt --env /path/to/.env
439
+ # Uses explicit .env file from custom path
440
+ mcp-abap-adt --env-path=/path/to/.env
441
+ mcp-abap-adt --env-path /path/to/.env
437
442
  ```
438
443
 
439
444
  **Behavior:**
@@ -449,7 +454,10 @@ mcp-abap-adt --env /path/to/.env
449
454
  - With `--unsafe`, session tokens are saved to `.env` files in the sessions directory
450
455
  - Can be set via environment variable: `MCP_UNSAFE=true`
451
456
  - Use only if you need session persistence across server restarts
452
- - **`--env=<path>` or `--env <path>`**: Uses specified `.env` file, auth-broker is not used
457
+ - **`--env=<destination>` or `--env <destination>`**: Uses destination env file from sessions store
458
+ - Unix: `~/.config/mcp-abap-adt/sessions/<destination>.env`
459
+ - Windows: `%USERPROFILE%\Documents\mcp-abap-adt\sessions\<destination>.env`
460
+ - **`--env-path=<path|file>`**: Uses specified `.env` file directly, auth-broker is not used
453
461
  - Relative paths are resolved from current working directory
454
462
  - Absolute paths are used as-is
455
463
 
@@ -46,27 +46,33 @@ Command-line arguments always override YAML values, allowing you to use YAML as
46
46
 
47
47
  ### Environment File Configuration
48
48
 
49
- **--env=\<path\>** or **--env \<path\>**
49
+ **--env=\<destination\>** or **--env \<destination\>**
50
50
 
51
- Specify path to .env file containing SAP connection details.
51
+ Use destination-style env lookup from platform sessions store.
52
+
53
+ **--env-path=\<path|file\>**
54
+
55
+ Use an explicit `.env` file path (or relative file name).
52
56
 
53
57
  ```bash
54
- # Absolute path
55
- mcp-abap-adt --env=/opt/config/sap-prod.env
58
+ # Destination name -> sessions/<destination>.env
59
+ mcp-abap-adt --env=trial
56
60
 
57
- # Relative path (resolved from current directory)
58
- mcp-abap-adt --env=../configs/dev.env
61
+ # Explicit path
62
+ mcp-abap-adt --env-path=/opt/config/sap-prod.env
59
63
 
60
- # Space-separated syntax
61
- mcp-abap-adt --env ~/sap-configs/production.env
64
+ # Relative file name/path (resolved from current directory)
65
+ mcp-abap-adt --env-path=../configs/dev.env
62
66
  ```
63
67
 
64
68
  **Environment File Priority:**
65
69
 
66
- The server looks for .env file in this order:
67
- 1. Path specified via `--env` argument
68
- 2. `.env` in current working directory (`process.cwd()`)
69
- 3. `.env` in package installation directory
70
+ The server resolves env file in this order:
71
+ 1. `--env-path=<path|file>` (or `MCP_ENV_PATH`)
72
+ 2. `--env=<destination>` -> platform sessions path:
73
+ - Unix: `~/.config/mcp-abap-adt/sessions/<destination>.env`
74
+ - Windows: `%USERPROFILE%\\Documents\\mcp-abap-adt\\sessions\\<destination>.env`
75
+ 3. `.env` in current working directory (`process.cwd()`)
70
76
 
71
77
  This allows you to:
72
78
  - Have different .env files per project
@@ -92,7 +98,7 @@ EOF
92
98
  mcp-abap-adt # Uses ~/projects/abap-prod/.env
93
99
 
94
100
  # Override for testing
95
- mcp-abap-adt --env=/tmp/test.env
101
+ mcp-abap-adt --env-path=/tmp/test.env
96
102
  ```
97
103
 
98
104
  ## Transport Selection
@@ -255,7 +261,7 @@ mcp-abap-adt --transport=http \
255
261
  --http-host=0.0.0.0 \
256
262
  --http-allowed-origins=http://localhost:3000,https://myapp.com \
257
263
  --http-enable-dns-protection \
258
- --env=~/configs/sap-prod.env
264
+ --env-path=~/configs/sap-prod.env
259
265
  ```
260
266
 
261
267
  ## SSE Server Options
@@ -331,7 +337,7 @@ mcp-abap-adt --transport=sse \
331
337
  --sse-host=0.0.0.0 \
332
338
  --sse-allowed-origins=http://localhost:3000 \
333
339
  --sse-enable-dns-protection \
334
- --env=~/configs/sap-dev.env
340
+ --env-path=~/configs/sap-dev.env
335
341
  ```
336
342
 
337
343
  ## Environment Variables
@@ -340,7 +346,7 @@ Alternative to command line arguments. Environment variables can be set in shell
340
346
 
341
347
  ### General
342
348
 
343
- - `MCP_ENV_PATH` - Path to .env file
349
+ - `MCP_ENV_PATH` - Explicit path to `.env` file (same as `--env-path`)
344
350
  - `MCP_SKIP_ENV_LOAD` - Skip automatic .env loading (true|false)
345
351
  - `MCP_SKIP_AUTO_START` - Skip automatic server start (true|false, for testing)
346
352
  - `MCP_TRANSPORT` - Default transport type (stdio|http|sse)
@@ -415,7 +421,7 @@ MCP_HTTP_PORT=8080
415
421
  MCP_HTTP_ALLOWED_ORIGINS=http://localhost:3000,https://myapp.com
416
422
 
417
423
  # Use it
418
- mcp-abap-adt --transport=http --env ~/.mcp-abap-adt.env
424
+ mcp-abap-adt --transport=http --env-path ~/.mcp-abap-adt.env
419
425
  ```
420
426
 
421
427
  ## Priority Order
@@ -466,7 +472,7 @@ EOF
466
472
 
467
473
  # Run with explicit config
468
474
  mcp-abap-adt --transport=http \
469
- --env=/etc/mcp-abap-adt/prod.env \
475
+ --env-path=/etc/mcp-abap-adt/prod.env \
470
476
  --http-port=8080 \
471
477
  --http-enable-dns-protection
472
478
  ```
@@ -481,9 +487,9 @@ mcp-abap-adt --transport=http \
481
487
  └── prod.env
482
488
 
483
489
  # Quick switch
484
- alias mcp-dev='mcp-abap-adt --env=~/sap-configs/dev.env'
485
- alias mcp-test='mcp-abap-adt --env=~/sap-configs/test.env'
486
- alias mcp-prod='mcp-abap-adt --transport=http --env=~/sap-configs/prod.env --http-port=8080'
490
+ alias mcp-dev='mcp-abap-adt --env-path=~/sap-configs/dev.env'
491
+ alias mcp-test='mcp-abap-adt --env-path=~/sap-configs/test.env'
492
+ alias mcp-prod='mcp-abap-adt --transport=http --env-path=~/sap-configs/prod.env --http-port=8080'
487
493
 
488
494
  # Use
489
495
  mcp-dev
@@ -539,7 +545,7 @@ Check which .env is being used:
539
545
  [MCP-ENV] ✓ Successfully loaded: /home/user/project/.env
540
546
 
541
547
  # Or use explicit path
542
- mcp-abap-adt --env=/correct/path/.env
548
+ mcp-abap-adt --env-path=/correct/path/.env
543
549
  ```
544
550
 
545
551
  ## See Also
@@ -49,16 +49,16 @@ V2 server supports flexible handler set configuration through the `--exposition`
49
49
 
50
50
  ```bash
51
51
  # Default: readonly + high (+ search + system always included)
52
- node bin/mcp-abap-adt-v2.js --transport=stdio --env=.env
52
+ node bin/mcp-abap-adt-v2.js --transport=stdio --env-path=.env
53
53
 
54
54
  # Only read-only operations (safest)
55
- node bin/mcp-abap-adt-v2.js --transport=stdio --env=.env --exposition=readonly
55
+ node bin/mcp-abap-adt-v2.js --transport=stdio --env-path=.env --exposition=readonly
56
56
 
57
57
  # Read-only + high-level writes (recommended)
58
- node bin/mcp-abap-adt-v2.js --transport=stdio --env=.env --exposition=readonly,high
58
+ node bin/mcp-abap-adt-v2.js --transport=stdio --env-path=.env --exposition=readonly,high
59
59
 
60
60
  # All operations (dangerous, for development only)
61
- node bin/mcp-abap-adt-v2.js --transport=stdio --env=.env --exposition=readonly,high,low
61
+ node bin/mcp-abap-adt-v2.js --transport=stdio --env-path=.env --exposition=readonly,high,low
62
62
  ```
63
63
 
64
64
  ### Config File
@@ -79,7 +79,7 @@ Set `MCP_EXPOSITION`:
79
79
 
80
80
  ```bash
81
81
  export MCP_EXPOSITION=readonly,high
82
- node bin/mcp-abap-adt-v2.js --transport=stdio --env=.env
82
+ node bin/mcp-abap-adt-v2.js --transport=stdio --env-path=.env
83
83
  ```
84
84
 
85
85
  ## Generating Handler Documentation
@@ -56,7 +56,10 @@ See [Installation Guide](../installation/INSTALLATION.md) for full instructions.
56
56
  ## Documentation Files
57
57
 
58
58
  - **[CLIENT_CONFIGURATION.md](CLIENT_CONFIGURATION.md)** - Guide for configuring MCP clients to connect to the server, including HTTP header configuration for dynamic SAP connection setup
59
- - **[AVAILABLE_TOOLS.md](AVAILABLE_TOOLS.md)** - Complete list of all available MCP tools with descriptions and usage examples (auto-generated from handler definitions)
59
+ - **[AVAILABLE_TOOLS_READONLY.md](AVAILABLE_TOOLS_READONLY.md)** - Read-only tools (auto-generated)
60
+ - **[AVAILABLE_TOOLS_HIGH.md](AVAILABLE_TOOLS_HIGH.md)** - High-level tools (auto-generated)
61
+ - **[AVAILABLE_TOOLS_LOW.md](AVAILABLE_TOOLS_LOW.md)** - Low-level tools (auto-generated)
62
+ - **[AVAILABLE_TOOLS.md](AVAILABLE_TOOLS.md)** - Full combined tools reference (auto-generated)
60
63
  - **[AUTHENTICATION.md](AUTHENTICATION.md)** - Destination-based auth, service key locations, and header-based auth
61
64
  - **[TERMINOLOGY.md](TERMINOLOGY.md)** - Project-specific terminology
62
65
  - **[HANDLERS_MANAGEMENT.md](HANDLERS_MANAGEMENT.md)** - Enable/disable handler groups and exposure
@@ -67,7 +70,10 @@ See [Installation Guide](../installation/INSTALLATION.md) for full instructions.
67
70
  2. **Configure your client**:
68
71
  - **Auto (recommended)**: Use the configurator (`@mcp-abap-adt/configurator`, repo: `mcp-abap-adt-conf`)
69
72
  - **Manual**: See [CLIENT_CONFIGURATION.md](CLIENT_CONFIGURATION.md) for JSON/TOML examples
70
- 3. **Explore available tools**: See [AVAILABLE_TOOLS.md](AVAILABLE_TOOLS.md) for a complete list of tools you can use
73
+ 3. **Explore available tools**:
74
+ - [Read-only tools](AVAILABLE_TOOLS_READONLY.md)
75
+ - [High-level tools](AVAILABLE_TOOLS_HIGH.md)
76
+ - [Low-level tools](AVAILABLE_TOOLS_LOW.md)
71
77
 
72
78
  ## Package Tree Output
73
79
 
@@ -85,19 +91,19 @@ After installing from package, these commands are available:
85
91
 
86
92
  ### `mcp-abap-adt` - Default HTTP transport
87
93
  ```bash
88
- mcp-abap-adt [--env /path/to/.env]
94
+ mcp-abap-adt [--env <destination>] [--env-path /path/to/.env]
89
95
  ```
90
96
  Use with MCP clients like Claude Desktop, VSCode extensions.
91
97
 
92
98
  ### `mcp-abap-adt --transport=http` - HTTP server
93
99
  ```bash
94
- mcp-abap-adt --transport=http [--port 3000] [--host localhost] [--env /path/to/.env]
100
+ mcp-abap-adt --transport=http [--port 3000] [--host localhost] [--env <destination>] [--env-path /path/to/.env]
95
101
  ```
96
102
  Starts HTTP server with StreamableHTTP transport.
97
103
 
98
104
  ### `mcp-abap-adt --transport=sse` - SSE server
99
105
  ```bash
100
- mcp-abap-adt --transport=sse [--port 3000] [--host localhost] [--env /path/to/.env]
106
+ mcp-abap-adt --transport=sse [--port 3000] [--host localhost] [--env <destination>] [--env-path /path/to/.env]
101
107
  ```
102
108
  Starts HTTP server with Server-Sent Events transport.
103
109
 
@@ -115,5 +121,5 @@ mcp-abap-adt --transport=sse --host 0.0.0.0 --port 3000
115
121
 
116
122
  ### Example 3: Custom Environment File
117
123
  ```bash
118
- mcp-abap-adt --transport=http --env /opt/config/.env.production --port 8080
124
+ mcp-abap-adt --transport=http --env-path /opt/config/.env.production --port 8080
119
125
  ```