@ibm/ibmi-mcp-server 0.3.1 → 0.4.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 (149) hide show
  1. package/README.md +29 -0
  2. package/dist/cli/commands/columns.d.ts +7 -0
  3. package/dist/cli/commands/columns.d.ts.map +1 -0
  4. package/dist/cli/commands/columns.js +29 -0
  5. package/dist/cli/commands/columns.js.map +1 -0
  6. package/dist/cli/commands/completion.d.ts +10 -0
  7. package/dist/cli/commands/completion.d.ts.map +1 -0
  8. package/dist/cli/commands/completion.js +225 -0
  9. package/dist/cli/commands/completion.js.map +1 -0
  10. package/dist/cli/commands/related.d.ts +7 -0
  11. package/dist/cli/commands/related.d.ts.map +1 -0
  12. package/dist/cli/commands/related.js +32 -0
  13. package/dist/cli/commands/related.js.map +1 -0
  14. package/dist/cli/commands/schemas.d.ts +7 -0
  15. package/dist/cli/commands/schemas.d.ts.map +1 -0
  16. package/dist/cli/commands/schemas.js +49 -0
  17. package/dist/cli/commands/schemas.js.map +1 -0
  18. package/dist/cli/commands/sql.d.ts +8 -0
  19. package/dist/cli/commands/sql.d.ts.map +1 -0
  20. package/dist/cli/commands/sql.js +106 -0
  21. package/dist/cli/commands/sql.js.map +1 -0
  22. package/dist/cli/commands/system.d.ts +11 -0
  23. package/dist/cli/commands/system.d.ts.map +1 -0
  24. package/dist/cli/commands/system.js +263 -0
  25. package/dist/cli/commands/system.js.map +1 -0
  26. package/dist/cli/commands/tables.d.ts +7 -0
  27. package/dist/cli/commands/tables.d.ts.map +1 -0
  28. package/dist/cli/commands/tables.js +48 -0
  29. package/dist/cli/commands/tables.js.map +1 -0
  30. package/dist/cli/commands/tool.d.ts +18 -0
  31. package/dist/cli/commands/tool.d.ts.map +1 -0
  32. package/dist/cli/commands/tool.js +194 -0
  33. package/dist/cli/commands/tool.js.map +1 -0
  34. package/dist/cli/commands/tools-list.d.ts +20 -0
  35. package/dist/cli/commands/tools-list.d.ts.map +1 -0
  36. package/dist/cli/commands/tools-list.js +209 -0
  37. package/dist/cli/commands/tools-list.js.map +1 -0
  38. package/dist/cli/commands/validate.d.ts +7 -0
  39. package/dist/cli/commands/validate.d.ts.map +1 -0
  40. package/dist/cli/commands/validate.js +77 -0
  41. package/dist/cli/commands/validate.js.map +1 -0
  42. package/dist/cli/config/credentials.d.ts +21 -0
  43. package/dist/cli/config/credentials.d.ts.map +1 -0
  44. package/dist/cli/config/credentials.js +96 -0
  45. package/dist/cli/config/credentials.js.map +1 -0
  46. package/dist/cli/config/index.d.ts +10 -0
  47. package/dist/cli/config/index.d.ts.map +1 -0
  48. package/dist/cli/config/index.js +9 -0
  49. package/dist/cli/config/index.js.map +1 -0
  50. package/dist/cli/config/loader.d.ts +36 -0
  51. package/dist/cli/config/loader.d.ts.map +1 -0
  52. package/dist/cli/config/loader.js +206 -0
  53. package/dist/cli/config/loader.js.map +1 -0
  54. package/dist/cli/config/resolver.d.ts +26 -0
  55. package/dist/cli/config/resolver.d.ts.map +1 -0
  56. package/dist/cli/config/resolver.js +102 -0
  57. package/dist/cli/config/resolver.js.map +1 -0
  58. package/dist/cli/config/schema.d.ts +128 -0
  59. package/dist/cli/config/schema.d.ts.map +1 -0
  60. package/dist/cli/config/schema.js +37 -0
  61. package/dist/cli/config/schema.js.map +1 -0
  62. package/dist/cli/config/types.d.ts +59 -0
  63. package/dist/cli/config/types.d.ts.map +1 -0
  64. package/dist/cli/config/types.js +6 -0
  65. package/dist/cli/config/types.js.map +1 -0
  66. package/dist/cli/formatters/output.d.ts +60 -0
  67. package/dist/cli/formatters/output.d.ts.map +1 -0
  68. package/dist/cli/formatters/output.js +190 -0
  69. package/dist/cli/formatters/output.js.map +1 -0
  70. package/dist/cli/index.d.ts +13 -0
  71. package/dist/cli/index.d.ts.map +1 -0
  72. package/dist/cli/index.js +98 -0
  73. package/dist/cli/index.js.map +1 -0
  74. package/dist/cli/utils/command-helpers.d.ts +47 -0
  75. package/dist/cli/utils/command-helpers.d.ts.map +1 -0
  76. package/dist/cli/utils/command-helpers.js +211 -0
  77. package/dist/cli/utils/command-helpers.js.map +1 -0
  78. package/dist/cli/utils/connection.d.ts +20 -0
  79. package/dist/cli/utils/connection.d.ts.map +1 -0
  80. package/dist/cli/utils/connection.js +37 -0
  81. package/dist/cli/utils/connection.js.map +1 -0
  82. package/dist/cli/utils/exit-codes.d.ts +48 -0
  83. package/dist/cli/utils/exit-codes.d.ts.map +1 -0
  84. package/dist/cli/utils/exit-codes.js +111 -0
  85. package/dist/cli/utils/exit-codes.js.map +1 -0
  86. package/dist/cli/utils/yaml-loader.d.ts +69 -0
  87. package/dist/cli/utils/yaml-loader.d.ts.map +1 -0
  88. package/dist/cli/utils/yaml-loader.js +135 -0
  89. package/dist/cli/utils/yaml-loader.js.map +1 -0
  90. package/dist/cli/utils/yaml-to-commander.d.ts +26 -0
  91. package/dist/cli/utils/yaml-to-commander.d.ts.map +1 -0
  92. package/dist/cli/utils/yaml-to-commander.js +156 -0
  93. package/dist/cli/utils/yaml-to-commander.js.map +1 -0
  94. package/dist/config/index.d.ts +6 -0
  95. package/dist/config/index.d.ts.map +1 -1
  96. package/dist/config/index.js +28 -10
  97. package/dist/config/index.js.map +1 -1
  98. package/dist/ibmi-mcp-server/services/authenticatedPoolManager.d.ts +1 -1
  99. package/dist/ibmi-mcp-server/services/authenticatedPoolManager.d.ts.map +1 -1
  100. package/dist/ibmi-mcp-server/services/authenticatedPoolManager.js +8 -7
  101. package/dist/ibmi-mcp-server/services/authenticatedPoolManager.js.map +1 -1
  102. package/dist/ibmi-mcp-server/services/baseConnectionPool.d.ts +52 -9
  103. package/dist/ibmi-mcp-server/services/baseConnectionPool.d.ts.map +1 -1
  104. package/dist/ibmi-mcp-server/services/baseConnectionPool.js +177 -17
  105. package/dist/ibmi-mcp-server/services/baseConnectionPool.js.map +1 -1
  106. package/dist/ibmi-mcp-server/services/sourceManager.d.ts +12 -4
  107. package/dist/ibmi-mcp-server/services/sourceManager.d.ts.map +1 -1
  108. package/dist/ibmi-mcp-server/services/sourceManager.js +16 -5
  109. package/dist/ibmi-mcp-server/services/sourceManager.js.map +1 -1
  110. package/dist/ibmi-mcp-server/tools/executeSql.tool.d.ts.map +1 -1
  111. package/dist/ibmi-mcp-server/tools/executeSql.tool.js +6 -2
  112. package/dist/ibmi-mcp-server/tools/executeSql.tool.js.map +1 -1
  113. package/dist/ibmi-mcp-server/tools/generateSql.tool.js +1 -1
  114. package/dist/ibmi-mcp-server/tools/generateSql.tool.js.map +1 -1
  115. package/dist/ibmi-mcp-server/tools/getRelatedObjects.tool.d.ts +93 -0
  116. package/dist/ibmi-mcp-server/tools/getRelatedObjects.tool.d.ts.map +1 -0
  117. package/dist/ibmi-mcp-server/tools/getRelatedObjects.tool.js +198 -0
  118. package/dist/ibmi-mcp-server/tools/getRelatedObjects.tool.js.map +1 -0
  119. package/dist/ibmi-mcp-server/tools/getTableColumns.tool.d.ts +87 -0
  120. package/dist/ibmi-mcp-server/tools/getTableColumns.tool.d.ts.map +1 -0
  121. package/dist/ibmi-mcp-server/tools/getTableColumns.tool.js +163 -0
  122. package/dist/ibmi-mcp-server/tools/getTableColumns.tool.js.map +1 -0
  123. package/dist/ibmi-mcp-server/tools/index.d.ts +175 -0
  124. package/dist/ibmi-mcp-server/tools/index.d.ts.map +1 -1
  125. package/dist/ibmi-mcp-server/tools/index.js +27 -1
  126. package/dist/ibmi-mcp-server/tools/index.js.map +1 -1
  127. package/dist/ibmi-mcp-server/tools/listSchemas.tool.d.ts +107 -0
  128. package/dist/ibmi-mcp-server/tools/listSchemas.tool.d.ts.map +1 -0
  129. package/dist/ibmi-mcp-server/tools/listSchemas.tool.js +195 -0
  130. package/dist/ibmi-mcp-server/tools/listSchemas.tool.js.map +1 -0
  131. package/dist/ibmi-mcp-server/tools/listTablesInSchema.tool.d.ts +107 -0
  132. package/dist/ibmi-mcp-server/tools/listTablesInSchema.tool.d.ts.map +1 -0
  133. package/dist/ibmi-mcp-server/tools/listTablesInSchema.tool.js +198 -0
  134. package/dist/ibmi-mcp-server/tools/listTablesInSchema.tool.js.map +1 -0
  135. package/dist/ibmi-mcp-server/tools/validateQuery.tool.d.ts +229 -0
  136. package/dist/ibmi-mcp-server/tools/validateQuery.tool.d.ts.map +1 -0
  137. package/dist/ibmi-mcp-server/tools/validateQuery.tool.js +401 -0
  138. package/dist/ibmi-mcp-server/tools/validateQuery.tool.js.map +1 -0
  139. package/dist/ibmi-mcp-server/utils/config/toolProcessor.d.ts.map +1 -1
  140. package/dist/ibmi-mcp-server/utils/config/toolProcessor.js +1 -1
  141. package/dist/ibmi-mcp-server/utils/config/toolProcessor.js.map +1 -1
  142. package/dist/ibmi-mcp-server/utils/security/sqlSecurityValidator.js +1 -1
  143. package/dist/ibmi-mcp-server/utils/security/sqlSecurityValidator.js.map +1 -1
  144. package/dist/index.js +30 -19
  145. package/dist/index.js.map +1 -1
  146. package/dist/mcp-server/transports/http/httpTransport.d.ts.map +1 -1
  147. package/dist/mcp-server/transports/http/httpTransport.js +5 -1
  148. package/dist/mcp-server/transports/http/httpTransport.js.map +1 -1
  149. package/package.json +6 -4
