@mcp-abap-adt/core 2.1.8 → 2.2.2

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 CHANGED
@@ -2,14 +2,20 @@
2
2
 
3
3
  ## [Unreleased]
4
4
 
5
- ## [2.1.8] - 2026-02-09
5
+ ## [2.2.1] - 2026-02-10
6
+ ### Changed
7
+ - **Configurator split**: Removed `mcp-abap-adt-configure` from core. Use `@mcp-abap-adt/configurator` (repo: `mcp-abap-adt-conf`) with `mcp-conf` instead.
8
+
9
+ ## [2.2.0] - 2026-02-09
6
10
  ### Added
7
11
  - **MCP Registry metadata**: Added `server.json` and `mcpName` for registry publishing.
8
- - **Smithery sandbox entry**: Added `src/smithery-entry.ts` for capability scanning without real credentials.
12
+ - **Client configurator**: Added `mcp-abap-adt-configure` to add/enable/disable/remove MCP entries across clients.
13
+ - **Auto-config docs**: Added `docs/installation/CLIENT_INSTALLERS.md` with usage and common tasks.
9
14
 
10
15
  ### Changed
11
16
  - **Default logger loading**: Lazy-load logger to avoid bundler issues with optional transports.
12
- - **Smithery config**: Updated `smithery.yaml` to support `--env` or `--mcp` via `npx` stdio command.
17
+ - **Claude config**: Write MCP settings under `projects.<full_path>.mcpServers` for Claude CLI on Linux.
18
+ - **Config defaults**: New entries for Cline/Codex/Windsurf/Goose are disabled by default; enable explicitly.
13
19
 
14
20
  ## [2.1.7] - 2026-01-29
15
21
  ### Fixed
package/README.md CHANGED
@@ -8,6 +8,22 @@
8
8
 
