@mcp-abap-adt/core 2.2.7 → 2.3.1
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 +31 -0
- package/README.md +46 -9
- package/dist/handlers/behavior_definition/high/handleUpdateBehaviorDefinition.d.ts.map +1 -1
- package/dist/handlers/behavior_definition/high/handleUpdateBehaviorDefinition.js +3 -2
- package/dist/handlers/behavior_definition/high/handleUpdateBehaviorDefinition.js.map +1 -1
- package/dist/handlers/class/high/handleUpdateLocalDefinitions.d.ts.map +1 -1
- package/dist/handlers/class/high/handleUpdateLocalDefinitions.js +2 -1
- package/dist/handlers/class/high/handleUpdateLocalDefinitions.js.map +1 -1
- package/dist/handlers/class/high/handleUpdateLocalMacros.d.ts.map +1 -1
- package/dist/handlers/class/high/handleUpdateLocalMacros.js +2 -1
- package/dist/handlers/class/high/handleUpdateLocalMacros.js.map +1 -1
- package/dist/handlers/class/high/handleUpdateLocalTestClass.d.ts.map +1 -1
- package/dist/handlers/class/high/handleUpdateLocalTestClass.js +4 -9
- package/dist/handlers/class/high/handleUpdateLocalTestClass.js.map +1 -1
- package/dist/handlers/class/high/handleUpdateLocalTypes.d.ts.map +1 -1
- package/dist/handlers/class/high/handleUpdateLocalTypes.js +2 -1
- package/dist/handlers/class/high/handleUpdateLocalTypes.js.map +1 -1
- package/dist/handlers/class/low/handleUpdateClassTestClasses.d.ts.map +1 -1
- package/dist/handlers/class/low/handleUpdateClassTestClasses.js +3 -2
- package/dist/handlers/class/low/handleUpdateClassTestClasses.js.map +1 -1
- package/dist/handlers/ddlx/high/handleUpdateMetadataExtension.d.ts.map +1 -1
- package/dist/handlers/ddlx/high/handleUpdateMetadataExtension.js +3 -2
- package/dist/handlers/ddlx/high/handleUpdateMetadataExtension.js.map +1 -1
- package/dist/handlers/system/readonly/handleGetTypeInfo.d.ts +6 -42
- package/dist/handlers/system/readonly/handleGetTypeInfo.d.ts.map +1 -1
- package/dist/handlers/system/readonly/handleGetTypeInfo.js +129 -79
- package/dist/handlers/system/readonly/handleGetTypeInfo.js.map +1 -1
- package/dist/handlers/unit_test/high/handleUpdateCdsUnitTest.d.ts.map +1 -1
- package/dist/handlers/unit_test/high/handleUpdateCdsUnitTest.js +3 -2
- package/dist/handlers/unit_test/high/handleUpdateCdsUnitTest.js.map +1 -1
- package/dist/handlers/unit_test/high/handleUpdateUnitTest.d.ts.map +1 -1
- package/dist/handlers/unit_test/high/handleUpdateUnitTest.js +3 -2
- package/dist/handlers/unit_test/high/handleUpdateUnitTest.js.map +1 -1
- package/dist/lib/auth/brokerFactory.d.ts.map +1 -1
- package/dist/lib/auth/brokerFactory.js +3 -8
- package/dist/lib/auth/brokerFactory.js.map +1 -1
- package/dist/lib/config/ArgumentsParser.js +2 -2
- package/dist/lib/config/ArgumentsParser.js.map +1 -1
- package/dist/lib/config/ServerConfigManager.d.ts.map +1 -1
- package/dist/lib/config/ServerConfigManager.js +4 -2
- package/dist/lib/config/ServerConfigManager.js.map +1 -1
- package/dist/lib/config/yamlConfig.d.ts +2 -1
- package/dist/lib/config/yamlConfig.d.ts.map +1 -1
- package/dist/lib/config/yamlConfig.js +18 -7
- package/dist/lib/config/yamlConfig.js.map +1 -1
- package/dist/lib/utils.d.ts +5 -0
- package/dist/lib/utils.d.ts.map +1 -1
- package/dist/lib/utils.js +59 -4
- package/dist/lib/utils.js.map +1 -1
- package/dist/server/SseServer.d.ts.map +1 -1
- package/dist/server/SseServer.js +7 -3
- package/dist/server/SseServer.js.map +1 -1
- package/dist/server/StreamableHttpServer.d.ts.map +1 -1
- package/dist/server/StreamableHttpServer.js +10 -5
- package/dist/server/StreamableHttpServer.js.map +1 -1
- package/dist/server/launcher.js +1 -1
- package/dist/server/launcher.js.map +1 -1
- package/docs/configuration/YAML_CONFIG.md +25 -22
- package/docs/user-guide/AUTHENTICATION.md +3 -0
- package/docs/user-guide/CLI_OPTIONS.md +6 -5
- package/package.json +1 -1
|
@@ -6,7 +6,7 @@ The MCP ABAP ADT server supports YAML configuration files to simplify server set
|
|
|
6
6
|
|
|
7
7
|
1. **Generate a template:**
|
|
8
8
|
```bash
|
|
9
|
-
mcp-abap-adt --
|
|
9
|
+
mcp-abap-adt --conf=config.yaml
|
|
10
10
|
```
|
|
11
11
|
If the file doesn't exist, a template will be automatically generated.
|
|
12
12
|
|
|
@@ -15,7 +15,7 @@ The MCP ABAP ADT server supports YAML configuration files to simplify server set
|
|
|
15
15
|
|
|
16
16
|
3. **Run with config:**
|
|
17
17
|
```bash
|
|
18
|
-
mcp-abap-adt --
|
|
18
|
+
mcp-abap-adt --conf=config.yaml
|
|
19
19
|
```
|
|
20
20
|
|
|
21
21
|
## Command-Line Override
|
|
@@ -28,7 +28,7 @@ Command-line arguments **always override** YAML values. This allows you to:
|
|
|
28
28
|
Example:
|
|
29
29
|
```bash
|
|
30
30
|
# Use config.yaml but override the port
|
|
31
|
-
mcp-abap-adt --
|
|
31
|
+
mcp-abap-adt --conf=config.yaml --http-port=8080
|
|
32
32
|
```
|
|
33
33
|
|
|
34
34
|
## Configuration File Structure
|
|
@@ -41,8 +41,11 @@ transport: stdio
|
|
|
41
41
|
# Default MCP destination (uses auth-broker)
|
|
42
42
|
mcp: TRIAL
|
|
43
43
|
|
|
44
|
-
#
|
|
45
|
-
env:
|
|
44
|
+
# Env destination name in sessions store (e.g. trial -> trial.env)
|
|
45
|
+
env: trial
|
|
46
|
+
|
|
47
|
+
# Explicit path to .env file (recommended for file-based config)
|
|
48
|
+
env-path: .env
|
|
46
49
|
|
|
47
50
|
# Use unsafe mode (file-based session store)
|
|
48
51
|
unsafe: false
|
|
@@ -83,7 +86,8 @@ sse:
|
|
|
83
86
|
|--------|------|---------|-------------|
|
|
84
87
|
| `transport` | string | `stdio` | Transport type: `stdio` (default, for MCP clients), `http`, `streamable-http`, or `sse` |
|
|
85
88
|
| `mcp` | string | - | Default MCP destination name (uses auth-broker) |
|
|
86
|
-
| `env` | string | - |
|
|
89
|
+
| `env` | string | - | Destination name resolved from sessions store (`sessions/<name>.env`) |
|
|
90
|
+
| `env-path` | string | - | Explicit path to `.env` file |
|
|
87
91
|
| `unsafe` | boolean | `false` | Use file-based session store (persists to disk) |
|
|
88
92
|
| `auth-broker` | boolean | `false` | Force use of auth-broker (service keys) instead of `.env` |
|
|
89
93
|
| `auth-broker-path` | string | - | Custom path for auth-broker storage |
|
|
@@ -120,7 +124,7 @@ mcp: TRIAL
|
|
|
120
124
|
|
|
121
125
|
Usage:
|
|
122
126
|
```bash
|
|
123
|
-
mcp-abap-adt --
|
|
127
|
+
mcp-abap-adt --conf=config.yaml
|
|
124
128
|
```
|
|
125
129
|
|
|
126
130
|
### Example 2: HTTP Mode with Custom Port
|
|
@@ -134,7 +138,7 @@ http:
|
|
|
134
138
|
|
|
135
139
|
Usage:
|
|
136
140
|
```bash
|
|
137
|
-
mcp-abap-adt --
|
|
141
|
+
mcp-abap-adt --conf=config.yaml
|
|
138
142
|
```
|
|
139
143
|
|
|
140
144
|
### Example 3: SSE Mode with CORS
|
|
@@ -150,19 +154,19 @@ sse:
|
|
|
150
154
|
|
|
151
155
|
Usage:
|
|
152
156
|
```bash
|
|
153
|
-
mcp-abap-adt --
|
|
157
|
+
mcp-abap-adt --conf=config.yaml
|
|
154
158
|
```
|
|
155
159
|
|
|
156
160
|
### Example 4: stdio Mode with .env File
|
|
157
161
|
|
|
158
162
|
```yaml
|
|
159
163
|
transport: stdio
|
|
160
|
-
env: .env
|
|
164
|
+
env-path: .env
|
|
161
165
|
```
|
|
162
166
|
|
|
163
167
|
Usage:
|
|
164
168
|
```bash
|
|
165
|
-
mcp-abap-adt --
|
|
169
|
+
mcp-abap-adt --conf=config.yaml
|
|
166
170
|
```
|
|
167
171
|
|
|
168
172
|
### Example 5: HTTP Mode with Auth-Broker
|
|
@@ -178,7 +182,7 @@ http:
|
|
|
178
182
|
|
|
179
183
|
Usage:
|
|
180
184
|
```bash
|
|
181
|
-
mcp-abap-adt --
|
|
185
|
+
mcp-abap-adt --conf=config.yaml
|
|
182
186
|
```
|
|
183
187
|
|
|
184
188
|
## Testing Scenarios
|
|
@@ -194,7 +198,7 @@ mcp: TRIAL
|
|
|
194
198
|
### Test Config 2: stdio-env.yaml
|
|
195
199
|
```yaml
|
|
196
200
|
transport: stdio
|
|
197
|
-
env: .env
|
|
201
|
+
env-path: .env
|
|
198
202
|
```
|
|
199
203
|
|
|
200
204
|
### Test Config 3: http-default.yaml
|
|
@@ -215,10 +219,10 @@ sse:
|
|
|
215
219
|
|
|
216
220
|
Run tests with different configs:
|
|
217
221
|
```bash
|
|
218
|
-
mcp-abap-adt --
|
|
219
|
-
mcp-abap-adt --
|
|
220
|
-
mcp-abap-adt --
|
|
221
|
-
mcp-abap-adt --
|
|
222
|
+
mcp-abap-adt --conf=stdio-stdio.yaml
|
|
223
|
+
mcp-abap-adt --conf=stdio-env.yaml
|
|
224
|
+
mcp-abap-adt --conf=http-default.yaml
|
|
225
|
+
mcp-abap-adt --conf=sse-cors.yaml
|
|
222
226
|
```
|
|
223
227
|
|
|
224
228
|
## Benefits
|
|
@@ -231,7 +235,7 @@ mcp-abap-adt --config=sse-cors.yaml
|
|
|
231
235
|
|
|
232
236
|
## Template Generation
|
|
233
237
|
|
|
234
|
-
When you specify `--config=<path>` and the file doesn't exist, a template is automatically generated with:
|
|
238
|
+
When you specify `--conf=<path>` (or `--config=<path>`) and the file doesn't exist, a template is automatically generated with:
|
|
235
239
|
- All available options
|
|
236
240
|
- Default values
|
|
237
241
|
- Comments explaining each option
|
|
@@ -248,13 +252,13 @@ Edit the template to customize your configuration.
|
|
|
248
252
|
Examples:
|
|
249
253
|
```bash
|
|
250
254
|
# Relative path (resolved from current directory)
|
|
251
|
-
mcp-abap-adt --
|
|
255
|
+
mcp-abap-adt --conf=config.yaml
|
|
252
256
|
|
|
253
257
|
# Absolute path
|
|
254
|
-
mcp-abap-adt --
|
|
258
|
+
mcp-abap-adt --conf=/path/to/config.yaml
|
|
255
259
|
|
|
256
260
|
# Home directory
|
|
257
|
-
mcp-abap-adt --
|
|
261
|
+
mcp-abap-adt --conf=~/config.yaml
|
|
258
262
|
```
|
|
259
263
|
|
|
260
264
|
## Error Handling
|
|
@@ -269,4 +273,3 @@ If the YAML file has syntax errors or invalid values:
|
|
|
269
273
|
- [CLI Options](user-guide/CLI_OPTIONS.md) - Complete list of command-line options
|
|
270
274
|
- [Client Configuration](user-guide/CLIENT_CONFIGURATION.md) - How to configure MCP clients
|
|
271
275
|
- [Installation Guide](installation/INSTALLATION.md) - Server installation instructions
|
|
272
|
-
|
|
@@ -35,6 +35,9 @@ You can also provide credentials via `.env`:
|
|
|
35
35
|
|
|
36
36
|
This is useful for quick local testing or when you do not want to store service keys.
|
|
37
37
|
|
|
38
|
+
**.env comments rule:** only full-line comments are supported (lines that start with `#`).
|
|
39
|
+
Inline comments are not parsed, so keep comments on separate lines.
|
|
40
|
+
|
|
38
41
|
### Generate .env from Service Key
|
|
39
42
|
|
|
40
43
|
```bash
|
|
@@ -20,16 +20,16 @@ The help message shows all available options for all transport modes.
|
|
|
20
20
|
|
|
21
21
|
### YAML Configuration File
|
|
22
22
|
|
|
23
|
-
**--
|
|
23
|
+
**--conf=\<path\>** or **--conf \<path\>** (alias: `--config`)
|
|
24
24
|
|
|
25
25
|
Load server configuration from a YAML file instead of command-line arguments. If the file doesn't exist, a template will be automatically generated.
|
|
26
26
|
|
|
27
27
|
```bash
|
|
28
28
|
# Use YAML config file
|
|
29
|
-
mcp-abap-adt --
|
|
29
|
+
mcp-abap-adt --conf=config.yaml
|
|
30
30
|
|
|
31
31
|
# Override YAML values with command-line arguments
|
|
32
|
-
mcp-abap-adt --
|
|
32
|
+
mcp-abap-adt --conf=config.yaml --http-port=8080
|
|
33
33
|
```
|
|
34
34
|
|
|
35
35
|
**Benefits:**
|
|
@@ -132,7 +132,7 @@ mcp-abap-adt --transport=sse
|
|
|
132
132
|
|
|
133
133
|
**--mcp=\<destination\>**
|
|
134
134
|
|
|
135
|
-
Default MCP destination name. When specified, this destination
|
|
135
|
+
Default MCP destination name. When specified, this destination is used when `x-mcp-destination` header is not provided.
|
|
136
136
|
|
|
137
137
|
```bash
|
|
138
138
|
# Use stdio with auth-broker (--mcp parameter)
|
|
@@ -141,7 +141,7 @@ mcp-abap-adt --transport=stdio --mcp=TRIAL
|
|
|
141
141
|
# Use SSE with auth-broker (--mcp parameter)
|
|
142
142
|
mcp-abap-adt --transport=sse --mcp=TRIAL
|
|
143
143
|
|
|
144
|
-
# Use HTTP with default destination (
|
|
144
|
+
# Use HTTP with default destination (fallback when x-mcp-destination is not provided)
|
|
145
145
|
mcp-abap-adt --transport=http --mcp=TRIAL
|
|
146
146
|
```
|
|
147
147
|
|
|
@@ -149,6 +149,7 @@ mcp-abap-adt --transport=http --mcp=TRIAL
|
|
|
149
149
|
- For **stdio transport**: The server initializes auth-broker with the specified destination at startup
|
|
150
150
|
- For **SSE transport**: The server uses the specified destination when `x-mcp-destination` header is not provided
|
|
151
151
|
- For **HTTP transport**: The server uses the specified destination as a fallback when `x-mcp-destination` header is not provided
|
|
152
|
+
- If neither header nor default destination is provided, HTTP/SSE requests are rejected with `400` (missing SAP connection context)
|
|
152
153
|
- **`.env` file is not loaded automatically** when `--mcp` is specified (even if it exists in current directory)
|
|
153
154
|
- **`.env` file is not considered mandatory** for stdio and SSE transports when `--mcp` is specified
|
|
154
155
|
|