@@ -2,6 +2,8 @@
2
2
  * Tool Definitions Barrel Export
3
3
  *
4
4
  * Centralized export of all factory pattern tool definitions.
5
+ * Includes the default text-to-SQL toolset (controlled by IBMI_ENABLE_DEFAULT_TOOLS)
6
+ * alongside always-available tools.
5
7
  *
6
8
  * @module tools/definitions
7
9
  */
@@ -81,5 +83,178 @@ export declare const allToolDefinitions: (import("../../mcp-server/tools/utils/t
81
83
  message: string;
82
84
  details?: Record<string, unknown> | undefined;
83
85
  }>>;
86
+ }> | import("../../mcp-server/tools/utils/types.js").ToolDefinition<{
87
+ filter: import("zod").ZodOptional<import("zod").ZodString>;
88
+ include_system: import("zod").ZodDefault<import("zod").ZodBoolean>;
89
+ limit: import("zod").ZodDefault<import("zod").ZodNumber>;
90
+ offset: import("zod").ZodDefault<import("zod").ZodNumber>;
91
+ }, {
92
+ success: import("zod").ZodBoolean;
93
+ data: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>, "many">>;
94
+ rowCount: import("zod").ZodOptional<import("zod").ZodNumber>;
95
+ hasMore: import("zod").ZodOptional<import("zod").ZodBoolean>;
96
+ limit: import("zod").ZodOptional<import("zod").ZodNumber>;
97
+ offset: import("zod").ZodOptional<import("zod").ZodNumber>;
98
+ executionTime: import("zod").ZodOptional<import("zod").ZodNumber>;
99
+ error: import("zod").ZodOptional<import("zod").ZodObject<{
100
+ code: import("zod").ZodString;
101
+ message: import("zod").ZodString;
102
+ details: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>;
103
+ }, "strip", import("zod").ZodTypeAny, {
104
+ code: string;
105
+ message: string;
106
+ details?: Record<string, unknown> | undefined;
107
+ }, {
108
+ code: string;
109
+ message: string;
110
+ details?: Record<string, unknown> | undefined;
111
+ }>>;
112
+ }> | import("../../mcp-server/tools/utils/types.js").ToolDefinition<{
113
+ schema_name: import("zod").ZodString;
114
+ table_filter: import("zod").ZodDefault<import("zod").ZodString>;
115
+ limit: import("zod").ZodDefault<import("zod").ZodNumber>;
116
+ offset: import("zod").ZodDefault<import("zod").ZodNumber>;
117
+ }, {
118
+ success: import("zod").ZodBoolean;
119
+ data: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>, "many">>;
120
+ rowCount: import("zod").ZodOptional<import("zod").ZodNumber>;
121
+ hasMore: import("zod").ZodOptional<import("zod").ZodBoolean>;
122
+ limit: import("zod").ZodOptional<import("zod").ZodNumber>;
123
+ offset: import("zod").ZodOptional<import("zod").ZodNumber>;
124
+ executionTime: import("zod").ZodOptional<import("zod").ZodNumber>;
125
+ error: import("zod").ZodOptional<import("zod").ZodObject<{
126
+ code: import("zod").ZodString;
127
+ message: import("zod").ZodString;
128
+ details: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>;
129
+ }, "strip", import("zod").ZodTypeAny, {
130
+ code: string;
131
+ message: string;
132
+ details?: Record<string, unknown> | undefined;
133
+ }, {
134
+ code: string;
135
+ message: string;
136
+ details?: Record<string, unknown> | undefined;
137
+ }>>;
138
+ }> | import("../../mcp-server/tools/utils/types.js").ToolDefinition<{
139
+ schema_name: import("zod").ZodString;
140
+ table_name: import("zod").ZodString;
141
+ }, {
142
+ success: import("zod").ZodBoolean;
143
+ data: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>, "many">>;
144
+ rowCount: import("zod").ZodOptional<import("zod").ZodNumber>;
145
+ executionTime: import("zod").ZodOptional<import("zod").ZodNumber>;
146
+ error: import("zod").ZodOptional<import("zod").ZodObject<{
147
+ code: import("zod").ZodString;
148
+ message: import("zod").ZodString;
149
+ details: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>;
150
+ }, "strip", import("zod").ZodTypeAny, {
151
+ code: string;
152
+ message: string;
153
+ details?: Record<string, unknown> | undefined;
154
+ }, {
155
+ code: string;
156
+ message: string;
157
+ details?: Record<string, unknown> | undefined;
158
+ }>>;
159
+ }> | import("../../mcp-server/tools/utils/types.js").ToolDefinition<{
160
+ sql_statement: import("zod").ZodString;
161
+ }, {
162
+ success: import("zod").ZodBoolean;
163
+ data: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>, "many">>;
164
+ rowCount: import("zod").ZodOptional<import("zod").ZodNumber>;
165
+ executionTime: import("zod").ZodOptional<import("zod").ZodNumber>;
166
+ objectValidation: import("zod").ZodOptional<import("zod").ZodObject<{
167
+ tables: import("zod").ZodObject<{
168
+ valid: import("zod").ZodArray<import("zod").ZodString, "many">;
169
+ invalid: import("zod").ZodArray<import("zod").ZodString, "many">;
170
+ }, "strip", import("zod").ZodTypeAny, {
171
+ valid: string[];
172
+ invalid: string[];
173
+ }, {
174
+ valid: string[];
175
+ invalid: string[];
176
+ }>;
177
+ columns: import("zod").ZodObject<{
178
+ valid: import("zod").ZodArray<import("zod").ZodString, "many">;
179
+ invalid: import("zod").ZodArray<import("zod").ZodString, "many">;
180
+ }, "strip", import("zod").ZodTypeAny, {
181
+ valid: string[];
182
+ invalid: string[];
183
+ }, {
184
+ valid: string[];
185
+ invalid: string[];
186
+ }>;
187
+ routines: import("zod").ZodObject<{
188
+ valid: import("zod").ZodArray<import("zod").ZodString, "many">;
189
+ invalid: import("zod").ZodArray<import("zod").ZodString, "many">;
190
+ }, "strip", import("zod").ZodTypeAny, {
191
+ valid: string[];
192
+ invalid: string[];
193
+ }, {
194
+ valid: string[];
195
+ invalid: string[];
196
+ }>;
197
+ }, "strip", import("zod").ZodTypeAny, {
198
+ columns: {
199
+ valid: string[];
200
+ invalid: string[];
201
+ };
202
+ tables: {
203
+ valid: string[];
204
+ invalid: string[];
205
+ };
206
+ routines: {
207
+ valid: string[];
208
+ invalid: string[];
209
+ };
210
+ }, {
211
+ columns: {
212
+ valid: string[];
213
+ invalid: string[];
214
+ };
215
+ tables: {
216
+ valid: string[];
217
+ invalid: string[];
218
+ };
219
+ routines: {
220
+ valid: string[];
221
+ invalid: string[];
222
+ };
223
+ }>>;
224
+ error: import("zod").ZodOptional<import("zod").ZodObject<{
225
+ code: import("zod").ZodString;
226
+ message: import("zod").ZodString;
227
+ details: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>;
228
+ }, "strip", import("zod").ZodTypeAny, {
229
+ code: string;
230
+ message: string;
231
+ details?: Record<string, unknown> | undefined;
232
+ }, {
233
+ code: string;
234
+ message: string;
235
+ details?: Record<string, unknown> | undefined;
236
+ }>>;
237
+ }> | import("../../mcp-server/tools/utils/types.js").ToolDefinition<{
238
+ library_name: import("zod").ZodString;
239
+ file_name: import("zod").ZodString;
240
+ object_type_filter: import("zod").ZodOptional<import("zod").ZodEnum<["ALIAS", "FOREIGN KEY", "FUNCTION", "HISTORY TABLE", "INDEX", "KEYED LOGICAL FILE", "LOGICAL FILE", "MASK", "MATERIALIZED QUERY TABLE", "PERMISSION", "PROCEDURE", "TEXT INDEX", "TRIGGER", "VARIABLE", "VIEW", "XML SCHEMA"]>>;
241
+ }, {
242
+ success: import("zod").ZodBoolean;
243
+ data: import("zod").ZodOptional<import("zod").ZodArray<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>, "many">>;
244
+ rowCount: import("zod").ZodOptional<import("zod").ZodNumber>;
245
+ executionTime: import("zod").ZodOptional<import("zod").ZodNumber>;
246
+ error: import("zod").ZodOptional<import("zod").ZodObject<{
247
+ code: import("zod").ZodString;
248
+ message: import("zod").ZodString;
249
+ details: import("zod").ZodOptional<import("zod").ZodRecord<import("zod").ZodString, import("zod").ZodUnknown>>;
250
+ }, "strip", import("zod").ZodTypeAny, {
251
+ code: string;
252
+ message: string;
253
+ details?: Record<string, unknown> | undefined;
254
+ }, {
255
+ code: string;
256
+ message: string;
257
+ details?: Record<string, unknown> | undefined;
258
+ }>>;
84
259
  }>)[];