9
9
  This project provides a server that allows you to interact with SAP ABAP systems using the Model Context Protocol (MCP). Think of it as a bridge that lets tools like [Cline](https://marketplace.visualstudio.com/items?itemName=saoudrizwan.claude-dev) (a VS Code extension) talk to your ABAP system and retrieve information like source code, table structures, and more.
10
10
 
11
+ ## Configure Clients Fast (Recommended)
12
+
13
+ Use the configurator to generate client config files instead of hand‑editing JSON/TOML:
14
+
15
+ ```bash
16
+ npm install -g @mcp-abap-adt/configurator
17
+
18
+ # stdio (destination)
19
+ mcp-conf --client cline --name abap --mcp TRIAL
20
+
21
+ # HTTP (streamable HTTP)
22
+ mcp-conf --client copilot --name abap --transport http --url http://localhost:3000/mcp/stream/http --header x-mcp-destination=trial
23
+ ```
24
+
25
+ Full usage: `docs/CLIENT_INSTALLERS.md` in the `mcp-abap-adt-conf` repo.
26
+
11
27
  ## Architecture
12
28
 
13
29
  The project provides two main usage patterns:
@@ -35,53 +51,14 @@ await server.connect(transport);
35
51
 
36
52
  ## Quick Start
37
53
 
38
- 1. **Install**: See [Installation Guide](docs/installation/INSTALLATION.md)
39
- 2. **Configure**: See [Client Configuration](docs/user-guide/CLIENT_CONFIGURATION.md)
40
- 3. **Use**: See [Available Tools](docs/user-guide/AVAILABLE_TOOLS.md)
54
+ 1. **Install server**: See [Installation Guide](docs/installation/INSTALLATION.md)
55
+ 2. **Configure client (auto)**: Use `mcp-conf` from `@mcp-abap-adt/configurator` (repo: `mcp-abap-adt-conf`)
56
+ 3. **Configure client (manual)**: See [Client Configuration](docs/user-guide/CLIENT_CONFIGURATION.md)
57
+ 4. **Use**: See [Available Tools](docs/user-guide/AVAILABLE_TOOLS.md)
41
58
 
42
- ## Smithery (Local stdio)
43
-
44
- This project ships a `smithery.yaml` that runs the server locally via `npx -y @mcp-abap-adt/core` (stdio transport).
45
-
46
- Smithery requires exactly one of these config fields:
47
- - `envPath` → maps to `--env=<path>` (use a specific `.env` file)
48
- - `mcpDestination` → maps to `--mcp=<destination>` (use service keys/auth-broker)
49
-
50
- Minimal parameter docs:
51
- - `--env` is documented in [CLI Options](docs/user-guide/CLI_OPTIONS.md#environment-file-configuration)
52
- - `--mcp` (auth-broker destination) is documented in [Client Configuration](docs/user-guide/CLIENT_CONFIGURATION.md#destination-based-authentication)
53
-
54
- ### Smithery CLI examples
55
-
56
- **Codex:**
57
- ```bash
58
- npx -y @smithery/cli install mcp-abap-adt --client codex
59
- ```
59
+ ## MCP Registry
60
60
 
61
- **Cline:**
62
- ```bash
63
- npx -y @smithery/cli install mcp-abap-adt --client cline
64
- ```
65
-
66
- **Claude:**
67
- ```bash
68
- npx -y @smithery/cli install mcp-abap-adt --client claude
69
- ```
70
-
71
- **Crush:**
72
- ```bash
73
- npx -y @smithery/cli install mcp-abap-adt --client crush
74
- ```
75
-
76
- **Goose:**
77
- ```bash
78
- npx -y @smithery/cli install mcp-abap-adt --client goose
79
- ```
80
-
81
- If a client name is not accepted by your CLI version, run:
82
- ```bash
83
- npx -y @smithery/cli install --help
84
- ```
61
+ Published in the official MCP Registry. See `docs/deployment/MCP_REGISTRY.md` for full details.
85
62
 
86
63
  ## Features
87
64
 
@@ -110,6 +87,7 @@ npx -y @smithery/cli install --help
110
87
  ### For Users
111
88
  - **[Installation Guide](docs/installation/INSTALLATION.md)** - Installation instructions for all platforms
112
89
  - **[Client Configuration](docs/user-guide/CLIENT_CONFIGURATION.md)** - How to configure MCP clients
90
+ - **Configurator**: `@mcp-abap-adt/configurator` (repo: `mcp-abap-adt-conf`) provides the `mcp-conf` CLI to auto-configure clients.
113
91
  - **[Available Tools](docs/user-guide/AVAILABLE_TOOLS.md)** - Complete list of available MCP tools
114
92
 
115
93
  ### For Administrators
@@ -61,6 +61,7 @@ export declare class StreamableHttpServer extends BaseMcpServer {
61
61
  private readonly defaultDestination?;
62
62
  private readonly path;
63
63
  private readonly externalApp?;
64
+ private readonly version;
64
65
  constructor(handlersRegistry: IHandlersRegistry, authBrokerFactory: AuthBrokerFactory, opts?: StreamableHttpServerOptions);
65
66
  /**
66
67
  * Creates the request handler function
@@ -90,5 +91,6 @@ export declare class StreamableHttpServer extends BaseMcpServer {
90
91
  * Check if request has SAP connection headers
91
92
  */
92
93
  private hasSapConnectionHeaders;
94
+ private createPerRequestServer;
93
95
  }
94
96
  //# sourceMappingURL=StreamableHttpServer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"StreamableHttpServer.d.ts","sourceRoot":"","sources":["../../src/server/StreamableHttpServer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAGnD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAE9D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,EACV,gBAAgB,EAChB,wBAAwB,EACzB,MAAM,uBAAuB,CAAC;AAI/B,MAAM,WAAW,2BAA2B;IAC1C;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,GAAG,CAAC,EAAE,gBAAgB,CAAC;CACxB;AAED;;;;;;;;GAQG;AACH,qBAAa,oBAAqB,SAAQ,aAAa;IASnD,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IATpC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;IAC9B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;IAC9B,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAU;IAC7C,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAS;IAC7C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;IAC9B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAmB;gBAG7B,gBAAgB,EAAE,iBAAiB,EACnC,iBAAiB,EAAE,iBAAiB,EACrD,IAAI,CAAC,EAAE,2BAA2B;IAiBpC;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAmE5B;;;;;;OAMG;IACH,cAAc,CACZ,GAAG,EAAE,gBAAgB,EACrB,QAAQ,CAAC,EAAE,wBAAwB,GAClC,IAAI;IAwBP;;OAEG;IACH,OAAO,IAAI,MAAM;IAIjB;;;;;OAKG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA4B5B;;OAEG;IACH,OAAO,CAAC,uBAAuB;CAShC"}
1
+ {"version":3,"file":"StreamableHttpServer.d.ts","sourceRoot":"","sources":["../../src/server/StreamableHttpServer.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAGnD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,sBAAsB,CAAC;AAE9D,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AACvE,OAAO,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AACnD,OAAO,KAAK,EACV,gBAAgB,EAChB,wBAAwB,EACzB,MAAM,uBAAuB,CAAC;AAI/B,MAAM,WAAW,2BAA2B;IAC1C;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;;OAGG;IACH,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B;;OAEG;IACH,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;;;OAIG;IACH,GAAG,CAAC,EAAE,gBAAgB,CAAC;CACxB;AAED;;;;;;;;GAQG;AACH,qBAAa,oBAAqB,SAAQ,aAAa;IAUnD,OAAO,CAAC,QAAQ,CAAC,gBAAgB;IACjC,OAAO,CAAC,QAAQ,CAAC,iBAAiB;IAVpC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;IAC9B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;IAC9B,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAU;IAC7C,OAAO,CAAC,QAAQ,CAAC,kBAAkB,CAAC,CAAS;IAC7C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;IAC9B,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAmB;IAChD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;gBAGd,gBAAgB,EAAE,iBAAiB,EACnC,iBAAiB,EAAE,iBAAiB,EACrD,IAAI,CAAC,EAAE,2BAA2B;IAkBpC;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IA2E5B;;;;;;OAMG;IACH,cAAc,CACZ,GAAG,EAAE,gBAAgB,EACrB,QAAQ,CAAC,EAAE,wBAAwB,GAClC,IAAI;IAwBP;;OAEG;IACH,OAAO,IAAI,MAAM;IAIjB;;;;;OAKG;IACG,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IA4B5B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAY/B,OAAO,CAAC,sBAAsB;CA0C/B"}
@@ -27,6 +27,7 @@ class StreamableHttpServer extends BaseMcpServer_js_1.BaseMcpServer {
27
27
  defaultDestination;
28
28
  path;
29
29
  externalApp;
30
+ version;
30
31
  constructor(handlersRegistry, authBrokerFactory, opts) {
31
32
  super({
32
33
  name: 'mcp-abap-adt',
@@ -35,6 +36,7 @@ class StreamableHttpServer extends BaseMcpServer_js_1.BaseMcpServer {
35
36
  });
36
37
  this.handlersRegistry = handlersRegistry;
37
38
  this.authBrokerFactory = authBrokerFactory;
39
+ this.version = opts?.version ?? DEFAULT_VERSION;
38
40
  this.host = opts?.host ?? '127.0.0.1';
39
41
  this.port = opts?.port ?? 3000;
40
42
  this.enableJsonResponse = opts?.enableJsonResponse ?? true;
@@ -53,6 +55,7 @@ class StreamableHttpServer extends BaseMcpServer_js_1.BaseMcpServer {
53
55
  const clientId = `${req.socket.remoteAddress}:${req.socket.remotePort}`;
54
56
  console.error(`[StreamableHttpServer] ${req.method} ${req.path} from ${clientId}`);
55
57
  try {
58
+ const server = this.createPerRequestServer();
56
59
  let destination;
57
60
  let broker;
58
61
  // Priority 1: Check x-mcp-destination header
@@ -69,20 +72,22 @@ class StreamableHttpServer extends BaseMcpServer_js_1.BaseMcpServer {
69
72
  // No destination, no broker - create connection directly from headers
70
73
  destination = undefined;
71
74
  broker = undefined;
72
- this.setConnectionContextFromHeaders(req.headers);
75
+ server.setConnectionContextFromHeadersPublic(req.headers);
73
76
  }
74
77
  // Priority 3: Use default destination
75
78
  else if (this.defaultDestination) {
76
79
  destination = this.defaultDestination;
77
- broker =
78
- await this.authBrokerFactory.getOrCreateAuthBroker(destination);
80
+ // Use default broker for --mcp/--env startup config
81
+ broker = await this.authBrokerFactory.getOrCreateAuthBroker();
79
82
  }
80
83
  // Priority 4: No auth params at all
81
84
  // Allow request to proceed - metadata methods (tools/list, etc.) will work
82
85
  // tools/call will fail with appropriate error in handler
83
- // Set connection context only if we have destination or broker
86
+ if (destination && !broker) {
87
+ throw new Error(`Auth broker not initialized for destination: ${destination}`);
88
+ }
84
89
  if (destination && broker) {
85
- await this.setConnectionContext(destination, broker);
90
+ await server.setConnectionContextPublic(destination, broker);
86
91
  }
87
92
  const transport = new streamableHttp_js_1.StreamableHTTPServerTransport({
88
93
  sessionIdGenerator: undefined, // stateless mode to avoid ID collisions
@@ -91,7 +96,7 @@ class StreamableHttpServer extends BaseMcpServer_js_1.BaseMcpServer {
91
96
  res.on('close', () => {
92
97
  void transport.close();
93
98
  });
94
- await this.connect(transport);
99
+ await server.connect(transport);
95
100
  await transport.handleRequest(req, res, req.body);
96
101
  }
97
102
  catch (err) {
@@ -114,9 +119,9 @@ class StreamableHttpServer extends BaseMcpServer_js_1.BaseMcpServer {
114
119
  // Only handle POST requests - GET SSE streams cause abort errors on disconnect
115
120
  app.post(this.path, handler);
116
121
  // Return 405 for other methods to avoid SSE stream issues
117
- app.all(this.path, ((_req, res) => {
122
+ app.all(this.path, (_req, res) => {
118
123
  res.status(405).send('Method Not Allowed');
119
- }));
124
+ });
120
125
  console.error(`[StreamableHttpServer] Routes registered on external app at ${this.path}`);
121
126
  console.error(`[StreamableHttpServer] JSON response mode: ${this.enableJsonResponse}`);
122
127
  if (this.defaultDestination) {
@@ -165,6 +170,26 @@ class StreamableHttpServer extends BaseMcpServer_js_1.BaseMcpServer {
165
170
  (headers['x-sap-password'] || headers['X-SAP-Password']);
166
171
  return !!(hasUrl && (hasJwtAuth || hasBasicAuth));
167
172
  }
173
+ createPerRequestServer() {
174
+ class PerRequestServer extends BaseMcpServer_js_1.BaseMcpServer {
175
+ registry;
176
+ constructor(registry, version, logger) {
177
+ super({ name: 'mcp-abap-adt', version, logger });
178
+ this.registry = registry;
179
+ this.registerHandlers(this.registry);
180
+ }
181
+ setConnectionContextPublic(destination, broker) {
182
+ if (!broker) {
183
+ return Promise.resolve();
184
+ }
185
+ return this.setConnectionContext(destination, broker);
186
+ }
187
+ setConnectionContextFromHeadersPublic(headers) {
188
+ this.setConnectionContextFromHeaders(headers);
189
+ }
190
+ }
191
+ return new PerRequestServer(this.handlersRegistry, this.version, this.logger);
192
+ }
168
193
  }
169
194
  exports.StreamableHttpServer = StreamableHttpServer;
170
195
  //# sourceMappingURL=StreamableHttpServer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"StreamableHttpServer.js","sourceRoot":"","sources":["../../src/server/StreamableHttpServer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"StreamableHttpServer.js","sourceRoot":"","sources":["../../src/server/StreamableHttpServer.ts"],"names":[],"mappings":"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"}
package/docs/README.md CHANGED
@@ -17,6 +17,7 @@ Complete installation instructions for different platforms and environments.
17
17
  Documentation for end users: configuration, usage, and available tools.
18
18
 
19
19
  - `CLIENT_CONFIGURATION.md` - How to configure MCP clients to connect to the server
20
+ - Configurator (auto-config): `@mcp-abap-adt/configurator` (repo: `mcp-abap-adt-conf`)
20
21
  - `AVAILABLE_TOOLS.md` - Complete list of available MCP tools and their descriptions
21
22
  - `CLI_OPTIONS.md` - Complete command-line options reference
22
23
 
@@ -48,6 +49,7 @@ Documentation for developers: testing, development guides, and internal document
48
49
  - **Getting Started**: [Installation Guide](installation/INSTALLATION.md)
49
50
  - **User Configuration**: [Client Configuration](user-guide/CLIENT_CONFIGURATION.md)
50
51
  - **Server Configuration**: [YAML Config](configuration/YAML_CONFIG.md) | [CLI Options](user-guide/CLI_OPTIONS.md)
52
+ - **Deployment**: [MCP Registry](deployment/MCP_REGISTRY.md) | [Docker](deployment/DOCKER.md)
51
53
  - **Available Tools**: [Tools List](user-guide/AVAILABLE_TOOLS.md)
52
54
  - **Architecture**: [Stateful Sessions](architecture/STATEFUL_SESSION_GUIDE.md) | [Architecture Docs](architecture/README.md)
53
55
  - **Development**: [Development Documentation](development/)
@@ -0,0 +1,34 @@
1
+ # MCP Registry Publishing
2
+
3
+ This project is published in the official MCP Registry.
4
+
5
+ ## Prerequisites
6
+ - Install `mcp-publisher` (see official docs).
7
+ - Ensure the npm package is published and contains `mcpName` in `package.json`.
8
+
9
+ ## Required Metadata
10
+
11
+ - `server.json` in the repository root
12
+ - `mcpName` in `package.json`
13
+
14
+ Expected values:
15
+ - Registry name: `io.github.fr0ster/mcp-abap-adt`
16
+ - npm package: `@mcp-abap-adt/core` (stdio)
17
+
18
+ ## Publish
19
+
20
+ ```bash
21
+ mcp-publisher login github
22
+ mcp-publisher publish
23
+ ```
24
+
25
+ ## Verify
26
+
27
+ ```bash
28
+ curl "https://registry.modelcontextprotocol.io/v0/servers?search=io.github.fr0ster/mcp-abap-adt"
29
+ ```
30
+
31
+ ## Notes
32
+
33
+ - Keep `server.json` version in sync with the npm package version.
34
+ - If publish fails with “missing mcpName”, publish a new npm version that includes `mcpName`.
@@ -11,6 +11,11 @@ This directory contains documentation for deploying and releasing MCP ABAP ADT S
11
11
  - Multi-stage builds
12
12
  - Production best practices
13
13
 
14
+ - **[MCP_REGISTRY.md](./MCP_REGISTRY.md)** - MCP Registry publishing
15
+ - `server.json` and `mcpName` metadata
16
+ - Publish with `mcp-publisher`
17
+ - Verification steps
18
+
14
19
  - **[RELEASE.md](./RELEASE.md)** - Release process documentation
15
20
  - Automated releases via GitHub Actions
16
21
  - Manual release process
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": "2.1.8",
4
+ "version": "2.2.2",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
7
7
  "exports": {