mcp-server-db2i 1.3.2 → 2.1.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.
Files changed (43) hide show
  1. package/README.md +7 -3
  2. package/dist/config.d.ts +82 -4
  3. package/dist/config.d.ts.map +1 -1
  4. package/dist/config.js +225 -8
  5. package/dist/config.js.map +1 -1
  6. package/dist/index.js +17 -6
  7. package/dist/index.js.map +1 -1
  8. package/dist/openapi.d.ts.map +1 -1
  9. package/dist/openapi.js +43 -8
  10. package/dist/openapi.js.map +1 -1
  11. package/dist/server.d.ts +2 -2
  12. package/dist/server.d.ts.map +1 -1
  13. package/dist/server.js +130 -119
  14. package/dist/server.js.map +1 -1
  15. package/dist/tools/query.d.ts +5 -0
  16. package/dist/tools/query.d.ts.map +1 -1
  17. package/dist/tools/query.js +15 -2
  18. package/dist/tools/query.js.map +1 -1
  19. package/dist/tools/sqlLimit.d.ts +5 -0
  20. package/dist/tools/sqlLimit.d.ts.map +1 -1
  21. package/dist/tools/sqlLimit.js +12 -0
  22. package/dist/tools/sqlLimit.js.map +1 -1
  23. package/dist/transports/http.d.ts +1 -1
  24. package/dist/transports/http.d.ts.map +1 -1
  25. package/dist/transports/http.js +264 -194
  26. package/dist/transports/http.js.map +1 -1
  27. package/dist/transports/sessionManager.d.ts +5 -5
  28. package/dist/transports/sessionManager.d.ts.map +1 -1
  29. package/dist/transports/sessionManager.js +3 -3
  30. package/dist/transports/sessionManager.js.map +1 -1
  31. package/dist/utils/formatResult.d.ts +22 -0
  32. package/dist/utils/formatResult.d.ts.map +1 -0
  33. package/dist/utils/formatResult.js +66 -0
  34. package/dist/utils/formatResult.js.map +1 -0
  35. package/dist/utils/security/schemaAllowlist.d.ts +23 -0
  36. package/dist/utils/security/schemaAllowlist.d.ts.map +1 -0
  37. package/dist/utils/security/schemaAllowlist.js +146 -0
  38. package/dist/utils/security/schemaAllowlist.js.map +1 -0
  39. package/dist/utils/security/sqlSecurityValidator.d.ts +0 -4
  40. package/dist/utils/security/sqlSecurityValidator.d.ts.map +1 -1
  41. package/dist/utils/security/sqlSecurityValidator.js +134 -38
  42. package/dist/utils/security/sqlSecurityValidator.js.map +1 -1
  43. package/package.json +9 -6
