@mcp-abap-adt/core 2.2.0 → 2.2.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 CHANGED
@@ -2,6 +2,30 @@
2
2
 
3
3
  ## [Unreleased]
4
4
 
5
+ ## [2.2.3] - 2026-02-10
6
+ ### Added
7
+ - **Docs**: Added dedicated Terminology and Authentication guides, with links from README.
8
+
9
+ ### Changed
10
+ - **README**: Reworked first-screen content and links to emphasize configurator usage and destinations.
11
+ - **Docs structure**: Moved GitHub configuration README into deployment docs and fixed internal links.
12
+ - **Client configuration docs**: Linked to the configurator repo and usage guide.
13
+
14
+ ## [2.2.2] - 2026-02-10
15
+ ### Added
16
+ - **Client support**: Added OpenCode and Copilot configuration support.
17
+ - **Claude config**: Added `.mcp.json` project configuration and docs.
18
+ - **Configurator options**: Added URL, headers, and timeout options in `mcp-abap-adt-configure`.
19
+
20
+ ### Changed
21
+ - **Configurator split**: Removed `mcp-abap-adt-configure` from core. Use `@mcp-abap-adt/configurator` (repo: `mcp-abap-adt-conf`) with `mcp-conf` instead.
22
+ - **Codex/Goose handling**: Improved transport handling and timeout defaults for non-stdio transports.
23
+ - **Default-disabled entries**: Updated JSON config handling and docs to keep new entries disabled by default.
24
+ - **Streamable HTTP**: Refactored server handling for per-request connections.
25
+
26
+ ### Fixed
27
+ - **Goose config**: Corrected enabled state handling in `writeGooseConfig`.
28
+
5
29
  ## [2.2.0] - 2026-02-09
6
30
  ### Added
7
31
  - **MCP Registry metadata**: Added `server.json` and `mcpName` for registry publishing.
package/README.md CHANGED
@@ -1,12 +1,62 @@
1
1
  # mcp-abap-adt: Your Gateway to ABAP Development Tools (ADT)
2
2
 
3
- <a href="https://glama.ai/mcp/servers/@fr0ster/mcp-abap-adt">
4
- <img width="380" height="200" src="https://glama.ai/mcp/servers/@fr0ster/mcp-abap-adt/badge" />
5
- </a>
3
+ This project provides a server that allows you to interact with SAP ABAP systems using the Model Context Protocol (MCP). It connects AI clients to real ADT capabilities: read, analyze, and modify ABAP artifacts with a consistent, secure interface.
6
4
 
