@ibm/ibmi-mcp-server 0.3.0 → 0.3.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/README.md +116 -0
- package/dist/config/index.d.ts +12 -0
- package/dist/config/index.d.ts.map +1 -1
- package/dist/config/index.js +52 -0
- package/dist/config/index.js.map +1 -1
- package/dist/ibmi-mcp-server/services/authenticatedPoolManager.d.ts +3 -2
- package/dist/ibmi-mcp-server/services/authenticatedPoolManager.d.ts.map +1 -1
- package/dist/ibmi-mcp-server/services/authenticatedPoolManager.js +10 -9
- package/dist/ibmi-mcp-server/services/authenticatedPoolManager.js.map +1 -1
- package/dist/ibmi-mcp-server/services/baseConnectionPool.d.ts +52 -9
- package/dist/ibmi-mcp-server/services/baseConnectionPool.d.ts.map +1 -1
- package/dist/ibmi-mcp-server/services/baseConnectionPool.js +177 -17
- package/dist/ibmi-mcp-server/services/baseConnectionPool.js.map +1 -1
- package/dist/ibmi-mcp-server/services/sourceManager.d.ts +12 -4
- package/dist/ibmi-mcp-server/services/sourceManager.d.ts.map +1 -1
- package/dist/ibmi-mcp-server/services/sourceManager.js +16 -5
- package/dist/ibmi-mcp-server/services/sourceManager.js.map +1 -1
- package/dist/ibmi-mcp-server/utils/config/toolFactory.d.ts.map +1 -1
- package/dist/ibmi-mcp-server/utils/config/toolFactory.js +8 -1
- package/dist/ibmi-mcp-server/utils/config/toolFactory.js.map +1 -1
- package/dist/ibmi-mcp-server/utils/config/toolProcessor.d.ts.map +1 -1
- package/dist/ibmi-mcp-server/utils/config/toolProcessor.js +1 -1
- package/dist/ibmi-mcp-server/utils/config/toolProcessor.js.map +1 -1
- package/dist/index.js +30 -19
- package/dist/index.js.map +1 -1
- package/dist/mcp-server/transports/http/httpTransport.d.ts.map +1 -1
- package/dist/mcp-server/transports/http/httpTransport.js +13 -2
- package/dist/mcp-server/transports/http/httpTransport.js.map +1 -1
- package/dist/utils/security/rateLimiter.d.ts +2 -1
- package/dist/utils/security/rateLimiter.d.ts.map +1 -1
- package/dist/utils/security/rateLimiter.js +6 -4
- package/dist/utils/security/rateLimiter.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1131,6 +1131,62 @@ if __name__ == "__main__":
|
|
|
1131
1131
|
|
|
1132
1132
|
</details>
|
|
1133
1133
|
|
|
1134
|
+
<details>
|
|
1135
|
+
<summary><strong>IBM watsonx Orchestrate</strong></summary>
|
|
1136
|
+
|
|
1137
|
+
MCP servers can be added directly in IBM watsonx Orchestrate GUI or using the Agent Development Kit (ADK). Refer to [Adding MCP servers in IBM watsonx Orchestrate](https://www.ibm.com/docs/en/watsonx/watson-orchestrate/base?topic=tools-mcp-servers#adding-mcp-servers) for more details.
|
|
1138
|
+
|
|
1139
|
+
#### Local (Stdio)
|
|
1140
|
+
|
|
1141
|
+
It's not supported to run a local IBM i MCP server in IBM watsonx Orchestrate for now. Support will be added in a later release.
|
|
1142
|
+
|
|
1143
|
+
#### Remote (HTTP)
|
|
1144
|
+
|
|
1145
|
+
The example below shows how to add a remote IBM i MCP server in IBM watsonx Orchestrate using using the Agent Development Kit (ADK). Refer to [Adding remote MCP server in IBM watsonx Orchestrate](https://developer.watson-orchestrate.ibm.com/tools/toolkits/remote_mcp_toolkits) for more details.
|
|
1146
|
+
|
|
1147
|
+
1. Create **Connections** to contain the environment variables and authentication token for the MCP server
|
|
1148
|
+
|
|
1149
|
+
```bash
|
|
1150
|
+
# create connection for environment variables
|
|
1151
|
+
orchestrate connections add -a <application_id>
|
|
1152
|
+
orchestrate connections configure -a <application_id> --env draft -t team -k key_value
|
|
1153
|
+
orchestrate connections set-credentials -a application_id --env draft -e "DB2i_HOST=your-ibmi-host.com" -e "DB2i_USER=your-username" -e "DB2i_PASS=your-password" -e "DB2i_PORT=8076"
|
|
1154
|
+
# create connection for credential user for authentication if authentication is enabled on the MCP server
|
|
1155
|
+
orchestrate connections add -a <application_id>
|
|
1156
|
+
orchestrate connections configure -a <application_id> --env draft --type team --kind bearer
|
|
1157
|
+
orchestrate connections set-credentials -a <application_id> --env draft --token <bearer_token>
|
|
1158
|
+
```
|
|
1159
|
+
|
|
1160
|
+
2. Import remote IBM i MCP server by **Importing remote MCP toolkits**
|
|
1161
|
+
|
|
1162
|
+
```bash
|
|
1163
|
+
orchestrate toolkits add \
|
|
1164
|
+
--kind mcp \
|
|
1165
|
+
--name <toolkit_name> \
|
|
1166
|
+
--description "toolkit description" \
|
|
1167
|
+
--url "<mcp_url>" \
|
|
1168
|
+
--transport "streamable_http" \
|
|
1169
|
+
--tools "*" \
|
|
1170
|
+
--app-id "<connection_application_id>"
|
|
1171
|
+
```
|
|
1172
|
+
|
|
1173
|
+
3. Create an agent to use the imported toolkit
|
|
1174
|
+
|
|
1175
|
+
```bash
|
|
1176
|
+
orchestrate agents create \
|
|
1177
|
+
--name <agent_name> \
|
|
1178
|
+
--kind native \
|
|
1179
|
+
--description "agent description" \
|
|
1180
|
+
--llm groq/openai/gpt-oss-120b \
|
|
1181
|
+
--style default \
|
|
1182
|
+
--tools <toolkit_name> \
|
|
1183
|
+
--output "agent_name.agent.yaml
|
|
1184
|
+
```
|
|
1185
|
+
|
|
1186
|
+
> **Network Configuration for On-Premises Deployments:** If the MCP server is deployed on an on-premises IBM i system behind an enterprise firewall, proper network configuration must be implemented to ensure accessibility from IBM watsonx Orchestrate. IBM Cloud Satellite Connector provides a secure solution for this scenario by establishing connectivity between on-premises resources and IBM Cloud services. For detailed information, refer to the [IBM Cloud Satellite Connector documentation](https://cloud.ibm.com/docs/satellite?topic=satellite-understand-connectors).
|
|
1187
|
+
|
|
1188
|
+
</details>
|
|
1189
|
+
|
|
1134
1190
|
---
|
|
1135
1191
|
|
|
1136
1192
|
## 🧩 SQL Tool Configuration
|
|
@@ -1293,6 +1349,66 @@ MCP_STATEFUL_SESSION_STALE_TIMEOUT_MS=3600000 # 1 hour
|
|
|
1293
1349
|
|
|
1294
1350
|
</details>
|
|
1295
1351
|
|
|
1352
|
+
<details>
|
|
1353
|
+
<summary><strong>🛡️ Rate Limiting (HTTP Only)</strong></summary>
|
|
1354
|
+
|
|
1355
|
+
Controls request rate limiting for the HTTP transport. Rate limiting prevents abuse and manages server load. For agentic AI workflows with parallel tool calls, increase the limit or disable rate limiting entirely.
|
|
1356
|
+
|
|
1357
|
+
| Variable | Description | Default | Required |
|
|
1358
|
+
|----------|-------------|---------|----------|
|
|
1359
|
+
| `MCP_RATE_LIMIT_ENABLED` | Enable or disable HTTP rate limiting | `true` | No |
|
|
1360
|
+
| `MCP_RATE_LIMIT_MAX_REQUESTS` | Maximum requests allowed per window | `100` | No |
|
|
1361
|
+
| `MCP_RATE_LIMIT_WINDOW_MS` | Rate limit window in milliseconds | `900000` (15 min) | No |
|
|
1362
|
+
| `MCP_RATE_LIMIT_SKIP_DEV` | Skip rate limiting when `NODE_ENV=development` | `false` | No |
|
|
1363
|
+
|
|
1364
|
+
**Examples:**
|
|
1365
|
+
```bash
|
|
1366
|
+
# Default: 100 requests per 15 minutes
|
|
1367
|
+
MCP_RATE_LIMIT_ENABLED=true
|
|
1368
|
+
MCP_RATE_LIMIT_MAX_REQUESTS=100
|
|
1369
|
+
MCP_RATE_LIMIT_WINDOW_MS=900000
|
|
1370
|
+
|
|
1371
|
+
# Agentic workflows: higher limit, shorter window
|
|
1372
|
+
MCP_RATE_LIMIT_MAX_REQUESTS=1000
|
|
1373
|
+
MCP_RATE_LIMIT_WINDOW_MS=60000
|
|
1374
|
+
|
|
1375
|
+
# Disable rate limiting entirely (trusted environments)
|
|
1376
|
+
MCP_RATE_LIMIT_ENABLED=false
|
|
1377
|
+
```
|
|
1378
|
+
|
|
1379
|
+
> **Docker / Reverse Proxy**: The server reads `X-Forwarded-For` and `X-Real-IP` headers for client identification. When these are absent (e.g., behind Docker without proxy header forwarding), it falls back to the TCP socket's remote address. Configure your reverse proxy to forward these headers for accurate per-client rate limiting.
|
|
1380
|
+
|
|
1381
|
+
</details>
|
|
1382
|
+
|
|
1383
|
+
<details>
|
|
1384
|
+
<summary><strong>🔄 Connection Pool Timeouts</strong></summary>
|
|
1385
|
+
|
|
1386
|
+
Controls automatic cleanup of idle Mapepire connection pools and query execution timeouts. Essential for cloud deployments (Railway, Heroku, etc.) where reverse proxies silently kill idle TCP connections, causing queries on stale WebSocket connections to hang indefinitely.
|
|
1387
|
+
|
|
1388
|
+
| Variable | Description | Default | Required |
|
|
1389
|
+
|----------|-------------|---------|----------|
|
|
1390
|
+
| `MCP_POOL_IDLE_TIMEOUT_MS` | Idle timeout for connection pools (ms). Pools closed after inactivity. Fresh connections established automatically on next request. Set to `0` to disable. | `300000` (5 min) | No |
|
|
1391
|
+
| `MCP_POOL_QUERY_TIMEOUT_MS` | Query execution timeout (ms). Queries aborted after this period. Pool re-initialized on next request after timeout. Set to `0` to disable. | `30000` (30s) | No |
|
|
1392
|
+
|
|
1393
|
+
**Examples:**
|
|
1394
|
+
```bash
|
|
1395
|
+
# Default: 5-minute idle timeout, 30-second query timeout
|
|
1396
|
+
MCP_POOL_IDLE_TIMEOUT_MS=300000
|
|
1397
|
+
MCP_POOL_QUERY_TIMEOUT_MS=30000
|
|
1398
|
+
|
|
1399
|
+
# Cloud deployment: shorter idle timeout for aggressive proxies
|
|
1400
|
+
MCP_POOL_IDLE_TIMEOUT_MS=60000
|
|
1401
|
+
MCP_POOL_QUERY_TIMEOUT_MS=30000
|
|
1402
|
+
|
|
1403
|
+
# Disable both timeouts (stable network environments only)
|
|
1404
|
+
MCP_POOL_IDLE_TIMEOUT_MS=0
|
|
1405
|
+
MCP_POOL_QUERY_TIMEOUT_MS=0
|
|
1406
|
+
```
|
|
1407
|
+
|
|
1408
|
+
> **How it works:** The idle timer checks pools at an interval of `max(10s, timeout/2)`. When a pool exceeds the idle timeout, it is closed — the next query triggers transparent re-initialization via the existing lazy-init path. The query timeout wraps `pool.execute()` with `Promise.race()`, so dead connections fail fast instead of hanging. On timeout, the pool is marked unhealthy and closed for re-initialization.
|
|
1409
|
+
|
|
1410
|
+
</details>
|
|
1411
|
+
|
|
1296
1412
|
<details>
|
|
1297
1413
|
<summary><strong>🔐 Authentication & Authorization</strong></summary>
|
|
1298
1414
|
|
package/dist/config/index.d.ts
CHANGED
|
@@ -96,6 +96,18 @@ export declare const config: {
|
|
|
96
96
|
selectedToolsets: string[] | undefined;
|
|
97
97
|
ibmi_enableExecuteSql: boolean;
|
|
98
98
|
ibmi_executeSqlReadonly: boolean;
|
|
99
|
+
/** Rate limiting configuration for HTTP transport. From `MCP_RATE_LIMIT_*` environment variables. */
|
|
100
|
+
rateLimit: {
|
|
101
|
+
enabled: boolean;
|
|
102
|
+
maxRequests: number;
|
|
103
|
+
windowMs: number;
|
|
104
|
+
skipInDevelopment: boolean;
|
|
105
|
+
};
|
|
106
|
+
/** Connection pool timeout configuration. From `MCP_POOL_*` environment variables. */
|
|
107
|
+
poolTimeouts: {
|
|
108
|
+
idleTimeoutMs: number;
|
|
109
|
+
queryTimeoutMs: number;
|
|
110
|
+
};
|
|
99
111
|
};
|
|
100
112
|
export declare const logLevel: string;
|
|
101
113
|
export declare const environment: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AA2eH,eAAO,MAAM,MAAM;;cApYiB,MAAM;iBAAW,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA4czD,yEAAyE;;;;;;;IAWzE,qEAAqE;;IAGrE,mFAAmF;;;;;;;IAQnF,yFAAyF;;;;;;;;;;;IAYzF,wHAAwH;;IAGxH,sHAAsH;sBAGhG,MAAM,EAAE,GAAG,SAAS;;;IAI1C,qGAAqG;;;;;;;IAQrG,sFAAsF;;;;;CAKvF,CAAC;AAqBF,eAAO,MAAM,QAAQ,EAAE,MAAwB,CAAC;AAChD,eAAO,MAAM,WAAW,EAAE,MAA2B,CAAC"}
|
package/dist/config/index.js
CHANGED
|
@@ -308,6 +308,46 @@ const EnvSchema = z.object({
|
|
|
308
308
|
.optional()
|
|
309
309
|
.default("true")
|
|
310
310
|
.transform((val) => val === "true" || val === "1"),
|
|
311
|
+
// --- START: Rate Limiting Configuration ---
|
|
312
|
+
/** Enable or disable HTTP rate limiting. Default: true. */
|
|
313
|
+
MCP_RATE_LIMIT_ENABLED: z
|
|
314
|
+
.string()
|
|
315
|
+
.optional()
|
|
316
|
+
.default("true")
|
|
317
|
+
.transform((val) => val === "true" || val === "1"),
|
|
318
|
+
/** Maximum requests allowed per rate limit window. Default: 100. */
|
|
319
|
+
MCP_RATE_LIMIT_MAX_REQUESTS: z.coerce
|
|
320
|
+
.number()
|
|
321
|
+
.int()
|
|
322
|
+
.positive()
|
|
323
|
+
.default(100),
|
|
324
|
+
/** Rate limit window duration in milliseconds. Default: 900000 (15 minutes). */
|
|
325
|
+
MCP_RATE_LIMIT_WINDOW_MS: z.coerce
|
|
326
|
+
.number()
|
|
327
|
+
.int()
|
|
328
|
+
.positive()
|
|
329
|
+
.default(900_000),
|
|
330
|
+
/** Skip rate limiting when NODE_ENV=development. Default: false. */
|
|
331
|
+
MCP_RATE_LIMIT_SKIP_DEV: z
|
|
332
|
+
.string()
|
|
333
|
+
.optional()
|
|
334
|
+
.default("false")
|
|
335
|
+
.transform((val) => val === "true" || val === "1"),
|
|
336
|
+
// --- END: Rate Limiting Configuration ---
|
|
337
|
+
// --- START: Connection Pool Timeout Configuration ---
|
|
338
|
+
/** Idle timeout for Mapepire connection pools (ms). Pools closed after inactivity. Set to 0 to disable. Default: 300000 (5 minutes). */
|
|
339
|
+
MCP_POOL_IDLE_TIMEOUT_MS: z.coerce
|
|
340
|
+
.number()
|
|
341
|
+
.int()
|
|
342
|
+
.nonnegative()
|
|
343
|
+
.default(300_000),
|
|
344
|
+
/** Query execution timeout (ms). Queries aborted after this period. Set to 0 to disable. Default: 30000 (30 seconds). */
|
|
345
|
+
MCP_POOL_QUERY_TIMEOUT_MS: z.coerce
|
|
346
|
+
.number()
|
|
347
|
+
.int()
|
|
348
|
+
.nonnegative()
|
|
349
|
+
.default(30_000),
|
|
350
|
+
// --- END: Connection Pool Timeout Configuration ---
|
|
311
351
|
});
|
|
312
352
|
const parsedEnv = EnvSchema.safeParse(process.env);
|
|
313
353
|
if (!parsedEnv.success) {
|
|
@@ -495,6 +535,18 @@ export const config = {
|
|
|
495
535
|
.filter(Boolean),
|
|
496
536
|
ibmi_enableExecuteSql: env.IBMI_ENABLE_EXECUTE_SQL,
|
|
497
537
|
ibmi_executeSqlReadonly: env.IBMI_EXECUTE_SQL_READONLY,
|
|
538
|
+
/** Rate limiting configuration for HTTP transport. From `MCP_RATE_LIMIT_*` environment variables. */
|
|
539
|
+
rateLimit: {
|
|
540
|
+
enabled: env.MCP_RATE_LIMIT_ENABLED,
|
|
541
|
+
maxRequests: env.MCP_RATE_LIMIT_MAX_REQUESTS,
|
|
542
|
+
windowMs: env.MCP_RATE_LIMIT_WINDOW_MS,
|
|
543
|
+
skipInDevelopment: env.MCP_RATE_LIMIT_SKIP_DEV,
|
|
544
|
+
},
|
|
545
|
+
/** Connection pool timeout configuration. From `MCP_POOL_*` environment variables. */
|
|
546
|
+
poolTimeouts: {
|
|
547
|
+
idleTimeoutMs: env.MCP_POOL_IDLE_TIMEOUT_MS,
|
|
548
|
+
queryTimeoutMs: env.MCP_POOL_QUERY_TIMEOUT_MS,
|
|
549
|
+
},
|
|
498
550
|
};
|
|
499
551
|
if (config.ibmiHttpAuth.enabled) {
|
|
500
552
|
const missing = [];
|
package/dist/config/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/config/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,7 @@ import { BindingValue, QueryResult } from "@ibm/mapepire-js";
|
|
|
9
9
|
import { RequestContext } from "../../utils/index.js";
|
|
10
10
|
import { IBMiCredentials } from "../auth/tokenManager.js";
|
|
11
11
|
import { BaseConnectionPool } from "./baseConnectionPool.js";
|
|
12
|
+
import { SqlToolSecurityConfig } from "../schemas/index.js";
|
|
12
13
|
/**
|
|
13
14
|
* Pool configuration options for authenticated sessions
|
|
14
15
|
*/
|
|
@@ -53,7 +54,7 @@ export declare class AuthenticatedPoolManager extends BaseConnectionPool<string>
|
|
|
53
54
|
* @param context - Request context for logging
|
|
54
55
|
* @returns Promise resolving to query result
|
|
55
56
|
*/
|
|
56
|
-
executeQuery<T = unknown>(token: string, query: string, params?: BindingValue[], context?: RequestContext): Promise<QueryResult<T>>;
|
|
57
|
+
executeQuery<T = unknown>(token: string, query: string, params?: BindingValue[], context?: RequestContext, securityConfig?: SqlToolSecurityConfig): Promise<QueryResult<T>>;
|
|
57
58
|
/**
|
|
58
59
|
* Remove and close a pool by token
|
|
59
60
|
* @param token - Authentication token
|
|
@@ -77,6 +78,6 @@ export declare class AuthenticatedPoolManager extends BaseConnectionPool<string>
|
|
|
77
78
|
/**
|
|
78
79
|
* Shutdown all pools and cleanup
|
|
79
80
|
*/
|
|
80
|
-
shutdown(): Promise<void>;
|
|
81
|
+
shutdown(context?: RequestContext): Promise<void>;
|
|
81
82
|
}
|
|
82
83
|
//# sourceMappingURL=authenticatedPoolManager.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authenticatedPoolManager.d.ts","sourceRoot":"","sources":["../../../src/ibmi-mcp-server/services/authenticatedPoolManager.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAEL,cAAc,EAEf,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAAgB,eAAe,EAAE,MAAM,yBAAyB,CAAC;AACxE,OAAO,EACL,kBAAkB,EAEnB,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"authenticatedPoolManager.d.ts","sourceRoot":"","sources":["../../../src/ibmi-mcp-server/services/authenticatedPoolManager.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAEL,cAAc,EAEf,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAAgB,eAAe,EAAE,MAAM,yBAAyB,CAAC;AACxE,OAAO,EACL,kBAAkB,EAEnB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAE3E;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;GAGG;AACH,qBAAa,wBAAyB,SAAQ,kBAAkB,CAAC,MAAM,CAAC;IACtE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAA2B;IAClD,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,cAAc,CAAsC;IAE5D,OAAO;IAKP;;OAEG;IACH,MAAM,CAAC,WAAW,IAAI,wBAAwB;IAO9C;;;;;;;OAOG;IACG,UAAU,CACd,KAAK,EAAE,MAAM,EACb,WAAW,EAAE,eAAe,EAC5B,OAAO,GAAE,eAAoB,EAC7B,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,IAAI,CAAC;IAyDhB;;;;;OAKG;YACW,oBAAoB;IAyClC;;;;;;;OAOG;IACG,YAAY,CAAC,CAAC,GAAG,OAAO,EAC5B,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,MAAM,EACb,MAAM,CAAC,EAAE,YAAY,EAAE,EACvB,OAAO,CAAC,EAAE,cAAc,EACxB,cAAc,CAAC,EAAE,qBAAqB,GACrC,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IA4D1B;;;;;OAKG;IACG,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;IA8C3E;;;OAGG;IACG,mBAAmB,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAsClE;;;OAGG;IACH,YAAY,IAAI;QACd,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;KACrC;IAiBD;;OAEG;IACG,QAAQ,CAAC,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;CAuBxD"}
|
|
@@ -119,7 +119,7 @@ export class AuthenticatedPoolManager extends BaseConnectionPool {
|
|
|
119
119
|
* @param context - Request context for logging
|
|
120
120
|
* @returns Promise resolving to query result
|
|
121
121
|
*/
|
|
122
|
-
async executeQuery(token, query, params, context) {
|
|
122
|
+
async executeQuery(token, query, params, context, securityConfig) {
|
|
123
123
|
const operationContext = context ||
|
|
124
124
|
requestContextService.createRequestContext({
|
|
125
125
|
operation: "executeAuthenticatedQuery",
|
|
@@ -137,7 +137,7 @@ export class AuthenticatedPoolManager extends BaseConnectionPool {
|
|
|
137
137
|
paramCount: params?.length || 0,
|
|
138
138
|
}, "Executing authenticated query");
|
|
139
139
|
// Use base class executeQuery method
|
|
140
|
-
const result = await super.executeQuery(token, query, params, operationContext);
|
|
140
|
+
const result = await super.executeQuery(token, query, params, operationContext, securityConfig);
|
|
141
141
|
logger.debug({
|
|
142
142
|
...operationContext,
|
|
143
143
|
rowCount: result.data?.length || 0,
|
|
@@ -244,17 +244,18 @@ export class AuthenticatedPoolManager extends BaseConnectionPool {
|
|
|
244
244
|
/**
|
|
245
245
|
* Shutdown all pools and cleanup
|
|
246
246
|
*/
|
|
247
|
-
async shutdown() {
|
|
248
|
-
const
|
|
249
|
-
|
|
250
|
-
|
|
247
|
+
async shutdown(context) {
|
|
248
|
+
const operationContext = context ||
|
|
249
|
+
requestContextService.createRequestContext({
|
|
250
|
+
operation: "authenticatedPoolManagerShutdown",
|
|
251
|
+
});
|
|
251
252
|
const poolCount = this.pools.size;
|
|
252
|
-
//
|
|
253
|
-
await
|
|
253
|
+
// Base class handles stopIdleTimer + closeAllPools
|
|
254
|
+
await super.shutdown(operationContext);
|
|
254
255
|
// Clean up credentials mapping
|
|
255
256
|
this.credentialsMap.clear();
|
|
256
257
|
logger.info({
|
|
257
|
-
...
|
|
258
|
+
...operationContext,
|
|
258
259
|
closedPools: poolCount,
|
|
259
260
|
}, "Authenticated pool manager shutdown completed");
|
|
260
261
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authenticatedPoolManager.js","sourceRoot":"","sources":["../../../src/ibmi-mcp-server/services/authenticatedPoolManager.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EACL,MAAM,EAEN,qBAAqB,GACtB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAE,MAAM,kCAAkC,CAAC;AAChE,OAAO,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACtE,OAAO,EAAE,YAAY,EAAmB,MAAM,yBAAyB,CAAC;AACxE,OAAO,EACL,kBAAkB,GAEnB,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"authenticatedPoolManager.js","sourceRoot":"","sources":["../../../src/ibmi-mcp-server/services/authenticatedPoolManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -8,6 +8,10 @@ import pkg, { BindingValue, QueryResult, DaemonServer } from "@ibm/mapepire-js";
|
|
|
8
8
|
declare const Pool: typeof pkg.Pool;
|
|
9
9
|
import { RequestContext } from "../../utils/internal/requestContext.js";
|
|
10
10
|
import { SqlToolSecurityConfig } from "../schemas/index.js";
|
|
11
|
+
/**
|
|
12
|
+
* Pool health status values used across pool interfaces and return types
|
|
13
|
+
*/
|
|
14
|
+
export type PoolHealthStatus = "healthy" | "unhealthy" | "unknown";
|
|
11
15
|
/**
|
|
12
16
|
* Connection configuration for a pool instance
|
|
13
17
|
*/
|
|
@@ -28,18 +32,20 @@ export interface PoolInstanceState {
|
|
|
28
32
|
isInitialized: boolean;
|
|
29
33
|
isConnecting: boolean;
|
|
30
34
|
lastHealthCheck?: Date;
|
|
31
|
-
healthStatus:
|
|
35
|
+
healthStatus: PoolHealthStatus;
|
|
32
36
|
config: PoolConnectionConfig;
|
|
37
|
+
lastActivityAt: Date;
|
|
33
38
|
}
|
|
34
39
|
/**
|
|
35
40
|
* Health status information
|
|
36
41
|
*/
|
|
37
42
|
export interface PoolHealth {
|
|
38
|
-
status:
|
|
43
|
+
status: PoolHealthStatus;
|
|
39
44
|
lastCheck?: Date;
|
|
40
45
|
lastError?: string;
|
|
41
46
|
initialized: boolean;
|
|
42
47
|
connecting: boolean;
|
|
48
|
+
lastActivity?: Date;
|
|
43
49
|
}
|
|
44
50
|
/**
|
|
45
51
|
* Base connection pool manager that provides shared functionality
|
|
@@ -48,24 +54,49 @@ export interface PoolHealth {
|
|
|
48
54
|
export declare abstract class BaseConnectionPool<TId extends string | symbol = string> {
|
|
49
55
|
protected pools: Map<TId, PoolInstanceState>;
|
|
50
56
|
protected initializationPromises: Map<TId, Promise<void>>;
|
|
57
|
+
private idleCheckInterval;
|
|
58
|
+
/** Registry of all BaseConnectionPool instances for coordinated shutdown */
|
|
59
|
+
private static readonly instances;
|
|
60
|
+
constructor();
|
|
51
61
|
/**
|
|
52
62
|
* Create a daemon server configuration from connection config
|
|
53
63
|
* @param config - Connection configuration
|
|
54
64
|
* @param context - Request context for logging
|
|
55
65
|
*/
|
|
56
|
-
protected createDaemonServer(
|
|
66
|
+
protected createDaemonServer(poolConfig: PoolConnectionConfig, context: RequestContext): Promise<DaemonServer>;
|
|
57
67
|
/**
|
|
58
68
|
* Initialize a connection pool for the given identifier
|
|
59
69
|
* @param poolId - Unique identifier for the pool
|
|
60
|
-
* @param
|
|
70
|
+
* @param poolConfig - Connection configuration
|
|
61
71
|
* @param context - Request context for logging
|
|
62
72
|
*/
|
|
63
|
-
protected initializePool(poolId: TId,
|
|
73
|
+
protected initializePool(poolId: TId, poolConfig: PoolConnectionConfig, context: RequestContext): Promise<void>;
|
|
64
74
|
/**
|
|
65
75
|
* Perform the actual initialization of a pool
|
|
66
76
|
* @private
|
|
67
77
|
*/
|
|
68
78
|
private performInitialization;
|
|
79
|
+
/**
|
|
80
|
+
* Wrap a promise with a configurable timeout.
|
|
81
|
+
* On timeout: marks pool unhealthy, closes it async so next request re-inits.
|
|
82
|
+
* If queryTimeoutMs <= 0, passes through without timeout (disabled).
|
|
83
|
+
*/
|
|
84
|
+
private executeWithTimeout;
|
|
85
|
+
/**
|
|
86
|
+
* Start the idle pool check timer. Idempotent — safe to call multiple times.
|
|
87
|
+
* Uses interval of max(10s, timeout/2) following existing StatefulTransportManager pattern.
|
|
88
|
+
* If idleTimeoutMs <= 0, this is a no-op (disabled).
|
|
89
|
+
*/
|
|
90
|
+
protected startIdleTimer(): void;
|
|
91
|
+
/**
|
|
92
|
+
* Stop the idle pool check timer. Called during shutdown.
|
|
93
|
+
*/
|
|
94
|
+
stopIdleTimer(): void;
|
|
95
|
+
/**
|
|
96
|
+
* Close pools that have been idle longer than the configured timeout.
|
|
97
|
+
* The existing lazy-init path in executeQuery() will re-initialize on next use.
|
|
98
|
+
*/
|
|
99
|
+
private closeIdlePools;
|
|
69
100
|
/**
|
|
70
101
|
* Execute a SQL query on a specific pool
|
|
71
102
|
* @param poolId - Pool identifier
|
|
@@ -100,14 +131,25 @@ export declare abstract class BaseConnectionPool<TId extends string | symbol = s
|
|
|
100
131
|
* @param context - Request context for logging
|
|
101
132
|
*/
|
|
102
133
|
closePool(poolId: TId, context?: RequestContext): Promise<void>;
|
|
103
|
-
/**
|
|
104
|
-
* Close all connection pools gracefully
|
|
105
|
-
|
|
106
134
|
/**
|
|
107
135
|
* Close all connection pools gracefully
|
|
108
136
|
* @param context - Request context for logging
|
|
109
137
|
*/
|
|
110
138
|
closeAllPools(context?: RequestContext): Promise<void>;
|
|
139
|
+
/**
|
|
140
|
+
* Graceful shutdown for this pool instance.
|
|
141
|
+
* Stops the idle timer and closes all connections.
|
|
142
|
+
* Subclasses may override to clean up additional state.
|
|
143
|
+
* @param context - Request context for logging
|
|
144
|
+
*/
|
|
145
|
+
shutdown(context?: RequestContext): Promise<void>;
|
|
146
|
+
/**
|
|
147
|
+
* Shut down all registered BaseConnectionPool instances.
|
|
148
|
+
* Each instance's shutdown() is called via Promise.allSettled
|
|
149
|
+
* so one failure does not prevent others from closing.
|
|
150
|
+
* @param context - Request context for logging
|
|
151
|
+
*/
|
|
152
|
+
static shutdownAll(context?: RequestContext): Promise<void>;
|
|
111
153
|
/**
|
|
112
154
|
* Get status of a specific pool
|
|
113
155
|
* @param poolId - Pool identifier
|
|
@@ -115,7 +157,8 @@ export declare abstract class BaseConnectionPool<TId extends string | symbol = s
|
|
|
115
157
|
getPoolStatus(poolId: TId): {
|
|
116
158
|
initialized: boolean;
|
|
117
159
|
connecting: boolean;
|
|
118
|
-
healthStatus:
|
|
160
|
+
healthStatus: PoolHealthStatus;
|
|
161
|
+
lastActivityAt?: Date;
|
|
119
162
|
} | null;
|
|
120
163
|
/**
|
|
121
164
|
* Get list of registered pool identifiers
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"baseConnectionPool.d.ts","sourceRoot":"","sources":["../../../src/ibmi-mcp-server/services/baseConnectionPool.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,GAAG,EAAE,EAAE,YAAY,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAChF,QAAA,MAAQ,IAAI,iBAA4B,CAAC;AAEzC,OAAO,EAEL,cAAc,EACf,MAAM,oCAAoC,CAAC;AAE5C,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"baseConnectionPool.d.ts","sourceRoot":"","sources":["../../../src/ibmi-mcp-server/services/baseConnectionPool.ts"],"names":[],"mappings":"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"}
|