package/dist/openapi.js CHANGED
@@ -161,10 +161,9 @@ export function getOpenApiSpec(baseUrl) {
161
161
  tags: ['mcp'],
162
162
  summary: 'MCP JSON-RPC request',
163
163
  description: 'Send MCP JSON-RPC 2.0 requests.\n\n' +
164
- '**Stateful Mode Flow:**\n' +
165
- '1. Send `initialize` request WITHOUT `Mcp-Session-Id` header\n' +
166
- '2. Get `mcp-session-id` from response headers\n' +
167
- '3. Include `Mcp-Session-Id` header in all subsequent requests\n\n' +
164
+ '**2026-07-28:** each request carries a `_meta` envelope plus `MCP-Protocol-Version` and `Mcp-Method` (and `Mcp-Name` for a named tool call). There is no `initialize` handshake and no `Mcp-Session-Id`. Use `server/discover` to read server capabilities.\n\n' +
165
+ '**2025-era (default stateless):** send `initialize` and later calls as separate requests. Do not send `Mcp-Session-Id`. `GET` and `DELETE` answer 405.\n\n' +
166
+ '**Deprecated stateful mode** (`MCP_SESSION_MODE=stateful`): 2025-era clients send `initialize` without `Mcp-Session-Id`, then repeat that header. 2026-07-28 requests on the same URL stay stateless.\n\n' +
168
167
  '**Authentication:** Required in `required` and `token` modes. Not required in `none` mode. Check `/health` for current mode.\n\n' +
169
168
  '**Important:** The `Accept` header must include both `application/json` and `text/event-stream`.',
170
169
  operationId: 'mcpRequest',
@@ -178,10 +177,31 @@ export function getOpenApiSpec(baseUrl) {
178
177
  schema: { type: 'string', default: 'application/json, text/event-stream' },
179
178
  example: 'application/json, text/event-stream',
180
179
  },
180
+ {
181
+ name: 'MCP-Protocol-Version',
182
+ in: 'header',
183
+ description: 'Required for 2026-07-28 requests. Must match `_meta["io.modelcontextprotocol/protocolVersion"]`. Omit for 2025-era requests.',
184
+ required: false,
185
+ schema: { type: 'string', example: '2026-07-28' },
186
+ },
187
+ {
188
+ name: 'Mcp-Method',
189
+ in: 'header',
190
+ description: 'Required for 2026-07-28 requests. Must match the JSON-RPC method (for example `server/discover` or `tools/call`).',
191
+ required: false,
192
+ schema: { type: 'string', example: 'tools/call' },
193
+ },
194
+ {
195
+ name: 'Mcp-Name',
196
+ in: 'header',
197
+ description: 'Required for 2026-07-28 calls that name a tool, prompt, or resource.',
198
+ required: false,
199
+ schema: { type: 'string', example: 'execute_query' },
200
+ },
181
201
  {
182
202
  name: 'Mcp-Session-Id',
183
203
  in: 'header',
184
- description: 'MCP session ID. Do NOT include for `initialize` requests - the server returns a new session ID in the response headers. Required for all subsequent requests in stateful mode.',
204
+ description: 'Deprecated. Only used when MCP_SESSION_MODE=stateful for 2025-era clients. Omit it for 2026-07-28 and for the default stateless mode.',
185
205
  required: false,
186
206
  schema: { type: 'string' },
187
207
  },
@@ -192,13 +212,28 @@ export function getOpenApiSpec(baseUrl) {
192
212
  'application/json': {
193
213
  schema: { $ref: '#/components/schemas/JsonRpcRequest' },
194
214
  examples: {
215
+ discover: {
216
+ summary: 'Discover server (2026-07-28)',
217
+ value: {
218
+ jsonrpc: '2.0',
219
+ method: 'server/discover',
220
+ params: {
221
+ _meta: {
222
+ 'io.modelcontextprotocol/protocolVersion': '2026-07-28',
223
+ 'io.modelcontextprotocol/clientInfo': { name: 'my-client', version: '1.0.0' },
224
+ 'io.modelcontextprotocol/clientCapabilities': {},
225
+ },
226
+ },
227
+ id: 1,
228
+ },
229
+ },
195
230
  initialize: {
196
- summary: 'Initialize session',
231
+ summary: 'Initialize (2025-era, stateless)',
197
232
  value: {
198
233
  jsonrpc: '2.0',
199
234
  method: 'initialize',
200
235
  params: {
201
- protocolVersion: '2024-11-05',
236
+ protocolVersion: '2025-06-18',
202
237
  capabilities: {},
203
238
  clientInfo: { name: 'my-client', version: '1.0.0' },
204
239
  },
@@ -235,7 +270,7 @@ export function getOpenApiSpec(baseUrl) {
235
270
  description: 'MCP response',
236
271
  headers: {
237
272
  'Mcp-Session-Id': {
238
- description: 'Session ID (returned on initialize)',
273
+ description: 'Deprecated. Returned only when MCP_SESSION_MODE=stateful.',
239
274
  schema: { type: 'string' },
240
275
  },
241
276
  },
@@ -1 +1 @@
1
- {"version":3,"file":"openapi.js","sourceRoot":"","sources":["../src/openapi.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"openapi.js","sourceRoot":"","sources":["../src/openapi.ts"],"names":[],"mappings":"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"}
package/dist/server.d.ts CHANGED
@@ -8,8 +8,8 @@
8
8
  * - Stdio mode: Uses global connection pool (no sessionConfig)
9
9
  * - HTTP mode: Uses session-specific connection pool (with sessionConfig)
10
10
  */
11
- import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
12
- import type { DB2iConfig } from './config.js';
11
+ import { McpServer } from '@modelcontextprotocol/server';
12
+ import { type DB2iConfig } from './config.js';
13
13
  export declare const SERVER_NAME: string;
14
14
  export declare const SERVER_VERSION: string;
15
15
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAGpE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAgB9C,eAAO,MAAM,WAAW,QAAmB,CAAC;AAC5C,eAAO,MAAM,cAAc,QAAsB,CAAC;AAElD;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,0DAA0D;IAC1D,SAAS,EAAE,MAAM,CAAC;IAClB,0CAA0C;IAC1C,MAAM,EAAE,UAAU,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/C,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC5C,OAAO,CAAC,EAAE,IAAI,CAAC;CAChB,CAAC;AA8FF;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,SAAS,UAAU,EAC/D,OAAO,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,EAC9D,YAAY,EAAE,MAAM,EACpB,cAAc,CAAC,EAAE,cAAc,GAC9B,CAAC,IAAI,EAAE,KAAK,KAAK,OAAO,CAAC,eAAe,CAAC,CAuC3C;AAED;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAAC,aAAa,CAAC,EAAE,UAAU,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CA0LtF"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AAGzD,OAAO,EAAsC,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC;AAiBlF,eAAO,MAAM,WAAW,QAAmB,CAAC;AAC5C,eAAO,MAAM,cAAc,QAAsB,CAAC;AAElD;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B,0DAA0D;IAC1D,SAAS,EAAE,MAAM,CAAC;IAClB,0CAA0C;IAC1C,MAAM,EAAE,UAAU,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG;IAC5B,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC/C,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC5C,OAAO,CAAC,EAAE,IAAI,CAAC;CAChB,CAAC;AA8FF;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,SAAS,UAAU,EAC/D,OAAO,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,EAC9D,YAAY,EAAE,MAAM,EACpB,cAAc,CAAC,EAAE,cAAc,GAC9B,CAAC,IAAI,EAAE,KAAK,KAAK,OAAO,CAAC,eAAe,CAAC,CAuC3C;AAED;;;;;;;;;GASG;AACH,wBAAgB,YAAY,CAAC,aAAa,CAAC,EAAE,UAAU,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,SAAS,CAoMtF"}
package/dist/server.js CHANGED
@@ -9,11 +9,13 @@
9
9
  * - HTTP mode: Uses session-specific connection pool (with sessionConfig)
10
10
  */
11
11
  import { createRequire } from 'module';
12
- import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
12
+ import { McpServer } from '@modelcontextprotocol/server';
13
13
  import { z } from 'zod';
14
+ import { getEnabledTools, getResponseFormat } from './config.js';
14
15
  import { executeQueryTool } from './tools/query.js';
15
16
  import { listSchemasTool, listTablesTool, describeTableTool, listViewsTool, listIndexesTool, getTableConstraintsTool, } from './tools/metadata.js';
16
17
  import { getRateLimiter } from './utils/rateLimiter.js';
18
+ import { formatToolText } from './utils/formatResult.js';
17
19
  // Read version from package.json to keep it in sync with npm releases
18
20
  const require = createRequire(import.meta.url);
19
21
  const packageJson = require('../package.json');
@@ -25,15 +27,15 @@ const READ_ONLY_ANNOTATIONS = {
25
27
  idempotentHint: true,
26
28
  openWorldHint: false,
27
29
  };
28
- const queryOutputSchema = {
30
+ const queryOutputSchema = z.object({
29
31
  success: z.boolean(),
30
32
  error: z.string().optional(),
31
33
  violations: z.array(z.string()).optional(),
32
34
  data: z.array(z.unknown()).optional(),
33
35
  rowCount: z.number().int().optional(),
34
36
  limitApplied: z.number().int().optional(),
35
- };
36
- const listSchemasOutputSchema = {
37
+ });
38
+ const listSchemasOutputSchema = z.object({
37
39
  success: z.boolean(),
38
40
  error: z.string().optional(),
39
41
  data: z.array(z.object({
@@ -41,8 +43,8 @@ const listSchemasOutputSchema = {
41
43
  schema_text: z.string().nullable(),
42
44
  })).optional(),
43
45
  count: z.number().int().optional(),
44
- };
45
- const listTablesOutputSchema = {
46
+ });
47
+ const listTablesOutputSchema = z.object({
46
48
  success: z.boolean(),
47
49
  error: z.string().optional(),
48
50
  data: z.array(z.object({
@@ -51,8 +53,8 @@ const listTablesOutputSchema = {
51
53
  table_text: z.string().nullable(),
52
54
  })).optional(),
53
55
  count: z.number().int().optional(),
54
- };
55
- const describeTableOutputSchema = {
56
+ });
57
+ const describeTableOutputSchema = z.object({
56
58
  success: z.boolean(),
57
59
  error: z.string().optional(),
58
60
  data: z.array(z.object({
@@ -68,8 +70,8 @@ const describeTableOutputSchema = {
68
70
  ccsid: z.number().nullable(),
69
71
  })).optional(),
70
72
  count: z.number().int().optional(),
71
- };
72
- const listViewsOutputSchema = {
73
+ });
74
+ const listViewsOutputSchema = z.object({
73
75
  success: z.boolean(),
74
76
  error: z.string().optional(),
75
77
  data: z.array(z.object({
@@ -77,8 +79,8 @@ const listViewsOutputSchema = {
77
79
  view_text: z.string().nullable(),
78
80
  })).optional(),
79
81
  count: z.number().int().optional(),
80
- };
81
- const listIndexesOutputSchema = {
82
+ });
83
+ const listIndexesOutputSchema = z.object({
82
84
  success: z.boolean(),
83
85
  error: z.string().optional(),
84
86
  data: z.array(z.object({
@@ -88,8 +90,8 @@ const listIndexesOutputSchema = {
88
90
  column_names: z.string(),
89
91
  })).optional(),
90
92
  count: z.number().int().optional(),
91
- };
92
- const tableConstraintsOutputSchema = {
93
+ });
94
+ const tableConstraintsOutputSchema = z.object({
93
95
  success: z.boolean(),
94
96
  error: z.string().optional(),
95
97
  data: z.array(z.object({
@@ -102,7 +104,7 @@ const tableConstraintsOutputSchema = {
102
104
  referenced_column_name: z.string().nullable(),
103
105
  })).optional(),
104
106
  count: z.number().int().optional(),
105
- };
107
+ });
106
108
  /**
107
109
  * Creates a tool handler wrapper that applies rate limiting and standardizes responses.
108
110
  * Eliminates boilerplate code across all tool registrations.
@@ -120,7 +122,7 @@ export function withToolHandler(handler, errorMessage, sessionContext) {
120
122
  const error = rateLimiter.formatError(rateResult);
121
123
  const structured = { success: false, error: error.error };
122
124
  return {
123
- content: [{ type: 'text', text: JSON.stringify(error, null, 2) }],
125
+ content: [{ type: 'text', text: formatToolText(error, getResponseFormat()) }],
124
126
  structuredContent: structured,
125
127
  isError: true,
126
128
  };
@@ -142,7 +144,7 @@ export function withToolHandler(handler, errorMessage, sessionContext) {
142
144
  };
143
145
  }
144
146
  return {
145
- content: [{ type: 'text', text: JSON.stringify(result, null, 2) }],
147
+ content: [{ type: 'text', text: formatToolText(result, getResponseFormat()) }],
146
148
  structuredContent: result,
147
149
  };
148
150
  };
@@ -174,108 +176,117 @@ export function createServer(sessionConfig, sessionId) {
174
176
  }
175
177
  return process.env.DB2I_SCHEMA || undefined;
176
178
  };
177
- // Register execute_query tool
178
- server.registerTool('execute_query', {
179
- title: 'Execute SQL Query',
180
- description: 'Execute a read-only SQL SELECT query against the IBM DB2i database. Only SELECT statements are allowed for security. Results are limited by default to prevent large result sets.',
181
- annotations: READ_ONLY_ANNOTATIONS,
182
- inputSchema: {
183
- sql: z.string().describe('SQL SELECT query to execute'),
184
- params: z.array(z.unknown()).optional().describe('Query parameters for prepared statement'),
185
- limit: z.number().int().positive().optional().default(1000).describe('Maximum number of rows to return (default: 1000, max: configured via QUERY_MAX_LIMIT)'),
186
- },
187
- outputSchema: queryOutputSchema,
188
- }, withToolHandler((args, sessionId) => executeQueryTool({
189
- sql: args.sql,
190
- params: args.params,
191
- limit: args.limit,
192
- sessionId,
193
- }), 'Query failed', sessionContext));
194
- // Register list_schemas tool
195
- server.registerTool('list_schemas', {
196
- title: 'List Schemas',
197
- description: 'List all schemas (libraries) in the IBM DB2i database. Optionally filter by name pattern using * as wildcard.',
198
- annotations: READ_ONLY_ANNOTATIONS,
199
- inputSchema: {
200
- filter: z.string().optional().describe('Filter pattern for schema names. Use * as wildcard. Example: "QSYS*" matches schemas starting with QSYS'),
201
- },
202
- outputSchema: listSchemasOutputSchema,
203
- }, withToolHandler((args, sessionId) => listSchemasTool({ filter: args.filter, sessionId }), 'Failed to list schemas', sessionContext));
204
- // Register list_tables tool
205
- server.registerTool('list_tables', {
206
- title: 'List Tables',
207
- description: `List all tables in a schema (library). ${sessionConfig ? 'Uses session default schema if not provided.' : 'Uses DB2I_SCHEMA env var if schema not provided.'} Optionally filter by name pattern using * as wildcard.`,
208
- annotations: READ_ONLY_ANNOTATIONS,
209
- inputSchema: {
210
- schema: z.string().optional().describe(`Schema (library) name to list tables from. ${sessionConfig ? 'Uses session default schema if not provided.' : 'Uses DB2I_SCHEMA env var if not provided.'}`),
211
- filter: z.string().optional().describe('Filter pattern for table names. Use * as wildcard. Example: "CUST*" matches tables starting with CUST'),
212
- },
213
- outputSchema: listTablesOutputSchema,
214
- }, withToolHandler((args, sessionId) => listTablesTool({
215
- schema: args.schema ?? getDefaultSchema(),
216
- filter: args.filter,
217
- sessionId,
218
- }), 'Failed to list tables', sessionContext));
219
- // Register describe_table tool
220
- server.registerTool('describe_table', {
221
- title: 'Describe Table',
222
- description: `Get detailed column information for a specific table including data types, lengths, nullability, defaults, and CCSID. ${sessionConfig ? 'Uses session default schema if not provided.' : 'Uses DB2I_SCHEMA env var if schema not provided.'}`,
223
- annotations: READ_ONLY_ANNOTATIONS,
224
- inputSchema: {
225
- schema: z.string().optional().describe(`Schema (library) name containing the table. ${sessionConfig ? 'Uses session default schema if not provided.' : 'Uses DB2I_SCHEMA env var if not provided.'}`),
226
- table: z.string().describe('Table name to describe'),
227
- },
228
- outputSchema: describeTableOutputSchema,
229
- }, withToolHandler((args, sessionId) => describeTableTool({
230
- schema: args.schema ?? getDefaultSchema(),
231
- table: args.table,
232
- sessionId,
233
- }), 'Failed to describe table', sessionContext));
234
- // Register list_views tool
235
- server.registerTool('list_views', {
236
- title: 'List Views',
237
- description: `List all views in a schema (library). ${sessionConfig ? 'Uses session default schema if not provided.' : 'Uses DB2I_SCHEMA env var if schema not provided.'} Optionally filter by name pattern using * as wildcard.`,
238
- annotations: READ_ONLY_ANNOTATIONS,
239
- inputSchema: {
240
- schema: z.string().optional().describe(`Schema (library) name to list views from. ${sessionConfig ? 'Uses session default schema if not provided.' : 'Uses DB2I_SCHEMA env var if not provided.'}`),
241
- filter: z.string().optional().describe('Filter pattern for view names. Use * as wildcard.'),
242
- },
243
- outputSchema: listViewsOutputSchema,
244
- }, withToolHandler((args, sessionId) => listViewsTool({
245
- schema: args.schema ?? getDefaultSchema(),
246
- filter: args.filter,
247
- sessionId,
248
- }), 'Failed to list views', sessionContext));
249
- // Register list_indexes tool
250
- server.registerTool('list_indexes', {
251
- title: 'List Indexes',
252
- description: `List all indexes for a specific table including uniqueness and column information. ${sessionConfig ? 'Uses session default schema if not provided.' : 'Uses DB2I_SCHEMA env var if schema not provided.'}`,
253
- annotations: READ_ONLY_ANNOTATIONS,
254
- inputSchema: {
255
- schema: z.string().optional().describe(`Schema (library) name containing the table. ${sessionConfig ? 'Uses session default schema if not provided.' : 'Uses DB2I_SCHEMA env var if not provided.'}`),
256
- table: z.string().describe('Table name to list indexes for'),
257
- },
258
- outputSchema: listIndexesOutputSchema,
259
- }, withToolHandler((args, sessionId) => listIndexesTool({
260
- schema: args.schema ?? getDefaultSchema(),
261
- table: args.table,
262
- sessionId,
263
- }), 'Failed to list indexes', sessionContext));
264
- // Register get_table_constraints tool
265
- server.registerTool('get_table_constraints', {
266
- title: 'Get Table Constraints',
267
- description: `Get all constraints (primary keys, foreign keys, unique constraints) for a specific table. ${sessionConfig ? 'Uses session default schema if not provided.' : 'Uses DB2I_SCHEMA env var if schema not provided.'}`,
268
- annotations: READ_ONLY_ANNOTATIONS,
269
- inputSchema: {
270
- schema: z.string().optional().describe(`Schema (library) name containing the table. ${sessionConfig ? 'Uses session default schema if not provided.' : 'Uses DB2I_SCHEMA env var if not provided.'}`),
271
- table: z.string().describe('Table name to get constraints for'),
272
- },
273
- outputSchema: tableConstraintsOutputSchema,
274
- }, withToolHandler((args, sessionId) => getTableConstraintsTool({
275
- schema: args.schema ?? getDefaultSchema(),
276
- table: args.table,
277
- sessionId,
278
- }), 'Failed to get constraints', sessionContext));
179
+ const enabledTools = new Set(getEnabledTools());
180
+ if (enabledTools.has('execute_query')) {
181
+ server.registerTool('execute_query', {
182
+ title: 'Execute SQL Query',
183
+ description: 'Execute a read-only SQL SELECT query against the IBM DB2i database. Only SELECT statements are allowed for security. Results are limited by default to prevent large result sets.',
184
+ annotations: READ_ONLY_ANNOTATIONS,
185
+ inputSchema: z.object({
186
+ sql: z.string().describe('SQL SELECT query to execute'),
187
+ params: z.array(z.unknown()).optional().describe('Query parameters for prepared statement'),
188
+ limit: z.number().int().positive().optional().default(1000).describe('Maximum number of rows to return (default: 1000, max: configured via QUERY_MAX_LIMIT)'),
189
+ }),
190
+ outputSchema: queryOutputSchema,
191
+ }, withToolHandler((args, sessionId) => executeQueryTool({
192
+ sql: args.sql,
193
+ params: args.params,
194
+ limit: args.limit,
195
+ sessionId,
196
+ defaultSchema: getDefaultSchema(),
197
+ }), 'Query failed', sessionContext));
198
+ }
199
+ if (enabledTools.has('list_schemas')) {
200
+ server.registerTool('list_schemas', {
201
+ title: 'List Schemas',
202
+ description: 'List all schemas (libraries) in the IBM DB2i database. Optionally filter by name pattern using * as wildcard.',
203
+ annotations: READ_ONLY_ANNOTATIONS,
204
+ inputSchema: z.object({
205
+ filter: z.string().optional().describe('Filter pattern for schema names. Use * as wildcard. Example: "QSYS*" matches schemas starting with QSYS'),
206
+ }),
207
+ outputSchema: listSchemasOutputSchema,
208
+ }, withToolHandler((args, sessionId) => listSchemasTool({ filter: args.filter, sessionId }), 'Failed to list schemas', sessionContext));
209
+ }
210
+ if (enabledTools.has('list_tables')) {
211
+ server.registerTool('list_tables', {
212
+ title: 'List Tables',
213
+ description: `List all tables in a schema (library). ${sessionConfig ? 'Uses session default schema if not provided.' : 'Uses DB2I_SCHEMA env var if schema not provided.'} Optionally filter by name pattern using * as wildcard.`,
214
+ annotations: READ_ONLY_ANNOTATIONS,
215
+ inputSchema: z.object({
216
+ schema: z.string().optional().describe(`Schema (library) name to list tables from. ${sessionConfig ? 'Uses session default schema if not provided.' : 'Uses DB2I_SCHEMA env var if not provided.'}`),
217
+ filter: z.string().optional().describe('Filter pattern for table names. Use * as wildcard. Example: "CUST*" matches tables starting with CUST'),
218
+ }),
219
+ outputSchema: listTablesOutputSchema,
220
+ }, withToolHandler((args, sessionId) => listTablesTool({
221
+ schema: args.schema ?? getDefaultSchema(),
222
+ filter: args.filter,
223
+ sessionId,
224
+ }), 'Failed to list tables', sessionContext));
225
+ }
226
+ if (enabledTools.has('describe_table')) {
227
+ server.registerTool('describe_table', {
228
+ title: 'Describe Table',
229
+ description: `Get detailed column information for a specific table including data types, lengths, nullability, defaults, and CCSID. ${sessionConfig ? 'Uses session default schema if not provided.' : 'Uses DB2I_SCHEMA env var if schema not provided.'}`,
230
+ annotations: READ_ONLY_ANNOTATIONS,
231
+ inputSchema: z.object({
232
+ schema: z.string().optional().describe(`Schema (library) name containing the table. ${sessionConfig ? 'Uses session default schema if not provided.' : 'Uses DB2I_SCHEMA env var if not provided.'}`),
233
+ table: z.string().describe('Table name to describe'),
234
+ }),
235
+ outputSchema: describeTableOutputSchema,
236
+ }, withToolHandler((args, sessionId) => describeTableTool({
237
+ schema: args.schema ?? getDefaultSchema(),
238
+ table: args.table,
239
+ sessionId,
240
+ }), 'Failed to describe table', sessionContext));
241
+ }
242
+ if (enabledTools.has('list_views')) {
243
+ server.registerTool('list_views', {
244
+ title: 'List Views',
245
+ description: `List all views in a schema (library). ${sessionConfig ? 'Uses session default schema if not provided.' : 'Uses DB2I_SCHEMA env var if schema not provided.'} Optionally filter by name pattern using * as wildcard.`,
246
+ annotations: READ_ONLY_ANNOTATIONS,
247
+ inputSchema: z.object({
248
+ schema: z.string().optional().describe(`Schema (library) name to list views from. ${sessionConfig ? 'Uses session default schema if not provided.' : 'Uses DB2I_SCHEMA env var if not provided.'}`),
249
+ filter: z.string().optional().describe('Filter pattern for view names. Use * as wildcard.'),
250
+ }),
251
+ outputSchema: listViewsOutputSchema,
252
+ }, withToolHandler((args, sessionId) => listViewsTool({
253
+ schema: args.schema ?? getDefaultSchema(),
254
+ filter: args.filter,
255
+ sessionId,
256
+ }), 'Failed to list views', sessionContext));
257
+ }
258
+ if (enabledTools.has('list_indexes')) {
259
+ server.registerTool('list_indexes', {
260
+ title: 'List Indexes',
261
+ description: `List all indexes for a specific table including uniqueness and column information. ${sessionConfig ? 'Uses session default schema if not provided.' : 'Uses DB2I_SCHEMA env var if schema not provided.'}`,
262
+ annotations: READ_ONLY_ANNOTATIONS,
263
+ inputSchema: z.object({
264
+ schema: z.string().optional().describe(`Schema (library) name containing the table. ${sessionConfig ? 'Uses session default schema if not provided.' : 'Uses DB2I_SCHEMA env var if not provided.'}`),
265
+ table: z.string().describe('Table name to list indexes for'),
266
+ }),
267
+ outputSchema: listIndexesOutputSchema,
268
+ }, withToolHandler((args, sessionId) => listIndexesTool({
269
+ schema: args.schema ?? getDefaultSchema(),
270
+ table: args.table,
271
+ sessionId,
272
+ }), 'Failed to list indexes', sessionContext));
273
+ }
274
+ if (enabledTools.has('get_table_constraints')) {
275
+ server.registerTool('get_table_constraints', {
276
+ title: 'Get Table Constraints',
277
+ description: `Get all constraints (primary keys, foreign keys, unique constraints) for a specific table. ${sessionConfig ? 'Uses session default schema if not provided.' : 'Uses DB2I_SCHEMA env var if schema not provided.'}`,
278
+ annotations: READ_ONLY_ANNOTATIONS,
279
+ inputSchema: z.object({
280
+ schema: z.string().optional().describe(`Schema (library) name containing the table. ${sessionConfig ? 'Uses session default schema if not provided.' : 'Uses DB2I_SCHEMA env var if not provided.'}`),
281
+ table: z.string().describe('Table name to get constraints for'),
282
+ }),
283
+ outputSchema: tableConstraintsOutputSchema,
284
+ }, withToolHandler((args, sessionId) => getTableConstraintsTool({
285
+ schema: args.schema ?? getDefaultSchema(),
286
+ table: args.table,
287
+ sessionId,
288
+ }), 'Failed to get constraints', sessionContext));
289
+ }
279
290
  return server;
280
291
  }
281
292
  //# sourceMappingURL=server.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
@@ -10,6 +10,11 @@ export interface ExecuteQueryInput {
10
10
  limit?: number;
11
11
  /** Optional session ID for HTTP transport (uses session-specific pool) */
12
12
  sessionId?: string;
13
+ /**
14
+ * Schema unqualified names resolve to. Session schema when set, otherwise
15
+ * DB2I_SCHEMA. Used by the schema allowlist only.
16
+ */
17
+ defaultSchema?: string;
13
18
  }
14
19
  /**
15
20
  * Execute a read-only SQL query
@@ -1 +1 @@
1
- {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../src/tools/query.ts"],"names":[],"mappings":"AAAA;;GAEG;AAUH;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0EAA0E;IAC1E,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;GAIG;AACH,wBAAsB,gBAAgB,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC;IACxE,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC,CAyCD"}
1
+ {"version":3,"file":"query.d.ts","sourceRoot":"","sources":["../../src/tools/query.ts"],"names":[],"mappings":"AAAA;;GAEG;AAWH;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,CAAC,EAAE,OAAO,EAAE,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0EAA0E;IAC1E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;GAIG;AACH,wBAAsB,gBAAgB,CAAC,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC;IACxE,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,EAAE,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB,CAAC,CAsDD"}
@@ -4,7 +4,8 @@
4
4
  import { executeQuery } from '../db/connection.js';
5
5
  import { validateQuery } from '../db/queries.js';
6
6
  import { createChildLogger } from '../utils/logger.js';
7
- import { applyQueryLimit, getQueryLimitConfig } from '../config.js';
7
+ import { applyQueryLimit, getAllowedSchemas, getQueryLimitConfig } from '../config.js';
8
+ import { checkQuerySchemas } from '../utils/security/schemaAllowlist.js';
8
9
  import { applySqlRowLimit } from './sqlLimit.js';
9
10
  const log = createChildLogger({ component: 'query-tool' });
10
11
  /**
@@ -13,7 +14,7 @@ const log = createChildLogger({ component: 'query-tool' });
13
14
  * @param input - Query input including SQL, params, limit, and optional sessionId
14
15
  */
15
16
  export async function executeQueryTool(input) {
16
- const { sql, params = [], sessionId } = input;
17
+ const { sql, params = [], sessionId, defaultSchema } = input;
17
18
  const queryConfig = getQueryLimitConfig();
18
19
  const effectiveLimit = applyQueryLimit(input.limit, queryConfig);
19
20
  log.debug({ sqlPreview: sql.substring(0, 100), requestedLimit: input.limit, effectiveLimit, sessionId: sessionId?.substring(0, 8) }, 'Received query request');
@@ -27,6 +28,18 @@ export async function executeQueryTool(input) {
27
28
  violations: validationResult.violations,
28
29
  };
29
30
  }
31
+ const allowedSchemas = getAllowedSchemas();
32
+ if (allowedSchemas) {
33
+ const schemaResult = checkQuerySchemas(sql, { allowed: allowedSchemas, defaultSchema });
34
+ if (!schemaResult.ok) {
35
+ log.warn({ violations: schemaResult.violations }, 'Query rejected: schema allowlist');
36
+ return {
37
+ success: false,
38
+ error: `Schema allowlist rejected the query: ${schemaResult.violations.join('; ')}`,
39
+ violations: schemaResult.violations,
40
+ };
41
+ }
42
+ }
30
43
  try {
31
44
  const limitedSql = applySqlRowLimit(sql, effectiveLimit);
32
45
  const result = await executeQuery(limitedSql, params, sessionId);