85
260
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ibmi-mcp-server/tools/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAKH;;;;;;;;;GASG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAAoC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ibmi-mcp-server/tools/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AA0BH;;;;;;;;;GASG;AACH,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;KAI9B,CAAC"}
@@ -2,11 +2,33 @@
2
2
  * Tool Definitions Barrel Export
3
3
  *
4
4
  * Centralized export of all factory pattern tool definitions.
5
+ * Includes the default text-to-SQL toolset (controlled by IBMI_ENABLE_DEFAULT_TOOLS)
6
+ * alongside always-available tools.
5
7
  *
6
8
  * @module tools/definitions
7
9
  */
10
+ import { config } from "../../config/index.js";
8
11
  import { executeSqlTool } from "./executeSql.tool.js";
9
12
  import { generateSqlTool } from "./generateSql.tool.js";
13
+ import { listSchemasTool } from "./listSchemas.tool.js";
14
+ import { listTablesInSchemaTool } from "./listTablesInSchema.tool.js";
15
+ import { getTableColumnsTool } from "./getTableColumns.tool.js";
16
+ import { validateQueryTool } from "./validateQuery.tool.js";
17
+ import { getRelatedObjectsTool } from "./getRelatedObjects.tool.js";
18
+ /**
19
+ * Default text-to-SQL toolset, enabled via IBMI_ENABLE_DEFAULT_TOOLS (default: true).
20
+ * These tools provide schema discovery and query validation for LLM workflows:
21
+ * list_schemas → list_tables_in_schema → get_table_columns → get_related_objects → validate_query → execute_sql
22
+ */
23
+ const defaultTools = config.ibmi_enableDefaultTools
24
+ ? [
25
+ listSchemasTool,
26
+ listTablesInSchemaTool,
27
+ getTableColumnsTool,
28
+ getRelatedObjectsTool,
29
+ validateQueryTool,
30
+ ]
31
+ : [];
10
32
  /**
11
33
  * Array of all tool definitions for automated registration.
12
34
  *
@@ -17,5 +39,9 @@ import { generateSqlTool } from "./generateSql.tool.js";
17
39
  *
18
40
  * The ToolRegistry will automatically register all tools in this array.
19
41
  */
