@mcp-abap-adt/core 4.5.2 → 4.7.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 +10 -0
- package/dist/lib/config/ArgumentsParser.d.ts +6 -0
- package/dist/lib/config/ArgumentsParser.d.ts.map +1 -1
- package/dist/lib/config/ArgumentsParser.js +4 -0
- package/dist/lib/config/ArgumentsParser.js.map +1 -1
- package/dist/lib/config/IServerConfig.d.ts +11 -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 +14 -1
- package/dist/lib/config/ServerConfigManager.js.map +1 -1
- package/dist/lib/config/yamlConfig.d.ts +10 -0
- package/dist/lib/config/yamlConfig.d.ts.map +1 -1
- package/dist/lib/config/yamlConfig.js +54 -0
- package/dist/lib/config/yamlConfig.js.map +1 -1
- package/dist/server/SseServer.d.ts +6 -0
- package/dist/server/SseServer.d.ts.map +1 -1
- package/dist/server/SseServer.js +8 -3
- package/dist/server/SseServer.js.map +1 -1
- package/dist/server/StreamableHttpServer.d.ts +6 -0
- package/dist/server/StreamableHttpServer.d.ts.map +1 -1
- package/dist/server/StreamableHttpServer.js +7 -2
- package/dist/server/StreamableHttpServer.js.map +1 -1
- package/dist/server/launcher.js +6 -1
- package/dist/server/launcher.js.map +1 -1
- package/dist/server/tlsUtils.d.ts +19 -0
- package/dist/server/tlsUtils.d.ts.map +1 -0
- package/dist/server/tlsUtils.js +77 -0
- package/dist/server/tlsUtils.js.map +1 -0
- package/docs/installation/RFC_SETUP.md +6 -6
- package/docs/roadmaps/LEGACY_SUPPORT.md +2 -2
- package/docs/superpowers/plans/2026-03-31-https-server-support.md +771 -0
- package/docs/superpowers/plans/2026-04-01-sap-rfc-lite.md +848 -0
- package/package.json +2 -2
package/dist/server/launcher.js
CHANGED
|
@@ -115,6 +115,9 @@ ENVIRONMENT VARIABLES:
|
|
|
115
115
|
MCP_UNSAFE Disable connection validation (true|false)
|
|
116
116
|
MCP_USE_AUTH_BROKER Force auth-broker usage (true|false)
|
|
117
117
|
MCP_BROWSER Browser for OAuth2 flow (e.g., chrome, firefox)
|
|
118
|
+
MCP_TLS_CERT Path to TLS certificate file (PEM)
|
|
119
|
+
MCP_TLS_KEY Path to TLS private key file (PEM)
|
|
120
|
+
MCP_TLS_CA Path to TLS CA certificate file (PEM, optional)
|
|
118
121
|
|
|
119
122
|
Auth-Broker:
|
|
120
123
|
DEBUG_AUTH_LOG Enable debug logging for auth-broker (true|false)
|
|
@@ -156,7 +159,7 @@ SAP CONNECTION (.env file):
|
|
|
156
159
|
SAP_USERNAME SAP username
|
|
157
160
|
SAP_PASSWORD SAP password
|
|
158
161
|
SAP_CLIENT SAP client number
|
|
159
|
-
Requires: SAP NW RFC SDK +
|
|
162
|
+
Requires: SAP NW RFC SDK + @mcp-abap-adt/sap-rfc-lite package installed
|
|
160
163
|
|
|
161
164
|
System Context (on-premise):
|
|
162
165
|
SAP_MASTER_SYSTEM SAP system ID (e.g., DEV, QAS). Required for on-prem
|
|
@@ -319,6 +322,7 @@ async function main() {
|
|
|
319
322
|
postPath: config.postPath,
|
|
320
323
|
defaultDestination: config.mcpDestination ?? (config.envFile ? 'default' : undefined),
|
|
321
324
|
logger: loggerForTransport,
|
|
325
|
+
tls: config.tls,
|
|
322
326
|
});
|
|
323
327
|
activeServer = server;
|
|
324
328
|
await server.start();
|
|
@@ -332,6 +336,7 @@ async function main() {
|
|
|
332
336
|
path: config.httpPath,
|
|
333
337
|
defaultDestination: config.mcpDestination ?? (config.envFile ? 'default' : undefined),
|
|
334
338
|
logger: loggerForTransport,
|
|
339
|
+
tls: config.tls,
|
|
335
340
|
});
|
|
336
341
|
activeServer = server;
|
|
337
342
|
await server.start();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"launcher.js","sourceRoot":"","sources":["../../src/server/launcher.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,4CAA8B;AAC9B,gDAAkC;AAClC,+CAAiC;AACjC,mDAAyD;AACzD,qDAA6D;AAC7D,8DAOyC;AAEzC,wGAAkG;AAClG,8CAGyB;AACzB,+DAAyD;AACzD,iDAA2C;AAC3C,qDAA+C;AAC/C,uEAAiE;AAEjE,MAAM,YAAY,GAAG;IACnB,IAAI,EAAE,CAAC,GAAG,IAAW,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;IAChD,IAAI,EAAE,CAAC,GAAG,IAAW,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;IAChD,KAAK,EAAE,CAAC,GAAG,IAAW,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;IACjD,KAAK,EAAE,CAAC,GAAG,IAAW,EAAE,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,CAAC;CAClD,CAAC;AAEF,MAAM,YAAY,GAAG;IACnB,IAAI,EAAE,GAAG,EAAE,GAAE,CAAC;IACd,IAAI,EAAE,GAAG,EAAE,GAAE,CAAC;IACd,KAAK,EAAE,GAAG,EAAE,GAAE,CAAC;IACf,KAAK,EAAE,GAAG,EAAE,GAAE,CAAC;CAChB,CAAC;AACF,MAAM,kBAAkB,GACtB,OAAO,CAAC,GAAG,CAAC,cAAc,KAAK,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,YAAY,CAAC;AAItE,8EAA8E;AAC9E,IAAI,YAAwE,CAAC;AAE7E,SAAS,MAAM,CAAC,IAAY;IAC1B,OAAO,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;AACrC,CAAC;AAED;;;;GAIG;AACH,SAAS,+BAA+B,CAAC,WAAoB;IAC3D,IAAI,CAAC,WAAW,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;QAChD,OAAO;IACT,CAAC;IAED,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC,CAAC;QAClE,MAAM,IAAI,GAAmC;YAC3C,mBAAmB;YACnB,iBAAiB;YACjB,cAAc;YACd,YAAY;YACZ,qBAAqB;YACrB,iBAAiB;SAClB,CAAC;QAEF,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;YAC1B,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,KAAK,EAAE,CAAC;gBAC/B,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YAC3B,CAAC;QACH,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,uFAAuF;IACzF,CAAC;AACH,CAAC;AAED,SAAS,WAAW;IAClB,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;IACzE,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC,CAAC,CAAC;IACzE,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IACjC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC;AAED;;GAEG;AACH,MAAM,gBAAgB,GAAG
|
|
1
|
+
{"version":3,"file":"launcher.js","sourceRoot":"","sources":["../../src/server/launcher.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import * as http from 'node:http';
|
|
2
|
+
import * as https from 'node:https';
|
|
3
|
+
import type { TlsConfig } from '../lib/config/IServerConfig.js';
|
|
4
|
+
/**
|
|
5
|
+
* Create HTTP or HTTPS server based on TLS configuration.
|
|
6
|
+
*
|
|
7
|
+
* When `tls` is provided with cert + key paths, creates an HTTPS server.
|
|
8
|
+
* Otherwise creates a plain HTTP server.
|
|
9
|
+
*
|
|
10
|
+
* @param app - Express application (or any http.RequestListener)
|
|
11
|
+
* @param tls - Optional TLS configuration with file paths
|
|
12
|
+
* @returns http.Server or https.Server
|
|
13
|
+
*/
|
|
14
|
+
export declare function createServerListener(app: http.RequestListener, tls?: TlsConfig): http.Server | https.Server;
|
|
15
|
+
/**
|
|
16
|
+
* Returns the protocol string based on TLS configuration.
|
|
17
|
+
*/
|
|
18
|
+
export declare function getProtocol(tls?: TlsConfig): 'https' | 'http';
|
|
19
|
+
//# sourceMappingURL=tlsUtils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tlsUtils.d.ts","sourceRoot":"","sources":["../../src/server/tlsUtils.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,IAAI,MAAM,WAAW,CAAC;AAClC,OAAO,KAAK,KAAK,MAAM,YAAY,CAAC;AACpC,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAEhE;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,IAAI,CAAC,eAAe,EACzB,GAAG,CAAC,EAAE,SAAS,GACd,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,MAAM,CAsB5B;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,GAAG,CAAC,EAAE,SAAS,GAAG,OAAO,GAAG,MAAM,CAE7D"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
35
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
+
exports.createServerListener = createServerListener;
|
|
37
|
+
exports.getProtocol = getProtocol;
|
|
38
|
+
const fs = __importStar(require("node:fs"));
|
|
39
|
+
const http = __importStar(require("node:http"));
|
|
40
|
+
const https = __importStar(require("node:https"));
|
|
41
|
+
/**
|
|
42
|
+
* Create HTTP or HTTPS server based on TLS configuration.
|
|
43
|
+
*
|
|
44
|
+
* When `tls` is provided with cert + key paths, creates an HTTPS server.
|
|
45
|
+
* Otherwise creates a plain HTTP server.
|
|
46
|
+
*
|
|
47
|
+
* @param app - Express application (or any http.RequestListener)
|
|
48
|
+
* @param tls - Optional TLS configuration with file paths
|
|
49
|
+
* @returns http.Server or https.Server
|
|
50
|
+
*/
|
|
51
|
+
function createServerListener(app, tls) {
|
|
52
|
+
if (!tls) {
|
|
53
|
+
return http.createServer(app);
|
|
54
|
+
}
|
|
55
|
+
if (!fs.existsSync(tls.cert)) {
|
|
56
|
+
throw new Error(`TLS cert file not found: ${tls.cert}`);
|
|
57
|
+
}
|
|
58
|
+
if (!fs.existsSync(tls.key)) {
|
|
59
|
+
throw new Error(`TLS key file not found: ${tls.key}`);
|
|
60
|
+
}
|
|
61
|
+
if (tls.ca && !fs.existsSync(tls.ca)) {
|
|
62
|
+
throw new Error(`TLS CA file not found: ${tls.ca}`);
|
|
63
|
+
}
|
|
64
|
+
const tlsOptions = {
|
|
65
|
+
cert: fs.readFileSync(tls.cert),
|
|
66
|
+
key: fs.readFileSync(tls.key),
|
|
67
|
+
...(tls.ca && { ca: fs.readFileSync(tls.ca) }),
|
|
68
|
+
};
|
|
69
|
+
return https.createServer(tlsOptions, app);
|
|
70
|
+
}
|
|
71
|
+
/**
|
|
72
|
+
* Returns the protocol string based on TLS configuration.
|
|
73
|
+
*/
|
|
74
|
+
function getProtocol(tls) {
|
|
75
|
+
return tls ? 'https' : 'http';
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=tlsUtils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tlsUtils.js","sourceRoot":"","sources":["../../src/server/tlsUtils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAeA,oDAyBC;AAKD,kCAEC;AA/CD,4CAA8B;AAC9B,gDAAkC;AAClC,kDAAoC;AAGpC;;;;;;;;;GASG;AACH,SAAgB,oBAAoB,CAClC,GAAyB,EACzB,GAAe;IAEf,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;IAChC,CAAC;IAED,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QAC7B,MAAM,IAAI,KAAK,CAAC,4BAA4B,GAAG,CAAC,IAAI,EAAE,CAAC,CAAC;IAC1D,CAAC;IACD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;QAC5B,MAAM,IAAI,KAAK,CAAC,2BAA2B,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;IACxD,CAAC;IACD,IAAI,GAAG,CAAC,EAAE,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;QACrC,MAAM,IAAI,KAAK,CAAC,0BAA0B,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;IACtD,CAAC;IAED,MAAM,UAAU,GAAwB;QACtC,IAAI,EAAE,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC;QAC/B,GAAG,EAAE,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC;QAC7B,GAAG,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,EAAE,EAAE,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC;KAC/C,CAAC;IAEF,OAAO,KAAK,CAAC,YAAY,CAAC,UAAU,EAAE,GAAG,CAAC,CAAC;AAC7C,CAAC;AAED;;GAEG;AACH,SAAgB,WAAW,CAAC,GAAe;IACzC,OAAO,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;AAChC,CAAC"}
|
|
@@ -40,18 +40,18 @@ export PATH=$SAPNWRFC_HOME/lib:$PATH
|
|
|
40
40
|
export LD_LIBRARY_PATH=$SAPNWRFC_HOME/lib:${LD_LIBRARY_PATH:-}
|
|
41
41
|
```
|
|
42
42
|
|
|
43
|
-
### 3.
|
|
43
|
+
### 3. @mcp-abap-adt/sap-rfc-lite Package
|
|
44
44
|
|
|
45
45
|
```bash
|
|
46
|
-
npm install
|
|
46
|
+
npm install @mcp-abap-adt/sap-rfc-lite
|
|
47
47
|
```
|
|
48
48
|
|
|
49
|
-
`node-rfc` is loaded dynamically at runtime — it is not a declared dependency.
|
|
49
|
+
`@mcp-abap-adt/sap-rfc-lite` is a lightweight fork of the archived `node-rfc` package, containing only the API surface needed for ADT RFC connections. It is loaded dynamically at runtime — it is not a declared dependency.
|
|
50
50
|
|
|
51
51
|
Verify installation:
|
|
52
52
|
|
|
53
53
|
```bash
|
|
54
|
-
node -e "try { require('
|
|
54
|
+
node -e "try { require('@mcp-abap-adt/sap-rfc-lite'); console.log('OK'); } catch(e) { console.log(e.message); }"
|
|
55
55
|
```
|
|
56
56
|
|
|
57
57
|
### 4. SAP Authorization
|
|
@@ -83,13 +83,13 @@ SAP_CONNECTION_TYPE=rfc
|
|
|
83
83
|
|
|
84
84
|
## Troubleshooting
|
|
85
85
|
|
|
86
|
-
### "
|
|
86
|
+
### "@mcp-abap-adt/sap-rfc-lite is not available"
|
|
87
87
|
|
|
88
88
|
SAP NW RFC SDK is not installed or not in PATH. Check:
|
|
89
89
|
|
|
90
90
|
```bash
|
|
91
91
|
echo $SAPNWRFC_HOME
|
|
92
|
-
node -e "require('
|
|
92
|
+
node -e "require('@mcp-abap-adt/sap-rfc-lite')"
|
|
93
93
|
```
|
|
94
94
|
|
|
95
95
|
### "The specified module could not be found: sapnwrfc.node"
|
|
@@ -89,7 +89,7 @@ if (process.env.SAP_AUTH_TYPE === 'rfc') {
|
|
|
89
89
|
```
|
|
90
90
|
|
|
91
91
|
`createAbapConnection()` from connection package already handles `authType: 'rfc'`.
|
|
92
|
-
|
|
92
|
+
`@mcp-abap-adt/sap-rfc-lite` is loaded dynamically — no error if not installed and not used.
|
|
93
93
|
|
|
94
94
|
### Step 5: Launcher CLI support [DONE]
|
|
95
95
|
|
|
@@ -155,7 +155,7 @@ The [abapfs_extensions](https://github.com/marcellourbani/abapfs_extensions) pro
|
|
|
155
155
|
|
|
156
156
|
| Risk | Mitigation |
|
|
157
157
|
|------|-----------|
|
|
158
|
-
|
|
|
158
|
+
| @mcp-abap-adt/sap-rfc-lite needs SAP NW RFC SDK native lib | Dynamic import; graceful error if not installed; only loaded for `connectionType: 'rfc'` |
|
|
159
159
|
| Docker images need SDK | Document; provide Dockerfile with SDK layer |
|
|
160
160
|
| Legacy endpoint differences between versions | Discovery-based detection, not hardcoded |
|
|
161
161
|
| One extra HTTP call at startup (core/discovery) | Cached, happens once |
|