7
- > **Acknowledgment**: This project was originally inspired by [mario-andreschak/mcp-abap-adt](https://github.com/mario-andreschak/mcp-abap-adt). We started with the core concept and then evolved it into an independent project with our own architecture and features.
5
+ **Why teams use it:**
6
+ - Works with **on‑prem** and **BTP** ABAP systems
7
+ - **Destination‑based auth** (service keys) so you stop pasting tokens everywhere
8
+ - Multiple transports: **stdio**, **HTTP**, **SSE**
9
+ - Rich tool surface for ABAP objects, metadata, transports, and search
8
10
 
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.
11
+ **Authorization & Destinations (Important):** A *destination* is the filename of a service key stored locally. You place service keys in the service-keys directory, and use `--mcp=<destination>` to select which one to use. This is the primary auth model for on‑prem and BTP systems. See [Authentication & Destinations](docs/user-guide/AUTHENTICATION.md).
12
+
13
+ You can configure MCP clients either manually (JSON/TOML) or via the configurator CLI (`@mcp-abap-adt/configurator`, repo: [`mcp-abap-adt-conf`](https://github.com/fr0ster/mcp-abap-adt-conf)).
14
+
15
+ ## Table of Contents
16
+
17
+ 1. [Getting Started](#getting-started)
18
+ 2. [Architecture](#architecture)
19
+ 3. [Quick Start](#quick-start)
20
+ 4. [Terminology](#terminology)
21
+ 5. [Authorization & Destinations](#authorization--destinations)
22
+ 6. [Registries](#registries)
23
+ 7. [Features](#features)
24
+ 8. [Documentation](#documentation)
25
+ 9. [Dependencies](#dependencies)
26
+ 10. [Running the Server](#running-the-server)
27
+
28
+ ## Getting Started
29
+
30
+ Install the server and configure your client using the configurator:
31
+
32
+ ```bash
33
+ npm install -g @mcp-abap-adt/core
34
+ npm install -g @mcp-abap-adt/configurator
35
+
36
+ # stdio (destination)
37
+ mcp-conf --client cline --name abap --mcp TRIAL
38
+
39
+ # HTTP (streamable HTTP)
40
+ mcp-conf --client copilot --name abap --transport http --url http://localhost:3000/mcp/stream/http --header x-mcp-destination=trial
41
+ ```
42
+
43
+ Full configurator usage (separate repo): [CLIENT_INSTALLERS.md](https://github.com/fr0ster/mcp-abap-adt-conf/tree/main/docs/CLIENT_INSTALLERS.md).
44
+
45
+ ## Terminology
46
+
47
+ **Destination**: a local service key filename. You store service keys in the service-keys directory, and pass the filename (without extension) via `--mcp=<destination>` to select which system to use.
48
+
49
+ See [docs/user-guide/TERMINOLOGY.md](docs/user-guide/TERMINOLOGY.md) for the full list.
50
+
51
+ ## Authorization & Destinations
52
+
53
+ Destination-based auth is the default. Drop service keys into the service-keys folder and use the filename as your destination:
54
+
55
+ ```bash
56
+ mcp-abap-adt --transport=stdio --mcp=TRIAL
57
+ ```
58
+
59
+ For full details (paths, `.env`, direct headers), see [Authentication & Destinations](docs/user-guide/AUTHENTICATION.md).
10
60
 
11
61
  ## Architecture
12
62
 
@@ -35,13 +85,20 @@ await server.connect(transport);
35
85
 
36
86
  ## Quick Start
37
87
 
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)
88
+ 1. **Install server**: See [Installation Guide](docs/installation/INSTALLATION.md)
89
+ 2. **Configure client (auto)**: Use `mcp-conf` from `@mcp-abap-adt/configurator` (repo: [`mcp-abap-adt-conf`](https://github.com/fr0ster/mcp-abap-adt-conf), docs: [CLIENT_INSTALLERS.md](https://github.com/fr0ster/mcp-abap-adt-conf/tree/main/docs/CLIENT_INSTALLERS.md))
90
+ 3. **Configure client (manual)**: See [Client Configuration](docs/user-guide/CLIENT_CONFIGURATION.md)
91
+ 4. **Use**: See [Available Tools](docs/user-guide/AVAILABLE_TOOLS.md)
41
92
 
42
- ## MCP Registry
93
+ ## Registries
43
94
 
44
- Published in the official MCP Registry. See `docs/deployment/MCP_REGISTRY.md` for full details.
95
+ Published in the official MCP Registry and listed on Glama.ai.
96
+
97
+ - MCP Registry: [docs/deployment/MCP_REGISTRY.md](docs/deployment/MCP_REGISTRY.md)
98
+ - Glama.ai:
99
+ <a href="https://glama.ai/mcp/servers/@fr0ster/mcp-abap-adt">
100
+ <img width="380" height="200" src="https://glama.ai/mcp/servers/@fr0ster/mcp-abap-adt/badge" />
101
+ </a>
45
102
 
46
103
  ## Features
47
104
 
@@ -68,16 +125,21 @@ Published in the official MCP Registry. See `docs/deployment/MCP_REGISTRY.md` fo
68
125
  ## Documentation
69
126
 
70
127
  ### For Users
71
- - **[Installation Guide](docs/installation/INSTALLATION.md)** - Installation instructions for all platforms
72
- - **[Client Configuration](docs/user-guide/CLIENT_CONFIGURATION.md)** - How to configure MCP clients
128
+ - **[Docs Index](docs/README.md)** - Full documentation index
129
+ - **[Installation Guide](docs/installation/README.md)** - Installation overview and platform guides
130
+ - **[User Guide](docs/user-guide/README.md)** - End-user docs (auth, config, tools)
131
+ - **[Authentication & Destinations](docs/user-guide/AUTHENTICATION.md)** - Destination-based auth and service keys
132
+ - **[Handlers Management](docs/user-guide/HANDLERS_MANAGEMENT.md)** - Enable/disable handler groups
133
+ - **Configurator**: `@mcp-abap-adt/configurator` (repo: [`mcp-abap-adt-conf`](https://github.com/fr0ster/mcp-abap-adt-conf)) provides the `mcp-conf` CLI to auto-configure clients
73
134
  - **[Available Tools](docs/user-guide/AVAILABLE_TOOLS.md)** - Complete list of available MCP tools
74
135
 
75
136
  ### For Administrators
76
- - **[Installation Guide](docs/installation/INSTALLATION.md)** - Platform-specific installation guides
137
+ - **[Deployment Docs](docs/deployment/README.md)** - MCP Registry, Docker, release notes
138
+ - **[Server Configuration](docs/configuration/YAML_CONFIG.md)** - YAML config reference
77
139
 
78
140
  ### For Developers
79
- - **[Architecture Documentation](docs/architecture/)** - System architecture and design decisions
80
- - **[Development Documentation](docs/development/)** - Testing guides and development resources
141
+ - **[Architecture Documentation](docs/architecture/README.md)** - System architecture and design decisions
142
+ - **[Development Documentation](docs/development/README.md)** - Testing guides and development resources
81
143
  - **[CHANGELOG.md](CHANGELOG.md)** - Version history and changes
82
144
 
83
145
  ## Dependencies
@@ -89,6 +151,9 @@ This project uses two npm packages:
89
151
 
90
152
  These packages are automatically installed via `npm install` and are published to npm.
91
153
 
154
+ ---
155
+
156
+
92
157
  ## Running the Server
93
158
 
94
159
  ### Global Installation (Recommended)
@@ -166,11 +231,13 @@ SAP_JWT_TOKEN=your-jwt-token
166
231
  npm install -g @mcp-abap-adt/connection
167
232
 
168
233
  # Generate .env file from service key JSON
169
- sap-abap-auth auth -k path/to/service-key.json
234
+ mcp-auth auth -k path/to/service-key.json
170
235
  ```
171
236
 
172
237
  This will automatically create/update `.env` file with JWT tokens and connection details.
173
238
 
239
+ **Claude recommendation:** place the service key in the service-keys directory and use `--mcp=<destination>` (avoid manual JWT tokens).
240
+
174
241
  ### Command-Line Options
175
242
 
176
243
  **Authentication:**
@@ -228,3 +295,7 @@ npm run docs:tools
228
295
  ## Contributors
229
296
 
230
297
  Thank you to all contributors! See [CONTRIBUTORS.md](CONTRIBUTORS.md) for the complete list.
298
+
299
+ ---
300
+
301
+ **Acknowledgment**: This project was originally inspired by [mario-andreschak/mcp-abap-adt](https://github.com/mario-andreschak/mcp-abap-adt). We started with the core concept and then evolved it into an independent project with our own architecture and features.
@@ -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,8 @@ 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
+ - `AUTHENTICATION.md` - Destination-based auth, service key locations, and header-based auth
21
+ - Configurator (auto-config): `@mcp-abap-adt/configurator` (repo: `mcp-abap-adt-conf`)
20
22
  - `AVAILABLE_TOOLS.md` - Complete list of available MCP tools and their descriptions
21
23
  - `CLI_OPTIONS.md` - Complete command-line options reference
22
24
 
@@ -25,6 +27,14 @@ Documentation for server configuration options.
25
27
 
26
28
  - `YAML_CONFIG.md` - YAML configuration file guide (alternative to command-line arguments)
27
29
 
30
+ ### [deployment/](deployment/) - Deployment & Releases
31
+ Documentation for deployment, Docker, and release flow.
32
+
33
+ - `README.md` - Deployment docs index
34
+ - `MCP_REGISTRY.md` - MCP Registry publishing
35
+ - `DOCKER.md` - Docker deployment guide
36
+ - `RELEASE.md` - Release process
37
+
28
38
  ### [architecture/](architecture/) - For Developers
29
39
  Technical documentation about the system architecture, design decisions, and internal structure.
30
40
 
@@ -47,13 +57,20 @@ Documentation for developers: testing, development guides, and internal document
47
57
 
48
58
  - **Getting Started**: [Installation Guide](installation/INSTALLATION.md)
49
59
  - **User Configuration**: [Client Configuration](user-guide/CLIENT_CONFIGURATION.md)
60
+ - **Authentication**: [Destinations & Auth](user-guide/AUTHENTICATION.md)
61
+ - **Terminology**: [Project Terms](user-guide/TERMINOLOGY.md)
62
+ - **Handlers Management**: [Handler Groups](user-guide/HANDLERS_MANAGEMENT.md)
50
63
  - **Server Configuration**: [YAML Config](configuration/YAML_CONFIG.md) | [CLI Options](user-guide/CLI_OPTIONS.md)
51
64
  - **Deployment**: [MCP Registry](deployment/MCP_REGISTRY.md) | [Docker](deployment/DOCKER.md)
52
- - **Client Configuration**: [Auto-Configure](installation/CLIENT_INSTALLERS.md)
53
65
  - **Available Tools**: [Tools List](user-guide/AVAILABLE_TOOLS.md)
54
66
  - **Architecture**: [Stateful Sessions](architecture/STATEFUL_SESSION_GUIDE.md) | [Architecture Docs](architecture/README.md)
55
67
  - **Development**: [Development Documentation](development/)
56
68
 
69
+ ## 📦 Artifacts
70
+
71
+ - `adt-discovery.xml` - ADT discovery snapshot
72
+ - `discovery.json` - ADT discovery JSON snapshot
73
+
57
74
  ## 📝 Package-Specific Documentation
58
75
 
59
76
  Package-specific documentation is available in the respective npm packages:
@@ -41,6 +41,7 @@ Handlers are organized into logical groups for flexible composition:
41
41
  - **[STATEFUL_SESSION_GUIDE.md](STATEFUL_SESSION_GUIDE.md)** - Stateful ADT request flow for lock/update/unlock operations
42
42
  - **[TOOLS_ARCHITECTURE.md](TOOLS_ARCHITECTURE.md)** - MCP tools architecture and handler structure, explaining how tools are organized and how `TOOL_DEFINITION` works
43
43
  - **[CONNECTION_ISOLATION.md](CONNECTION_ISOLATION.md)** - Connection isolation architecture, explaining how per-session connection isolation prevents data mixing between clients (version 1.1.10+)
44
+ - **[HANDLER_EXPORTER.md](HANDLER_EXPORTER.md)** - Legacy handler exporter usage
44
45
 
45
46
  ## Related Documentation
46
47
 
@@ -0,0 +1,122 @@
1
+ # GitHub Configuration
2
+
3
+ This directory contains GitHub-specific configuration files.
4
+
5
+ ## Workflows
6
+
7
+ ### 🚀 Release Workflow (`workflows/release.yml`)
8
+
9
+ Automatically creates GitHub releases when you push a version tag.
10
+
11
+ **Trigger:** Push tags matching `v*.*.*` (e.g., `v1.1.0`, `v2.0.0`)
12
+
13
+ **What it does:**
14
+ 1. Checks out code with submodules
15
+ 2. Sets up Node.js 18
16
+ 3. Installs dependencies
17
+ 4. Builds the project
18
+ 5. Runs tests (non-blocking)
19
+ 6. Creates npm package (.tgz)
20
+ 7. Creates GitHub Release
21
+ 8. Uploads package as release asset
22
+ 9. Generates release notes
23
+
24
+ **Usage:**
25
+ ```bash
26
+ # Bump version
27
+ npm version patch # 1.1.0 -> 1.1.1
28
+
29
+ # Create and push tag
30
+ git tag v1.1.1
31
+ git push origin main
32
+ git push origin v1.1.1
33
+ ```
34
+
35
+ ### ✅ CI Workflow (`workflows/ci.yml`)
36
+
37
+ Runs continuous integration tests on every push and PR.
38
+
39
+ **Trigger:**
40
+ - Push to `main` or `develop` branches
41
+ - Pull requests to `main` or `develop`
42
+
43
+ **What it does:**
44
+ 1. Tests on multiple OS (Ubuntu, macOS, Windows)
45
+ 2. Tests on multiple Node.js versions (18, 20)
46
+ 3. Builds and tests the project
47
+ 4. Verifies package creation
48
+ 5. Tests package installation
49
+
50
+ ### 📦 Publish to npm (`workflows/publish-npm.yml`)
51
+
52
+ Optional workflow for publishing to npm registry.
53
+
54
+ **Trigger:** Manual (workflow_dispatch)
55
+
56
+ **Setup required:**
57
+ 1. Set `private: false` in package.json
58
+ 2. Add NPM_TOKEN to repository secrets
59
+ 3. Get token from https://www.npmjs.com/settings/[username]/tokens
60
+
61
+ ## Release Process
62
+
63
+ See [docs/deployment/RELEASE.md](../docs/deployment/RELEASE.md) for detailed release instructions.
64
+
65
+ ### Quick Release
66
+
67
+ ```bash
68
+ # 1. Bump version
69
+ npm version minor # or patch, major
70
+
71
+ # 2. Commit
72
+ git add package.json package-lock.json
73
+ git commit -m "chore: release v1.2.0"
74
+
75
+ # 3. Tag and push
76
+ git tag v1.2.0
77
+ git push origin main --tags
78
+ ```
79
+
80
+ ## Secrets Configuration
81
+
82
+ Currently no secrets are required for basic releases.
83
+
84
+ **Optional (for npm publishing):**
85
+ - `NPM_TOKEN` - npm authentication token
86
+
87
+ **Built-in secrets used:**
88
+ - `GITHUB_TOKEN` - Automatically provided by GitHub Actions
89
+
90
+ ## Permissions
91
+
92
+ Workflows use these permissions:
93
+ - `contents: write` - Required for creating releases
94
+ - `GITHUB_TOKEN` - Automatically scoped by GitHub
95
+
96
+ ## Troubleshooting
97
+
98
+ **Release workflow didn't trigger:**
99
+ - Ensure tag starts with `v` (e.g., `v1.0.0`)
100
+ - Check tag was pushed: `git push origin v1.0.0`
101
+ - Verify workflow file is in `main` branch
102
+
103
+ **Release failed:**
104
+ - Check GitHub Actions logs
105
+ - Common issues:
106
+ - Build errors
107
+ - Test failures (should be non-blocking)
108
+ - Permission errors (check GITHUB_TOKEN)
109
+
110
+ **CI tests failing:**
111
+ - Check specific OS/Node.js version matrix
112
+ - Tests are allowed to fail without blocking
113
+ - Package creation must succeed
114
+
115
+ ## Workflow Status Badges
116
+
117
+ Add to README.md:
118
+
119
+ ```markdown
120
+ [![Release](https://github.com/fr0ster/mcp-abap-adt/actions/workflows/release.yml/badge.svg)](https://github.com/fr0ster/mcp-abap-adt/actions/workflows/release.yml)
121
+ [![CI](https://github.com/fr0ster/mcp-abap-adt/actions/workflows/ci.yml/badge.svg)](https://github.com/fr0ster/mcp-abap-adt/actions/workflows/ci.yml)
122
+ ```
@@ -52,5 +52,5 @@ See [RELEASE.md](./RELEASE.md) for detailed instructions.
52
52
  ## Related Documentation
53
53
 
54
54
  - [Installation Guide](../installation/INSTALLATION.md) - Installation for development
55
- - [CI/CD Configuration](../../.github/README.md) - GitHub Actions workflows
55
+ - [CI/CD Configuration](GITHUB_ACTIONS.md) - GitHub Actions workflows
56
56
  - [User Guide](../user-guide/README.md) - Using the server
@@ -5,11 +5,20 @@ This directory contains documentation for developers: testing guides, developmen
5
5
  ## Files
6
6
 
7
7
  - **[ASSISTANT_GUIDELINES.md](ASSISTANT_GUIDELINES.md)** - Guidelines for AI assistants working on this project
8
+ - **[ISSUE_ROADMAP_SYSTEM.md](ISSUE_ROADMAP_SYSTEM.md)** - Roadmap organization and issue tracking workflow
9
+ - **[TEST_CONFIG_YAML_GUIDE.md](TEST_CONFIG_YAML_GUIDE.md)** - Test configuration reference
8
10
  - **[TEST_SYSTEM_SETUP.md](TEST_SYSTEM_SETUP.md)** - Guide for setting up test systems
9
- - **[SYNC_OPTIONAL_PARAMS.md](SYNC_OPTIONAL_PARAMS.md)** - Tool to sync optional parameters from adt-clients TypeScript interfaces
10
- - **[DetectObjectTypeListTools.md](DetectObjectTypeListTools.md)** - Documentation for object type detection tools
11
- - **[HANDLERS_COVERAGE.md](HANDLERS_COVERAGE.md)** - Analysis of low-level handlers coverage and implementation status
12
- - **[TEST_LOGGING_ROADMAP.md](roadmaps/TEST_LOGGING_ROADMAP.md)** - Test logging storage and rotation policy
11
+
12
+ ## Roadmaps
13
+
14
+ - `roadmaps/HANDLER_BUILD_ERRORS_ROADMAP.md`
15
+ - `roadmaps/INFRASTRUCTURE_HANDLERS.md`
16
+ - `roadmaps/MCP_SERVER_REFACTORING_ROADMAP.md`
17
+ - `roadmaps/TEST_LOGGING_ROADMAP.md`
18
+ - `roadmaps/TEST_REFACTORING_ROADMAP.md`
19
+ - `roadmaps/TODO_ROADMAP.md`
20
+ - `roadmaps/USAGE_DOCUMENTATION_ROADMAP.md`
21
+ - `roadmaps/parameter_passing_unit_tests_roadmap.md`
13
22
 
14
23
  ## Test Documentation
15
24
 
@@ -51,7 +51,7 @@ After installation, you'll have access to:
51
51
  **For JWT authentication with service keys**, install the connection package separately:
52
52
  ```bash
53
53
  npm install -g @mcp-abap-adt/connection
54
- sap-abap-auth auth -k path/to/service-key.json
54
+ mcp-auth auth -k path/to/service-key.json
55
55
  ```
56
56
 
57
57
  **Get help on available options:**
@@ -80,7 +80,7 @@ For JWT authentication (SAP BTP) with service key:
80
80
  npm install -g @mcp-abap-adt/connection
81
81
 
82
82
  # Generate .env file from service key JSON
83
- sap-abap-auth auth -k path/to/service-key.json
83
+ mcp-auth auth -k path/to/service-key.json
84
84
 
85
85
  # This automatically creates/updates .env file with JWT tokens
86
86
  ```
@@ -88,7 +88,7 @@ sap-abap-auth auth -k path/to/service-key.json
88
88
  **Run the server:**
89
89
  ```bash
90
90
  # Default HTTP mode (uses auth-broker by default, even if .env exists)
91
- # Note: auth-broker is only available for HTTP/streamable-http transport
91
+ # Note: auth-broker is available for stdio/SSE via `--mcp=<destination>` and for HTTP via destination headers
92
92
  mcp-abap-adt
93
93
 
94
94
  # Force use of auth-broker (service keys), ignore .env file
@@ -282,7 +282,7 @@ mcp-abap-adt --transport=sse --sse-port=3001
282
282
  **For JWT authentication with service keys**, install separately:
283
283
  ```bash
284
284
  npm install -g @mcp-abap-adt/connection
285
- sap-abap-auth auth -k path/to/service-key.json
285
+ mcp-auth auth -k path/to/service-key.json
286
286
  ```
287
287
 
288
288
  #### Local Installation (Project-specific)
@@ -5,12 +5,14 @@ This directory contains installation guides for the MCP ABAP ADT Server.
5
5
  ## Files
6
6
 
7
7
  - **[INSTALLATION.md](INSTALLATION.md)** - Main installation guide with platform-specific quick links
8
+ - **[CLINE_CONFIGURATION.md](CLINE_CONFIGURATION.md)** - Cline client configuration examples
8
9
  - **[platforms/](platforms/)** - Platform-specific installation guides
9
10
  - `INSTALL_WINDOWS.md` - Windows installation using PowerShell and winget
10
11
  - `INSTALL_MACOS.md` - macOS installation using Homebrew
11
12
  - `INSTALL_LINUX.md` - Linux installation using package managers
13
+ - **[examples/README.md](examples/README.md)** - Example client configurations
14
+ - `SERVICE_KEY_SETUP.md` - Service key setup for destination-based auth
12
15
 
13
16
  ## Quick Start
14
17
 
15
18
  See the main [INSTALLATION.md](INSTALLATION.md) file for a complete overview and quick start instructions for your platform.
16
-
@@ -82,7 +82,7 @@ Use `cline-http-service-key-npx-config.json` for destination-based authenticatio
82
82
  **Note**:
83
83
  - The `--auth-broker` flag forces use of auth-broker (service keys), ignoring any `.env` file
84
84
  - By default (without `--env` or `--auth-broker`), the server uses `.env` from current directory if it exists, otherwise uses auth-broker
85
- - Auth-broker is only available for HTTP/streamable-http transport (not for stdio/SSE)
85
+ - Auth-broker is available for stdio/SSE via `--mcp=<destination>` and for HTTP via destination headers
86
86
 
87
87
  3. **Use config** with destination header:
88
88
  ```json