20
- export const allToolDefinitions = [executeSqlTool, generateSqlTool];
42
+ export const allToolDefinitions = [
43
+ executeSqlTool, // Controlled by IBMI_ENABLE_EXECUTE_SQL or IBMI_ENABLE_DEFAULT_TOOLS
44
+ generateSqlTool, // Always available (describe_sql_object)
45
+ ...defaultTools, // Conditionally included default toolset
46
+ ];
21
47
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ibmi-mcp-server/tools/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAExD;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,cAAc,EAAE,eAAe,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ibmi-mcp-server/tools/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AACxD,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAChE,OAAO,EAAE,iBAAiB,EAAE,MAAM,yBAAyB,CAAC;AAC5D,OAAO,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAEpE;;;;GAIG;AACH,MAAM,YAAY,GAAG,MAAM,CAAC,uBAAuB;IACjD,CAAC,CAAC;QACE,eAAe;QACf,sBAAsB;QACtB,mBAAmB;QACnB,qBAAqB;QACrB,iBAAiB;KAClB;IACH,CAAC,CAAC,EAAE,CAAC;AAEP;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,cAAc,EAAE,qEAAqE;IACrF,eAAe,EAAE,yCAAyC;IAC1D,GAAG,YAAY,EAAE,yCAAyC;CAC3D,CAAC"}
@@ -0,0 +1,107 @@
1
+ /**
2
+ * List Schemas Tool
3
+ *
4
+ * Lists available schemas/libraries on the IBM i system.
5
+ * Part of the default text-to-SQL toolset.
6
+ *
7
+ * @module listSchemas.tool
8
+ */
9
+ import { z } from "zod";
10
+ import type { RequestContext } from "../../utils/index.js";
11
+ import type { SdkContext } from "../../mcp-server/tools/utils/types.js";
12
+ declare const ListSchemasInputSchema: z.ZodObject<{
13
+ filter: z.ZodOptional<z.ZodString>;
14
+ include_system: z.ZodDefault<z.ZodBoolean>;
15
+ limit: z.ZodDefault<z.ZodNumber>;
16
+ offset: z.ZodDefault<z.ZodNumber>;
17
+ }, "strip", z.ZodTypeAny, {
18
+ limit: number;
19
+ include_system: boolean;
20
+ offset: number;
21
+ filter?: string | undefined;
22
+ }, {
23
+ filter?: string | undefined;
24
+ limit?: number | undefined;
25
+ include_system?: boolean | undefined;
26
+ offset?: number | undefined;
27
+ }>;
28
+ declare const ListSchemasOutputSchema: z.ZodObject<{
29
+ success: z.ZodBoolean;
30
+ data: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>, "many">>;
31
+ rowCount: z.ZodOptional<z.ZodNumber>;
32
+ hasMore: z.ZodOptional<z.ZodBoolean>;
33
+ limit: z.ZodOptional<z.ZodNumber>;
34
+ offset: z.ZodOptional<z.ZodNumber>;
35
+ executionTime: z.ZodOptional<z.ZodNumber>;
36
+ error: z.ZodOptional<z.ZodObject<{
37
+ code: z.ZodString;
38
+ message: z.ZodString;
39
+ details: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
40
+ }, "strip", z.ZodTypeAny, {
41
+ code: string;
42
+ message: string;
43
+ details?: Record<string, unknown> | undefined;
44
+ }, {
45
+ code: string;
46
+ message: string;
47
+ details?: Record<string, unknown> | undefined;
48
+ }>>;
49
+ }, "strip", z.ZodTypeAny, {
50
+ success: boolean;
51
+ error?: {
52
+ code: string;
53
+ message: string;
54
+ details?: Record<string, unknown> | undefined;
55
+ } | undefined;
56
+ limit?: number | undefined;
57
+ data?: Record<string, unknown>[] | undefined;
58
+ executionTime?: number | undefined;
59
+ rowCount?: number | undefined;
60
+ offset?: number | undefined;
61
+ hasMore?: boolean | undefined;
62
+ }, {
63
+ success: boolean;
64
+ error?: {
65
+ code: string;
66
+ message: string;
67
+ details?: Record<string, unknown> | undefined;
68
+ } | undefined;
69
+ limit?: number | undefined;
70
+ data?: Record<string, unknown>[] | undefined;
71
+ executionTime?: number | undefined;
72
+ rowCount?: number | undefined;
73
+ offset?: number | undefined;
74
+ hasMore?: boolean | undefined;
75
+ }>;
76
+ type ListSchemasInput = z.infer<typeof ListSchemasInputSchema>;
77
+ type ListSchemasOutput = z.infer<typeof ListSchemasOutputSchema>;
78
+ export declare function listSchemasLogic(params: ListSchemasInput, appContext: RequestContext, _sdkContext: SdkContext): Promise<ListSchemasOutput>;
79
+ export declare const listSchemasTool: import("../../mcp-server/tools/utils/types.js").ToolDefinition<{
80
+ filter: z.ZodOptional<z.ZodString>;
81
+ include_system: z.ZodDefault<z.ZodBoolean>;
82
+ limit: z.ZodDefault<z.ZodNumber>;
83
+ offset: z.ZodDefault<z.ZodNumber>;
84
+ }, {
85
+ success: z.ZodBoolean;
86
+ data: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>, "many">>;
87
+ rowCount: z.ZodOptional<z.ZodNumber>;
88
+ hasMore: z.ZodOptional<z.ZodBoolean>;
89
+ limit: z.ZodOptional<z.ZodNumber>;
90
+ offset: z.ZodOptional<z.ZodNumber>;
91
+ executionTime: z.ZodOptional<z.ZodNumber>;
92
+ error: z.ZodOptional<z.ZodObject<{
93
+ code: z.ZodString;
94
+ message: z.ZodString;
95
+ details: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
96
+ }, "strip", z.ZodTypeAny, {
97
+ code: string;
98
+ message: string;
99
+ details?: Record<string, unknown> | undefined;
100
+ }, {
101
+ code: string;
102
+ message: string;
103
+ details?: Record<string, unknown> | undefined;
104
+ }>>;
105
+ }>;
106
+ export {};
107
+ //# sourceMappingURL=listSchemas.tool.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"listSchemas.tool.d.ts","sourceRoot":"","sources":["../../../src/ibmi-mcp-server/tools/listSchemas.tool.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAK3D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,uCAAuC,CAAC;AAMxE,QAAA,MAAM,sBAAsB;;;;;;;;;;;;;;;EAyB1B,CAAC;AAEH,QAAA,MAAM,uBAAuB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA2B3B,CAAC;AAEH,KAAK,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAC/D,KAAK,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,uBAAuB,CAAC,CAAC;AAMjE,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,gBAAgB,EACxB,UAAU,EAAE,cAAc,EAC1B,WAAW,EAAE,UAAU,GACtB,OAAO,CAAC,iBAAiB,CAAC,CAgH5B;AAmCD,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;EAc1B,CAAC"}
@@ -0,0 +1,195 @@
1
+ /**
2
+ * List Schemas Tool
3
+ *
4
+ * Lists available schemas/libraries on the IBM i system.
5
+ * Part of the default text-to-SQL toolset.
6
+ *
7
+ * @module listSchemas.tool
8
+ */
9
+ import { z } from "zod";
10
+ import { JsonRpcErrorCode, McpError } from "../../types-global/errors.js";
11
+ import { logger } from "../../utils/internal/logger.js";
12
+ import { IBMiConnectionPool } from "../services/connectionPool.js";
13
+ import { defineTool } from "../../mcp-server/tools/utils/tool-factory.js";
14
+ // =============================================================================
15
+ // Schemas
16
+ // =============================================================================
17
+ const ListSchemasInputSchema = z.object({
18
+ filter: z
19
+ .string()
20
+ .max(128, "Filter pattern cannot exceed 128 characters.")
21
+ .optional()
22
+ .describe("Optional schema name pattern to filter results (e.g., 'MY%', 'LIB%'). Uses SQL LIKE syntax."),
23
+ include_system: z
24
+ .boolean()
25
+ .default(false)
26
+ .describe("Include system schemas (Q* and SYS* prefixed). Default: false."),
27
+ limit: z
28
+ .number()
29
+ .int()
30
+ .min(1)
31
+ .max(500)
32
+ .default(50)
33
+ .describe("Maximum number of rows to return per page (1-500, default 50)."),
34
+ offset: z
35
+ .number()
36
+ .int()
37
+ .min(0)
38
+ .default(0)
39
+ .describe("Number of rows to skip for pagination (default 0)."),
40
+ });
41
+ const ListSchemasOutputSchema = z.object({
42
+ success: z.boolean().describe("Whether the query executed successfully."),
43
+ data: z
44
+ .array(z.record(z.unknown()))
45
+ .optional()
46
+ .describe("Array of schema records. Each record contains: SCHEMA_NAME, SCHEMA_TEXT, SYSTEM_SCHEMA_NAME, SCHEMA_SIZE."),
47
+ rowCount: z.number().optional().describe("Number of schemas returned."),
48
+ hasMore: z
49
+ .boolean()
50
+ .optional()
51
+ .describe("Whether more results exist beyond this page."),
52
+ limit: z.number().optional().describe("Page size used for this request."),
53
+ offset: z.number().optional().describe("Offset used for this request."),
54
+ executionTime: z
55
+ .number()
56
+ .optional()
57
+ .describe("Query execution time in milliseconds."),
58
+ error: z
59
+ .object({
60
+ code: z.string().describe("Error code"),
61
+ message: z.string().describe("Error message"),
62
+ details: z.record(z.unknown()).optional().describe("Error details"),
63
+ })
64
+ .optional()
65
+ .describe("Error information if the query failed."),
66
+ });
67
+ // =============================================================================
68
+ // Business Logic
69
+ // =============================================================================
70
+ export async function listSchemasLogic(params, appContext, _sdkContext) {
71
+ logger.debug({ ...appContext, toolInput: params }, "Processing list schemas logic.");
72
+ const startTime = Date.now();
73
+ // Build WHERE conditions dynamically
74
+ const conditions = [];
75
+ const bindParams = [];
76
+ if (!params.include_system) {
77
+ conditions.push("SCHEMA_NAME NOT LIKE 'Q%' AND SCHEMA_NAME NOT LIKE 'SYS%'");
78
+ }
79
+ if (params.filter) {
80
+ conditions.push("SCHEMA_NAME LIKE UPPER(?)");
81
+ bindParams.push(params.filter);
82
+ }
83
+ const whereClause = conditions.length > 0 ? `WHERE ${conditions.join(" AND ")}` : "";
84
+ const sql = `
85
+ SELECT SCHEMA_NAME,
86
+ SCHEMA_TEXT,
87
+ SYSTEM_SCHEMA_NAME,
88
+ SCHEMA_SIZE
89
+ FROM QSYS2.SYSSCHEMAS
90
+ ${whereClause}
91
+ ORDER BY SCHEMA_NAME
92
+ OFFSET ? ROWS FETCH FIRST ? ROWS ONLY
93
+ `.trim();
94
+ // Fetch limit+1 to detect if more rows exist beyond this page
95
+ const fetchLimit = params.limit + 1;
96
+ bindParams.push(params.offset, fetchLimit);
97
+ try {
98
+ const result = await IBMiConnectionPool.executeQuery(sql, bindParams, appContext);
99
+ const executionTime = Date.now() - startTime;
100
+ if (!result.data) {
101
+ return {
102
+ success: true,
103
+ data: [],
104
+ rowCount: 0,
105
+ hasMore: false,
106
+ limit: params.limit,
107
+ offset: params.offset,
108
+ executionTime,
109
+ };
110
+ }
111
+ const typedData = result.data;
112
+ // Detect if more rows exist beyond this page
113
+ const hasMore = (typedData?.length ?? 0) > params.limit;
114
+ if (hasMore && typedData) {
115
+ typedData.pop(); // Remove the extra detection row
116
+ }
117
+ return {
118
+ success: true,
119
+ data: typedData,
120
+ rowCount: typedData?.length ?? 0,
121
+ hasMore,
122
+ limit: params.limit,
123
+ offset: params.offset,
124
+ executionTime,
125
+ };
126
+ }
127
+ catch (error) {
128
+ const executionTime = Date.now() - startTime;
129
+ logger.error({
130
+ ...appContext,
131
+ error: error instanceof Error ? error.message : String(error),
132
+ executionTime,
133
+ }, "List schemas query failed.");
134
+ if (error instanceof McpError) {
135
+ return {
136
+ success: false,
137
+ executionTime,
138
+ error: {
139
+ code: String(error.code),
140
+ message: error.message,
141
+ details: error.details,
142
+ },
143
+ };
144
+ }
145
+ return {
146
+ success: false,
147
+ executionTime,
148
+ error: {
149
+ code: String(JsonRpcErrorCode.DatabaseError),
150
+ message: `Failed to list schemas: ${error instanceof Error ? error.message : String(error)}`,
151
+ },
152
+ };
153
+ }
154
+ }
155
+ // =============================================================================
156
+ // Response Formatter
157
+ // =============================================================================
158
+ const listSchemasResponseFormatter = (result) => {
159
+ if (!result.success) {
160
+ const errorMessage = result.error?.message || "Failed to list schemas";
161
+ const errorDetails = result.error?.details
162
+ ? `\n\nDetails:\n${JSON.stringify(result.error.details, null, 2)}`
163
+ : "";
164
+ return [{ type: "text", text: `Error: ${errorMessage}${errorDetails}` }];
165
+ }
166
+ let paginationInfo = "";
167
+ if (result.hasMore !== undefined) {
168
+ paginationInfo = ` (offset ${result.offset}, limit ${result.limit}, hasMore: ${result.hasMore})`;
169
+ }
170
+ const resultJson = JSON.stringify(result.data, null, 2);
171
+ return [
172
+ {
173
+ type: "text",
174
+ text: `Found ${result.rowCount} schemas${paginationInfo}.\nExecution time: ${result.executionTime}ms\n\nSchemas:\n${resultJson}`,
175
+ },
176
+ ];
177
+ };
178
+ // =============================================================================
179
+ // Tool Definition
180
+ // =============================================================================
181
+ export const listSchemasTool = defineTool({
182
+ name: "list_schemas",
183
+ title: "List Schemas",
184
+ description: "List available schemas/libraries on the IBM i system. Use this as the first step in schema discovery to find which schemas contain relevant tables.",
185
+ inputSchema: ListSchemasInputSchema,
186
+ outputSchema: ListSchemasOutputSchema,
187
+ logic: listSchemasLogic,
188
+ responseFormatter: listSchemasResponseFormatter,
189
+ annotations: {
190
+ readOnlyHint: true,
191
+ destructiveHint: false,
192
+ openWorldHint: false,
193
+ },
194
+ });
195
+ //# sourceMappingURL=listSchemas.tool.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"listSchemas.tool.js","sourceRoot":"","sources":["../../../src/ibmi-mcp-server/tools/listSchemas.tool.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,107 @@
1
+ /**
2
+ * List Tables in Schema Tool
3
+ *
4
+ * Lists tables, views, and physical files in a specific schema with metadata
5
+ * including row counts. Promoted from YAML tool definition.
6
+ *
7
+ * @module listTablesInSchema.tool
8
+ */
9
+ import { z } from "zod";
10
+ import type { RequestContext } from "../../utils/index.js";
11
+ import type { SdkContext } from "../../mcp-server/tools/utils/types.js";
12
+ declare const ListTablesInputSchema: z.ZodObject<{
13
+ schema_name: z.ZodString;
14
+ table_filter: z.ZodDefault<z.ZodString>;
15
+ limit: z.ZodDefault<z.ZodNumber>;
16
+ offset: z.ZodDefault<z.ZodNumber>;
17
+ }, "strip", z.ZodTypeAny, {
18
+ limit: number;
19
+ offset: number;
20
+ schema_name: string;
21
+ table_filter: string;
22
+ }, {
23
+ schema_name: string;
24
+ limit?: number | undefined;
25
+ offset?: number | undefined;
26
+ table_filter?: string | undefined;
27
+ }>;
28
+ declare const ListTablesOutputSchema: z.ZodObject<{
29
+ success: z.ZodBoolean;
30
+ data: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>, "many">>;
31
+ rowCount: z.ZodOptional<z.ZodNumber>;
32
+ hasMore: z.ZodOptional<z.ZodBoolean>;
33
+ limit: z.ZodOptional<z.ZodNumber>;
34
+ offset: z.ZodOptional<z.ZodNumber>;
35
+ executionTime: z.ZodOptional<z.ZodNumber>;
36
+ error: z.ZodOptional<z.ZodObject<{
37
+ code: z.ZodString;
38
+ message: z.ZodString;
39
+ details: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
40
+ }, "strip", z.ZodTypeAny, {
41
+ code: string;
42
+ message: string;
43
+ details?: Record<string, unknown> | undefined;
44
+ }, {
45
+ code: string;
46
+ message: string;
47
+ details?: Record<string, unknown> | undefined;
48
+ }>>;
49
+ }, "strip", z.ZodTypeAny, {
50
+ success: boolean;
51
+ error?: {
52
+ code: string;
53
+ message: string;
54
+ details?: Record<string, unknown> | undefined;
55
+ } | undefined;
56
+ limit?: number | undefined;
57
+ data?: Record<string, unknown>[] | undefined;
58
+ executionTime?: number | undefined;
59
+ rowCount?: number | undefined;
60
+ offset?: number | undefined;
61
+ hasMore?: boolean | undefined;
62
+ }, {
63
+ success: boolean;
64
+ error?: {
65
+ code: string;
66
+ message: string;
67
+ details?: Record<string, unknown> | undefined;
68
+ } | undefined;
69
+ limit?: number | undefined;
70
+ data?: Record<string, unknown>[] | undefined;
71
+ executionTime?: number | undefined;
72
+ rowCount?: number | undefined;
73
+ offset?: number | undefined;
74
+ hasMore?: boolean | undefined;
75
+ }>;
76
+ type ListTablesInput = z.infer<typeof ListTablesInputSchema>;
77
+ type ListTablesOutput = z.infer<typeof ListTablesOutputSchema>;
78
+ export declare function listTablesLogic(params: ListTablesInput, appContext: RequestContext, _sdkContext: SdkContext): Promise<ListTablesOutput>;
79
+ export declare const listTablesInSchemaTool: import("../../mcp-server/tools/utils/types.js").ToolDefinition<{
80
+ schema_name: z.ZodString;
81
+ table_filter: z.ZodDefault<z.ZodString>;
82
+ limit: z.ZodDefault<z.ZodNumber>;
83
+ offset: z.ZodDefault<z.ZodNumber>;
84
+ }, {
85
+ success: z.ZodBoolean;
86
+ data: z.ZodOptional<z.ZodArray<z.ZodRecord<z.ZodString, z.ZodUnknown>, "many">>;
87
+ rowCount: z.ZodOptional<z.ZodNumber>;
88
+ hasMore: z.ZodOptional<z.ZodBoolean>;
89
+ limit: z.ZodOptional<z.ZodNumber>;
90
+ offset: z.ZodOptional<z.ZodNumber>;
91
+ executionTime: z.ZodOptional<z.ZodNumber>;
92
+ error: z.ZodOptional<z.ZodObject<{
93
+ code: z.ZodString;
94
+ message: z.ZodString;
95
+ details: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
96
+ }, "strip", z.ZodTypeAny, {
97
+ code: string;
98
+ message: string;
99
+ details?: Record<string, unknown> | undefined;
100
+ }, {
101
+ code: string;
102
+ message: string;
103
+ details?: Record<string, unknown> | undefined;
104
+ }>>;
105
+ }>;
106
+ export {};
107
+ //# sourceMappingURL=listTablesInSchema.tool.d.ts.map