@neverinfamous/postgres-mcp 1.0.2 → 1.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 (224) hide show
  1. package/README.md +38 -19
  2. package/dist/__tests__/mocks/adapter.d.ts.map +1 -1
  3. package/dist/__tests__/mocks/adapter.js.map +1 -1
  4. package/dist/adapters/DatabaseAdapter.d.ts +5 -6
  5. package/dist/adapters/DatabaseAdapter.d.ts.map +1 -1
  6. package/dist/adapters/DatabaseAdapter.js +73 -52
  7. package/dist/adapters/DatabaseAdapter.js.map +1 -1
  8. package/dist/adapters/postgresql/PostgresAdapter.d.ts +13 -0
  9. package/dist/adapters/postgresql/PostgresAdapter.d.ts.map +1 -1
  10. package/dist/adapters/postgresql/PostgresAdapter.js +48 -3
  11. package/dist/adapters/postgresql/PostgresAdapter.js.map +1 -1
  12. package/dist/adapters/postgresql/schemas/admin.d.ts +42 -0
  13. package/dist/adapters/postgresql/schemas/admin.d.ts.map +1 -1
  14. package/dist/adapters/postgresql/schemas/admin.js +61 -0
  15. package/dist/adapters/postgresql/schemas/admin.js.map +1 -1
  16. package/dist/adapters/postgresql/schemas/backup.d.ts +119 -0
  17. package/dist/adapters/postgresql/schemas/backup.d.ts.map +1 -1
  18. package/dist/adapters/postgresql/schemas/backup.js +169 -0
  19. package/dist/adapters/postgresql/schemas/backup.js.map +1 -1
  20. package/dist/adapters/postgresql/schemas/core.d.ts +27 -0
  21. package/dist/adapters/postgresql/schemas/core.d.ts.map +1 -1
  22. package/dist/adapters/postgresql/schemas/core.js +62 -0
  23. package/dist/adapters/postgresql/schemas/core.js.map +1 -1
  24. package/dist/adapters/postgresql/schemas/cron.d.ts +117 -0
  25. package/dist/adapters/postgresql/schemas/cron.d.ts.map +1 -1
  26. package/dist/adapters/postgresql/schemas/cron.js +148 -1
  27. package/dist/adapters/postgresql/schemas/cron.js.map +1 -1
  28. package/dist/adapters/postgresql/schemas/extensions.d.ts +335 -0
  29. package/dist/adapters/postgresql/schemas/extensions.d.ts.map +1 -1
  30. package/dist/adapters/postgresql/schemas/extensions.js +453 -0
  31. package/dist/adapters/postgresql/schemas/extensions.js.map +1 -1
  32. package/dist/adapters/postgresql/schemas/index.d.ts +15 -15
  33. package/dist/adapters/postgresql/schemas/index.d.ts.map +1 -1
  34. package/dist/adapters/postgresql/schemas/index.js +56 -16
  35. package/dist/adapters/postgresql/schemas/index.js.map +1 -1
  36. package/dist/adapters/postgresql/schemas/jsonb.d.ts +408 -21
  37. package/dist/adapters/postgresql/schemas/jsonb.d.ts.map +1 -1
  38. package/dist/adapters/postgresql/schemas/jsonb.js +544 -23
  39. package/dist/adapters/postgresql/schemas/jsonb.js.map +1 -1
  40. package/dist/adapters/postgresql/schemas/monitoring.d.ts +179 -0
  41. package/dist/adapters/postgresql/schemas/monitoring.d.ts.map +1 -1
  42. package/dist/adapters/postgresql/schemas/monitoring.js +240 -0
  43. package/dist/adapters/postgresql/schemas/monitoring.js.map +1 -1
  44. package/dist/adapters/postgresql/schemas/partitioning.d.ts +57 -0
  45. package/dist/adapters/postgresql/schemas/partitioning.d.ts.map +1 -1
  46. package/dist/adapters/postgresql/schemas/partitioning.js +84 -0
  47. package/dist/adapters/postgresql/schemas/partitioning.js.map +1 -1
  48. package/dist/adapters/postgresql/schemas/partman.d.ts +156 -0
  49. package/dist/adapters/postgresql/schemas/partman.d.ts.map +1 -1
  50. package/dist/adapters/postgresql/schemas/partman.js +203 -0
  51. package/dist/adapters/postgresql/schemas/partman.js.map +1 -1
  52. package/dist/adapters/postgresql/schemas/performance.d.ts +123 -0
  53. package/dist/adapters/postgresql/schemas/performance.d.ts.map +1 -1
  54. package/dist/adapters/postgresql/schemas/performance.js +221 -0
  55. package/dist/adapters/postgresql/schemas/performance.js.map +1 -1
  56. package/dist/adapters/postgresql/schemas/postgis.d.ts +173 -0
  57. package/dist/adapters/postgresql/schemas/postgis.d.ts.map +1 -1
  58. package/dist/adapters/postgresql/schemas/postgis.js +279 -0
  59. package/dist/adapters/postgresql/schemas/postgis.js.map +1 -1
  60. package/dist/adapters/postgresql/schemas/schema-mgmt.d.ts +100 -0
  61. package/dist/adapters/postgresql/schemas/schema-mgmt.d.ts.map +1 -1
  62. package/dist/adapters/postgresql/schemas/schema-mgmt.js +133 -0
  63. package/dist/adapters/postgresql/schemas/schema-mgmt.js.map +1 -1
  64. package/dist/adapters/postgresql/schemas/stats.d.ts +248 -4
  65. package/dist/adapters/postgresql/schemas/stats.d.ts.map +1 -1
  66. package/dist/adapters/postgresql/schemas/stats.js +362 -0
  67. package/dist/adapters/postgresql/schemas/stats.js.map +1 -1
  68. package/dist/adapters/postgresql/schemas/text-search.d.ts +47 -0
  69. package/dist/adapters/postgresql/schemas/text-search.d.ts.map +1 -1
  70. package/dist/adapters/postgresql/schemas/text-search.js +62 -0
  71. package/dist/adapters/postgresql/schemas/text-search.js.map +1 -1
  72. package/dist/adapters/postgresql/schemas/vector.d.ts +252 -0
  73. package/dist/adapters/postgresql/schemas/vector.d.ts.map +1 -1
  74. package/dist/adapters/postgresql/schemas/vector.js +373 -0
  75. package/dist/adapters/postgresql/schemas/vector.js.map +1 -1
  76. package/dist/adapters/postgresql/tools/admin.d.ts.map +1 -1
  77. package/dist/adapters/postgresql/tools/admin.js +37 -7
  78. package/dist/adapters/postgresql/tools/admin.js.map +1 -1
  79. package/dist/adapters/postgresql/tools/backup/dump.d.ts.map +1 -1
  80. package/dist/adapters/postgresql/tools/backup/dump.js +14 -2
  81. package/dist/adapters/postgresql/tools/backup/dump.js.map +1 -1
  82. package/dist/adapters/postgresql/tools/backup/planning.d.ts.map +1 -1
  83. package/dist/adapters/postgresql/tools/backup/planning.js +6 -0
  84. package/dist/adapters/postgresql/tools/backup/planning.js.map +1 -1
  85. package/dist/adapters/postgresql/tools/citext.d.ts.map +1 -1
  86. package/dist/adapters/postgresql/tools/citext.js +9 -1
  87. package/dist/adapters/postgresql/tools/citext.js.map +1 -1
  88. package/dist/adapters/postgresql/tools/codemode/index.d.ts +11 -0
  89. package/dist/adapters/postgresql/tools/codemode/index.d.ts.map +1 -1
  90. package/dist/adapters/postgresql/tools/codemode/index.js +33 -0
  91. package/dist/adapters/postgresql/tools/codemode/index.js.map +1 -1
  92. package/dist/adapters/postgresql/tools/core/convenience.d.ts.map +1 -1
  93. package/dist/adapters/postgresql/tools/core/convenience.js +6 -0
  94. package/dist/adapters/postgresql/tools/core/convenience.js.map +1 -1
  95. package/dist/adapters/postgresql/tools/core/health.d.ts.map +1 -1
  96. package/dist/adapters/postgresql/tools/core/health.js +7 -2
  97. package/dist/adapters/postgresql/tools/core/health.js.map +1 -1
  98. package/dist/adapters/postgresql/tools/core/indexes.d.ts.map +1 -1
  99. package/dist/adapters/postgresql/tools/core/indexes.js +4 -0
  100. package/dist/adapters/postgresql/tools/core/indexes.js.map +1 -1
  101. package/dist/adapters/postgresql/tools/core/objects.d.ts.map +1 -1
  102. package/dist/adapters/postgresql/tools/core/objects.js +4 -1
  103. package/dist/adapters/postgresql/tools/core/objects.js.map +1 -1
  104. package/dist/adapters/postgresql/tools/core/query.d.ts.map +1 -1
  105. package/dist/adapters/postgresql/tools/core/query.js +3 -0
  106. package/dist/adapters/postgresql/tools/core/query.js.map +1 -1
  107. package/dist/adapters/postgresql/tools/core/schemas.d.ts +164 -0
  108. package/dist/adapters/postgresql/tools/core/schemas.d.ts.map +1 -1
  109. package/dist/adapters/postgresql/tools/core/schemas.js +238 -0
  110. package/dist/adapters/postgresql/tools/core/schemas.js.map +1 -1
  111. package/dist/adapters/postgresql/tools/core/tables.d.ts.map +1 -1
  112. package/dist/adapters/postgresql/tools/core/tables.js +5 -0
  113. package/dist/adapters/postgresql/tools/core/tables.js.map +1 -1
  114. package/dist/adapters/postgresql/tools/cron.d.ts.map +1 -1
  115. package/dist/adapters/postgresql/tools/cron.js +12 -2
  116. package/dist/adapters/postgresql/tools/cron.js.map +1 -1
  117. package/dist/adapters/postgresql/tools/jsonb/advanced.d.ts.map +1 -1
  118. package/dist/adapters/postgresql/tools/jsonb/advanced.js +56 -46
  119. package/dist/adapters/postgresql/tools/jsonb/advanced.js.map +1 -1
  120. package/dist/adapters/postgresql/tools/jsonb/basic.d.ts.map +1 -1
  121. package/dist/adapters/postgresql/tools/jsonb/basic.js +114 -72
  122. package/dist/adapters/postgresql/tools/jsonb/basic.js.map +1 -1
  123. package/dist/adapters/postgresql/tools/kcache.d.ts.map +1 -1
  124. package/dist/adapters/postgresql/tools/kcache.js +10 -1
  125. package/dist/adapters/postgresql/tools/kcache.js.map +1 -1
  126. package/dist/adapters/postgresql/tools/ltree.d.ts.map +1 -1
  127. package/dist/adapters/postgresql/tools/ltree.js +11 -1
  128. package/dist/adapters/postgresql/tools/ltree.js.map +1 -1
  129. package/dist/adapters/postgresql/tools/monitoring.d.ts.map +1 -1
  130. package/dist/adapters/postgresql/tools/monitoring.js +14 -1
  131. package/dist/adapters/postgresql/tools/monitoring.js.map +1 -1
  132. package/dist/adapters/postgresql/tools/partitioning.d.ts.map +1 -1
  133. package/dist/adapters/postgresql/tools/partitioning.js +9 -1
  134. package/dist/adapters/postgresql/tools/partitioning.js.map +1 -1
  135. package/dist/adapters/postgresql/tools/partman/management.d.ts.map +1 -1
  136. package/dist/adapters/postgresql/tools/partman/management.js +8 -1
  137. package/dist/adapters/postgresql/tools/partman/management.js.map +1 -1
  138. package/dist/adapters/postgresql/tools/partman/operations.d.ts.map +1 -1
  139. package/dist/adapters/postgresql/tools/partman/operations.js +8 -1
  140. package/dist/adapters/postgresql/tools/partman/operations.js.map +1 -1
  141. package/dist/adapters/postgresql/tools/performance/analysis.d.ts.map +1 -1
  142. package/dist/adapters/postgresql/tools/performance/analysis.js +4 -0
  143. package/dist/adapters/postgresql/tools/performance/analysis.js.map +1 -1
  144. package/dist/adapters/postgresql/tools/performance/explain.d.ts.map +1 -1
  145. package/dist/adapters/postgresql/tools/performance/explain.js +4 -1
  146. package/dist/adapters/postgresql/tools/performance/explain.js.map +1 -1
  147. package/dist/adapters/postgresql/tools/performance/monitoring.d.ts.map +1 -1
  148. package/dist/adapters/postgresql/tools/performance/monitoring.js +10 -8
  149. package/dist/adapters/postgresql/tools/performance/monitoring.js.map +1 -1
  150. package/dist/adapters/postgresql/tools/performance/optimization.d.ts.map +1 -1
  151. package/dist/adapters/postgresql/tools/performance/optimization.js +4 -0
  152. package/dist/adapters/postgresql/tools/performance/optimization.js.map +1 -1
  153. package/dist/adapters/postgresql/tools/performance/stats.d.ts.map +1 -1
  154. package/dist/adapters/postgresql/tools/performance/stats.js +9 -0
  155. package/dist/adapters/postgresql/tools/performance/stats.js.map +1 -1
  156. package/dist/adapters/postgresql/tools/pgcrypto.d.ts.map +1 -1
  157. package/dist/adapters/postgresql/tools/pgcrypto.js +12 -3
  158. package/dist/adapters/postgresql/tools/pgcrypto.js.map +1 -1
  159. package/dist/adapters/postgresql/tools/postgis/advanced.d.ts.map +1 -1
  160. package/dist/adapters/postgresql/tools/postgis/advanced.js +7 -1
  161. package/dist/adapters/postgresql/tools/postgis/advanced.js.map +1 -1
  162. package/dist/adapters/postgresql/tools/postgis/basic.d.ts.map +1 -1
  163. package/dist/adapters/postgresql/tools/postgis/basic.js +11 -1
  164. package/dist/adapters/postgresql/tools/postgis/basic.js.map +1 -1
  165. package/dist/adapters/postgresql/tools/postgis/standalone.d.ts.map +1 -1
  166. package/dist/adapters/postgresql/tools/postgis/standalone.js +6 -1
  167. package/dist/adapters/postgresql/tools/postgis/standalone.js.map +1 -1
  168. package/dist/adapters/postgresql/tools/schema.d.ts.map +1 -1
  169. package/dist/adapters/postgresql/tools/schema.js +15 -1
  170. package/dist/adapters/postgresql/tools/schema.js.map +1 -1
  171. package/dist/adapters/postgresql/tools/stats/advanced.d.ts.map +1 -1
  172. package/dist/adapters/postgresql/tools/stats/advanced.js +59 -20
  173. package/dist/adapters/postgresql/tools/stats/advanced.js.map +1 -1
  174. package/dist/adapters/postgresql/tools/stats/basic.d.ts.map +1 -1
  175. package/dist/adapters/postgresql/tools/stats/basic.js +35 -13
  176. package/dist/adapters/postgresql/tools/stats/basic.js.map +1 -1
  177. package/dist/adapters/postgresql/tools/text.d.ts.map +1 -1
  178. package/dist/adapters/postgresql/tools/text.js +43 -26
  179. package/dist/adapters/postgresql/tools/text.js.map +1 -1
  180. package/dist/adapters/postgresql/tools/transactions.d.ts.map +1 -1
  181. package/dist/adapters/postgresql/tools/transactions.js +10 -1
  182. package/dist/adapters/postgresql/tools/transactions.js.map +1 -1
  183. package/dist/adapters/postgresql/tools/vector/advanced.d.ts.map +1 -1
  184. package/dist/adapters/postgresql/tools/vector/advanced.js +29 -5
  185. package/dist/adapters/postgresql/tools/vector/advanced.js.map +1 -1
  186. package/dist/adapters/postgresql/tools/vector/basic.d.ts.map +1 -1
  187. package/dist/adapters/postgresql/tools/vector/basic.js +81 -28
  188. package/dist/adapters/postgresql/tools/vector/basic.js.map +1 -1
  189. package/dist/codemode/api.d.ts.map +1 -1
  190. package/dist/codemode/api.js +4 -0
  191. package/dist/codemode/api.js.map +1 -1
  192. package/dist/constants/ServerInstructions.d.ts +1 -1
  193. package/dist/constants/ServerInstructions.d.ts.map +1 -1
  194. package/dist/constants/ServerInstructions.js +13 -7
  195. package/dist/constants/ServerInstructions.js.map +1 -1
  196. package/dist/filtering/ToolConstants.d.ts +3 -3
  197. package/dist/filtering/ToolConstants.d.ts.map +1 -1
  198. package/dist/filtering/ToolConstants.js +4 -3
  199. package/dist/filtering/ToolConstants.js.map +1 -1
  200. package/dist/types/adapters.d.ts +2 -0
  201. package/dist/types/adapters.d.ts.map +1 -1
  202. package/dist/types/oauth.d.ts +4 -0
  203. package/dist/types/oauth.d.ts.map +1 -1
  204. package/dist/utils/fts-config.d.ts +38 -0
  205. package/dist/utils/fts-config.d.ts.map +1 -0
  206. package/dist/utils/fts-config.js +64 -0
  207. package/dist/utils/fts-config.js.map +1 -0
  208. package/dist/utils/identifiers.d.ts +21 -0
  209. package/dist/utils/identifiers.d.ts.map +1 -1
  210. package/dist/utils/identifiers.js +48 -0
  211. package/dist/utils/identifiers.js.map +1 -1
  212. package/dist/utils/logger.d.ts +22 -1
  213. package/dist/utils/logger.d.ts.map +1 -1
  214. package/dist/utils/logger.js +71 -14
  215. package/dist/utils/logger.js.map +1 -1
  216. package/dist/utils/progress-utils.d.ts +44 -0
  217. package/dist/utils/progress-utils.d.ts.map +1 -0
  218. package/dist/utils/progress-utils.js +75 -0
  219. package/dist/utils/progress-utils.js.map +1 -0
  220. package/dist/utils/where-clause.d.ts +39 -0
  221. package/dist/utils/where-clause.d.ts.map +1 -0
  222. package/dist/utils/where-clause.js +123 -0
  223. package/dist/utils/where-clause.js.map +1 -0
  224. package/package.json +5 -5
@@ -6,7 +6,15 @@
6
6
  import { z } from "zod";
7
7
  import { readOnly, write } from "../../../../utils/annotations.js";
8
8
  import { getToolIcons } from "../../../../utils/icons.js";
9
- import { JsonbExtractSchema, JsonbSetSchema, JsonbContainsSchema, JsonbPathQuerySchema, JsonbInsertSchema, JsonbDeleteSchema, normalizePathToArray, normalizePathForInsert, parseJsonbValue, } from "../../schemas/index.js";
9
+ import {
10
+ // Base schemas (for MCP inputSchema visibility)
11
+ JsonbExtractSchemaBase, JsonbSetSchemaBase, JsonbContainsSchemaBase, JsonbPathQuerySchemaBase, JsonbInsertSchemaBase, JsonbDeleteSchemaBase, JsonbTypeofSchemaBase, JsonbKeysSchemaBase, JsonbStripNullsSchemaBase, JsonbAggSchemaBase,
12
+ // Full schemas (for handler parsing - with preprocess)
13
+ JsonbExtractSchema, JsonbSetSchema, JsonbContainsSchema, JsonbPathQuerySchema, JsonbInsertSchema, JsonbDeleteSchema, JsonbTypeofSchema, JsonbKeysSchema, JsonbStripNullsSchema, JsonbAggSchema,
14
+ // Path utilities
15
+ normalizePathToArray, normalizePathForInsert, parseJsonbValue,
16
+ // Output schemas
17
+ JsonbExtractOutputSchema, JsonbSetOutputSchema, JsonbInsertOutputSchema, JsonbDeleteOutputSchema, JsonbContainsOutputSchema, JsonbPathQueryOutputSchema, JsonbAggOutputSchema, JsonbObjectOutputSchema, JsonbArrayOutputSchema, JsonbKeysOutputSchema, JsonbStripNullsOutputSchema, JsonbTypeofOutputSchema, } from "../../schemas/index.js";
10
18
  /**
11
19
  * Convert value to a valid JSON string for PostgreSQL's ::jsonb cast
12
20
  * Always uses JSON.stringify to ensure proper encoding
@@ -19,7 +27,8 @@ export function createJsonbExtractTool(adapter) {
19
27
  name: "pg_jsonb_extract",
20
28
  description: "Extract value from JSONB at specified path. Returns null if path does not exist in data structure. Use select param to include identifying columns.",
21
29
  group: "jsonb",
22
- inputSchema: JsonbExtractSchema,
30
+ inputSchema: JsonbExtractSchemaBase,
31
+ outputSchema: JsonbExtractOutputSchema,
23
32
  annotations: readOnly("JSONB Extract"),
24
33
  icons: getToolIcons("jsonb", readOnly("JSONB Extract")),
25
34
  handler: async (params, _context) => {
@@ -28,8 +37,14 @@ export function createJsonbExtractTool(adapter) {
28
37
  const limitClause = parsed.limit !== undefined ? ` LIMIT ${String(parsed.limit)}` : "";
29
38
  // Use normalizePathToArray for PostgreSQL #> operator
30
39
  const pathArray = normalizePathToArray(parsed.path);
40
+ // After preprocess and refine, table and column are guaranteed set
41
+ const table = parsed.table ?? parsed.tableName;
42
+ const column = parsed.column ?? parsed.col;
43
+ if (!table || !column) {
44
+ throw new Error("table and column are required");
45
+ }
31
46
  // Build select expression with optional additional columns
32
- let selectExpr = `"${parsed.column}" #> $1 as extracted_value`;
47
+ let selectExpr = `"${column}" #> $1 as extracted_value`;
33
48
  if (parsed.select !== undefined && parsed.select.length > 0) {
34
49
  const additionalCols = parsed.select
35
50
  .map((c) => {
@@ -43,7 +58,7 @@ export function createJsonbExtractTool(adapter) {
43
58
  .join(", ");
44
59
  selectExpr = `${additionalCols}, ${selectExpr}`;
45
60
  }
46
- const sql = `SELECT ${selectExpr} FROM "${parsed.table}"${whereClause}${limitClause}`;
61
+ const sql = `SELECT ${selectExpr} FROM "${table}"${whereClause}${limitClause}`;
47
62
  const result = await adapter.executeQuery(sql, [pathArray]);
48
63
  // If select columns were provided, return full row objects
49
64
  if (parsed.select !== undefined && parsed.select.length > 0) {
@@ -93,12 +108,19 @@ export function createJsonbSetTool(adapter) {
93
108
  name: "pg_jsonb_set",
94
109
  description: "Set value in JSONB at path. Uses dot-notation by default; for literal dots in keys use array format [\"key.with.dots\"]. Use empty path ('' or []) to replace entire column value.",
95
110
  group: "jsonb",
96
- inputSchema: JsonbSetSchema,
111
+ inputSchema: JsonbSetSchemaBase,
112
+ outputSchema: JsonbSetOutputSchema,
97
113
  annotations: write("JSONB Set"),
98
114
  icons: getToolIcons("jsonb", write("JSONB Set")),
99
115
  handler: async (params, _context) => {
100
116
  const parsed = JsonbSetSchema.parse(params);
101
- const { table, column, value, where, createMissing } = parsed;
117
+ // Resolve table/column from optional aliases
118
+ const table = parsed.table ?? parsed.tableName;
119
+ const column = parsed.column ?? parsed.col;
120
+ if (!table || !column) {
121
+ throw new Error("table and column are required");
122
+ }
123
+ const { value, where, createMissing } = parsed;
102
124
  // Normalize path to array format
103
125
  const path = normalizePathToArray(parsed.path);
104
126
  // Validate required 'where' parameter
@@ -165,11 +187,18 @@ export function createJsonbInsertTool(adapter) {
165
187
  name: "pg_jsonb_insert",
166
188
  description: "Insert value into JSONB array. Index -1 inserts BEFORE last element; use insertAfter:true with -1 to append at end.",
167
189
  group: "jsonb",
168
- inputSchema: JsonbInsertSchema,
190
+ inputSchema: JsonbInsertSchemaBase,
191
+ outputSchema: JsonbInsertOutputSchema,
169
192
  annotations: write("JSONB Insert"),
170
193
  icons: getToolIcons("jsonb", write("JSONB Insert")),
171
194
  handler: async (params, _context) => {
172
195
  const parsed = JsonbInsertSchema.parse(params);
196
+ // Resolve table/column from optional aliases
197
+ const table = parsed.table ?? parsed.tableName;
198
+ const column = parsed.column ?? parsed.col;
199
+ if (!table || !column) {
200
+ throw new Error("table and column are required");
201
+ }
173
202
  // Normalize path - convert numeric segments to numbers for PostgreSQL
174
203
  const path = normalizePathForInsert(parsed.path);
175
204
  // Validate required 'where' parameter
@@ -177,18 +206,18 @@ export function createJsonbInsertTool(adapter) {
177
206
  throw new Error('pg_jsonb_insert requires a WHERE clause to identify rows to update. Example: where: "id = 1"');
178
207
  }
179
208
  // Check for NULL columns first - jsonb_insert requires existing array context
180
- const checkSql = `SELECT COUNT(*) as null_count FROM "${parsed.table}" WHERE ${parsed.where} AND "${parsed.column}" IS NULL`;
209
+ const checkSql = `SELECT COUNT(*) as null_count FROM "${table}" WHERE ${parsed.where} AND "${column}" IS NULL`;
181
210
  const checkResult = await adapter.executeQuery(checkSql);
182
211
  const nullCount = Number(checkResult.rows?.[0]?.["null_count"] ?? 0);
183
212
  if (nullCount > 0) {
184
- throw new Error(`pg_jsonb_insert cannot operate on NULL columns. Use pg_jsonb_set to initialize the column first: pg_jsonb_set({table: "${parsed.table}", column: "${parsed.column}", path: "myarray", value: [], where: "..."})`);
213
+ throw new Error(`pg_jsonb_insert cannot operate on NULL columns. Use pg_jsonb_set to initialize the column first: pg_jsonb_set({table: "${table}", column: "${column}", path: "myarray", value: [], where: "..."})`);
185
214
  }
186
215
  // Validate target path points to an array, not an object
187
216
  // Get the parent path (one level up from where we're inserting)
188
217
  const parentPath = path.slice(0, -1);
189
218
  if (parentPath.length === 0) {
190
219
  // Inserting at root level - check column type
191
- const typeCheckSql = `SELECT jsonb_typeof("${parsed.column}") as type FROM "${parsed.table}" WHERE ${parsed.where} LIMIT 1`;
220
+ const typeCheckSql = `SELECT jsonb_typeof("${column}") as type FROM "${table}" WHERE ${parsed.where} LIMIT 1`;
192
221
  const typeResult = await adapter.executeQuery(typeCheckSql);
193
222
  const columnType = typeResult.rows?.[0]?.["type"];
194
223
  if (columnType && columnType !== "array") {
@@ -197,7 +226,7 @@ export function createJsonbInsertTool(adapter) {
197
226
  }
198
227
  else {
199
228
  // Check the parent path type
200
- const typeCheckSql = `SELECT jsonb_typeof("${parsed.column}" #> $1) as type FROM "${parsed.table}" WHERE ${parsed.where} LIMIT 1`;
229
+ const typeCheckSql = `SELECT jsonb_typeof("${column}" #> $1) as type FROM "${table}" WHERE ${parsed.where} LIMIT 1`;
201
230
  const parentPathStrings = parentPath.map((p) => String(p));
202
231
  const typeResult = await adapter.executeQuery(typeCheckSql, [
203
232
  parentPathStrings,
@@ -207,7 +236,7 @@ export function createJsonbInsertTool(adapter) {
207
236
  throw new Error(`pg_jsonb_insert requires an array target. Path '${parentPathStrings.join(".")}' contains '${targetType}'. Use pg_jsonb_set for objects.`);
208
237
  }
209
238
  }
210
- const sql = `UPDATE "${parsed.table}" SET "${parsed.column}" = jsonb_insert("${parsed.column}", $1, $2::jsonb, $3) WHERE ${parsed.where}`;
239
+ const sql = `UPDATE "${table}" SET "${column}" = jsonb_insert("${column}", $1, $2::jsonb, $3) WHERE ${parsed.where}`;
211
240
  try {
212
241
  const result = await adapter.executeQuery(sql, [
213
242
  path,
@@ -236,11 +265,18 @@ export function createJsonbDeleteTool(adapter) {
236
265
  name: "pg_jsonb_delete",
237
266
  description: "Delete a key or array element from a JSONB column. Accepts path as string or array. Note: rowsAffected reflects matched rows, not whether key existed.",
238
267
  group: "jsonb",
239
- inputSchema: JsonbDeleteSchema,
268
+ inputSchema: JsonbDeleteSchemaBase,
269
+ outputSchema: JsonbDeleteOutputSchema,
240
270
  annotations: write("JSONB Delete"),
241
271
  icons: getToolIcons("jsonb", write("JSONB Delete")),
242
272
  handler: async (params, _context) => {
243
273
  const parsed = JsonbDeleteSchema.parse(params);
274
+ // Resolve table/column from optional aliases
275
+ const table = parsed.table ?? parsed.tableName;
276
+ const column = parsed.column ?? parsed.col;
277
+ if (!table || !column) {
278
+ throw new Error("table and column are required");
279
+ }
244
280
  // Validate required 'where' parameter
245
281
  if (!parsed.where || parsed.where.trim() === "") {
246
282
  throw new Error('pg_jsonb_delete requires a WHERE clause to identify rows to update. Example: where: "id = 1"');
@@ -284,7 +320,7 @@ export function createJsonbDeleteTool(adapter) {
284
320
  useArrayOperator = false;
285
321
  }
286
322
  const pathExpr = useArrayOperator ? `#- $1` : `- $1`;
287
- const sql = `UPDATE "${parsed.table}" SET "${parsed.column}" = "${parsed.column}" ${pathExpr} WHERE ${parsed.where}`;
323
+ const sql = `UPDATE "${table}" SET "${column}" = "${column}" ${pathExpr} WHERE ${parsed.where}`;
288
324
  const result = await adapter.executeQuery(sql, [pathForPostgres]);
289
325
  return {
290
326
  rowsAffected: result.rowsAffected,
@@ -298,12 +334,19 @@ export function createJsonbContainsTool(adapter) {
298
334
  name: "pg_jsonb_contains",
299
335
  description: "Find rows where JSONB column contains the specified value. Note: Empty object {} matches all rows.",
300
336
  group: "jsonb",
301
- inputSchema: JsonbContainsSchema,
337
+ inputSchema: JsonbContainsSchemaBase,
338
+ outputSchema: JsonbContainsOutputSchema,
302
339
  annotations: readOnly("JSONB Contains"),
303
340
  icons: getToolIcons("jsonb", readOnly("JSONB Contains")),
304
341
  handler: async (params, _context) => {
305
342
  const parsed = JsonbContainsSchema.parse(params);
306
- const { table, column, select, where } = parsed;
343
+ // Resolve table/column from optional aliases
344
+ const table = parsed.table ?? parsed.tableName;
345
+ const column = parsed.column ?? parsed.col;
346
+ if (!table || !column) {
347
+ throw new Error("table and column are required");
348
+ }
349
+ const { select, where } = parsed;
307
350
  // Parse JSON string values from MCP clients
308
351
  const value = parseJsonbValue(parsed.value);
309
352
  const selectCols = select !== undefined && select.length > 0
@@ -336,11 +379,19 @@ export function createJsonbPathQueryTool(adapter) {
336
379
  name: "pg_jsonb_path_query",
337
380
  description: "Query JSONB using SQL/JSON path expressions (PostgreSQL 12+). Note: Recursive descent (..) syntax is not supported by PostgreSQL.",
338
381
  group: "jsonb",
339
- inputSchema: JsonbPathQuerySchema,
382
+ inputSchema: JsonbPathQuerySchemaBase,
383
+ outputSchema: JsonbPathQueryOutputSchema,
340
384
  annotations: readOnly("JSONB Path Query"),
341
385
  icons: getToolIcons("jsonb", readOnly("JSONB Path Query")),
342
386
  handler: async (params, _context) => {
343
- const { table, column, path, vars, where } = JsonbPathQuerySchema.parse(params);
387
+ const parsed = JsonbPathQuerySchema.parse(params);
388
+ // Resolve table/column from optional aliases
389
+ const table = parsed.table ?? parsed.tableName;
390
+ const column = parsed.column ?? parsed.col;
391
+ if (!table || !column) {
392
+ throw new Error("table and column are required");
393
+ }
394
+ const { path, vars, where } = parsed;
344
395
  const whereClause = where ? ` WHERE ${where}` : "";
345
396
  const varsJson = vars ? JSON.stringify(vars) : "{}";
346
397
  const sql = `SELECT jsonb_path_query("${column}", $1::jsonpath, $2::jsonb) as result FROM "${table}"${whereClause}`;
@@ -377,30 +428,17 @@ export function createJsonbAggTool(adapter) {
377
428
  name: "pg_jsonb_agg",
378
429
  description: "Aggregate rows into a JSONB array. With groupBy, returns all groups with their aggregated items.",
379
430
  group: "jsonb",
380
- inputSchema: z.object({
381
- table: z.string(),
382
- select: z
383
- .array(z.string())
384
- .optional()
385
- .describe('Columns or expressions to include. Supports AS aliases: ["id", "metadata->\'name\' AS name"]'),
386
- where: z.string().optional(),
387
- groupBy: z
388
- .string()
389
- .optional()
390
- .describe("Column or expression to group by. Returns {result: [{group_key, items}], count, grouped: true}"),
391
- orderBy: z
392
- .string()
393
- .optional()
394
- .describe('ORDER BY clause (e.g., "id DESC", "name ASC")'),
395
- limit: z
396
- .number()
397
- .optional()
398
- .describe("Maximum number of rows to aggregate"),
399
- }),
431
+ inputSchema: JsonbAggSchemaBase,
432
+ outputSchema: JsonbAggOutputSchema,
400
433
  annotations: readOnly("JSONB Aggregate"),
401
434
  icons: getToolIcons("jsonb", readOnly("JSONB Aggregate")),
402
435
  handler: async (params, _context) => {
403
- const parsed = params;
436
+ // Parse with preprocess schema to resolve aliases (tableName→table, filter→where)
437
+ const parsed = JsonbAggSchema.parse(params);
438
+ const table = parsed.table;
439
+ if (!table) {
440
+ throw new Error("table is required");
441
+ }
404
442
  // Build select expression with proper alias handling
405
443
  let selectExpr;
406
444
  if (parsed.select !== undefined && parsed.select.length > 0) {
@@ -434,7 +472,7 @@ export function createJsonbAggTool(adapter) {
434
472
  const groupClause = ` GROUP BY ${groupExpr}`;
435
473
  // Apply ordering within each group using ORDER BY inside jsonb_agg
436
474
  const aggOrderBy = parsed.orderBy ? ` ORDER BY ${parsed.orderBy}` : "";
437
- const sql = `SELECT ${groupExpr} as group_key, jsonb_agg(${selectExpr}${aggOrderBy}) as items FROM "${parsed.table}" t${whereClause}${groupClause}${limitClause}`;
475
+ const sql = `SELECT ${groupExpr} as group_key, jsonb_agg(${selectExpr}${aggOrderBy}) as items FROM "${table}" t${whereClause}${groupClause}${limitClause}`;
438
476
  const result = await adapter.executeQuery(sql);
439
477
  // Return grouped result with group_key and items per group
440
478
  return {
@@ -445,7 +483,7 @@ export function createJsonbAggTool(adapter) {
445
483
  }
446
484
  else {
447
485
  // For non-grouped, use subquery to apply limit/order before aggregation
448
- const innerSql = `SELECT * FROM "${parsed.table}" t${whereClause}${orderByClause}${limitClause}`;
486
+ const innerSql = `SELECT * FROM "${table}" t${whereClause}${orderByClause}${limitClause}`;
449
487
  const sql = `SELECT jsonb_agg(${selectExpr.replace(/\bt\./g, "sub.")}) as result FROM (${innerSql}) sub`;
450
488
  const result = await adapter.executeQuery(sql);
451
489
  const arr = result.rows?.[0]?.["result"] ?? [];
@@ -484,6 +522,7 @@ export function createJsonbObjectTool(adapter) {
484
522
  description: 'Build a JSONB object. Use data: {name: "John", age: 30} or object: {name: "John"}. Returns {object: {...}}.',
485
523
  group: "jsonb",
486
524
  inputSchema: JsonbObjectSchema,
525
+ outputSchema: JsonbObjectOutputSchema,
487
526
  annotations: readOnly("JSONB Object"),
488
527
  icons: getToolIcons("jsonb", readOnly("JSONB Object")),
489
528
  handler: async (params, _context) => {
@@ -524,6 +563,7 @@ export function createJsonbArrayTool(adapter) {
524
563
  description: "Build a JSONB array from values. Accepts {values: [...]} or {elements: [...]}. Returns {array: [...]}.",
525
564
  group: "jsonb",
526
565
  inputSchema: JsonbArraySchema,
566
+ outputSchema: JsonbArrayOutputSchema,
527
567
  annotations: readOnly("JSONB Array"),
528
568
  icons: getToolIcons("jsonb", readOnly("JSONB Array")),
529
569
  handler: async (params, _context) => {
@@ -547,17 +587,20 @@ export function createJsonbKeysTool(adapter) {
547
587
  name: "pg_jsonb_keys",
548
588
  description: "Get all unique keys from a JSONB object column (deduplicated across rows).",
549
589
  group: "jsonb",
550
- inputSchema: z.object({
551
- table: z.string(),
552
- column: z.string(),
553
- where: z.string().optional(),
554
- }),
590
+ inputSchema: JsonbKeysSchemaBase,
591
+ outputSchema: JsonbKeysOutputSchema,
555
592
  annotations: readOnly("JSONB Keys"),
556
593
  icons: getToolIcons("jsonb", readOnly("JSONB Keys")),
557
594
  handler: async (params, _context) => {
558
- const parsed = params;
595
+ // Parse with preprocess schema to resolve aliases (tableName→table, col→column, filter→where)
596
+ const parsed = JsonbKeysSchema.parse(params);
597
+ const table = parsed.table;
598
+ const column = parsed.column;
599
+ if (!table || !column) {
600
+ throw new Error("table and column are required");
601
+ }
559
602
  const whereClause = parsed.where ? ` WHERE ${parsed.where}` : "";
560
- const sql = `SELECT DISTINCT jsonb_object_keys("${parsed.column}") as key FROM "${parsed.table}"${whereClause}`;
603
+ const sql = `SELECT DISTINCT jsonb_object_keys("${column}") as key FROM "${table}"${whereClause}`;
561
604
  try {
562
605
  const result = await adapter.executeQuery(sql);
563
606
  const keys = result.rows?.map((r) => r["key"]);
@@ -583,26 +626,26 @@ export function createJsonbStripNullsTool(adapter) {
583
626
  name: "pg_jsonb_strip_nulls",
584
627
  description: "Remove null values from a JSONB column. Use preview=true to see changes without modifying data.",
585
628
  group: "jsonb",
586
- inputSchema: z.object({
587
- table: z.string(),
588
- column: z.string(),
589
- where: z.string(),
590
- preview: z
591
- .boolean()
592
- .optional()
593
- .describe("Preview what would be stripped without modifying data"),
594
- }),
629
+ inputSchema: JsonbStripNullsSchemaBase,
630
+ outputSchema: JsonbStripNullsOutputSchema,
595
631
  annotations: write("JSONB Strip Nulls"),
596
632
  icons: getToolIcons("jsonb", write("JSONB Strip Nulls")),
597
633
  handler: async (params, _context) => {
598
- const parsed = params;
634
+ // Parse with preprocess schema to resolve aliases (tableName→table, col→column, filter→where)
635
+ const parsed = JsonbStripNullsSchema.parse(params);
636
+ const table = parsed.table;
637
+ const column = parsed.column;
638
+ const whereClause = parsed.where;
639
+ if (!table || !column) {
640
+ throw new Error("table and column are required");
641
+ }
599
642
  // Validate required 'where' parameter before SQL execution
600
- if (!parsed.where || parsed.where.trim() === "") {
643
+ if (!whereClause || whereClause.trim() === "") {
601
644
  throw new Error('pg_jsonb_strip_nulls requires a WHERE clause to identify rows to update. Example: where: "id = 1"');
602
645
  }
603
646
  if (parsed.preview === true) {
604
647
  // Preview mode - show before/after without modifying
605
- const previewSql = `SELECT "${parsed.column}" as before, jsonb_strip_nulls("${parsed.column}") as after FROM "${parsed.table}" WHERE ${parsed.where}`;
648
+ const previewSql = `SELECT "${column}" as before, jsonb_strip_nulls("${column}") as after FROM "${table}" WHERE ${whereClause}`;
606
649
  const result = await adapter.executeQuery(previewSql);
607
650
  return {
608
651
  preview: true,
@@ -611,7 +654,7 @@ export function createJsonbStripNullsTool(adapter) {
611
654
  hint: "No changes made - preview only",
612
655
  };
613
656
  }
614
- const sql = `UPDATE "${parsed.table}" SET "${parsed.column}" = jsonb_strip_nulls("${parsed.column}") WHERE ${parsed.where}`;
657
+ const sql = `UPDATE "${table}" SET "${column}" = jsonb_strip_nulls("${column}") WHERE ${whereClause}`;
615
658
  const result = await adapter.executeQuery(sql);
616
659
  return { rowsAffected: result.rowsAffected };
617
660
  },
@@ -622,19 +665,18 @@ export function createJsonbTypeofTool(adapter) {
622
665
  name: "pg_jsonb_typeof",
623
666
  description: "Get JSONB type at path. Uses dot-notation (a.b.c), not JSONPath ($). Response includes columnNull to distinguish NULL columns.",
624
667
  group: "jsonb",
625
- inputSchema: z.object({
626
- table: z.string(),
627
- column: z.string(),
628
- path: z
629
- .union([z.string(), z.array(z.union([z.string(), z.number()]))])
630
- .optional()
631
- .describe("Path to check type of nested value (string or array format)"),
632
- where: z.string().optional(),
633
- }),
668
+ inputSchema: JsonbTypeofSchemaBase,
669
+ outputSchema: JsonbTypeofOutputSchema,
634
670
  annotations: readOnly("JSONB Typeof"),
635
671
  icons: getToolIcons("jsonb", readOnly("JSONB Typeof")),
636
672
  handler: async (params, _context) => {
637
- const parsed = params;
673
+ // Parse with preprocess schema to resolve aliases (tableName→table, col→column, filter→where)
674
+ const parsed = JsonbTypeofSchema.parse(params);
675
+ const table = parsed.table;
676
+ const column = parsed.column;
677
+ if (!table || !column) {
678
+ throw new Error("table and column are required");
679
+ }
638
680
  const whereClause = parsed.where ? ` WHERE ${parsed.where}` : "";
639
681
  // Normalize path to array format (accepts both string and array)
640
682
  const pathArray = parsed.path !== undefined
@@ -642,7 +684,7 @@ export function createJsonbTypeofTool(adapter) {
642
684
  : undefined;
643
685
  const pathExpr = pathArray !== undefined ? ` #> $1` : "";
644
686
  // Include column IS NULL check to disambiguate NULL column vs null path result
645
- const sql = `SELECT jsonb_typeof("${parsed.column}"${pathExpr}) as type, ("${parsed.column}" IS NULL) as column_null FROM "${parsed.table}"${whereClause}`;
687
+ const sql = `SELECT jsonb_typeof("${column}"${pathExpr}) as type, ("${column}" IS NULL) as column_null FROM "${table}"${whereClause}`;
646
688
  const queryParams = pathArray ? [pathArray] : [];
647
689
  const result = await adapter.executeQuery(sql, queryParams);
648
690
  const types = result.rows?.map((r) => r["type"]);
@@ -1 +1 @@
1
- {"version":3,"file":"basic.js","sourceRoot":"","sources":["../../../../../src/adapters/postgresql/tools/jsonb/basic.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"basic.js","sourceRoot":"","sources":["../../../../../src/adapters/postgresql/tools/jsonb/basic.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"kcache.d.ts","sourceRoot":"","sources":["../../../../src/adapters/postgresql/tools/kcache.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAkB,MAAM,yBAAyB,CAAC;AA4D9E;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,eAAe,GAAG,cAAc,EAAE,CAUzE"}
1
+ {"version":3,"file":"kcache.d.ts","sourceRoot":"","sources":["../../../../src/adapters/postgresql/tools/kcache.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAkB,MAAM,yBAAyB,CAAC;AAoE9E;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,eAAe,GAAG,cAAc,EAAE,CAUzE"}
@@ -14,7 +14,9 @@
14
14
  import { z } from "zod";
15
15
  import { readOnly, write, destructive } from "../../../utils/annotations.js";
16
16
  import { getToolIcons } from "../../../utils/icons.js";
17
- import { KcacheQueryStatsSchema, KcacheDatabaseStatsSchema, KcacheResourceAnalysisSchema, } from "../schemas/index.js";
17
+ import { KcacheQueryStatsSchema, KcacheDatabaseStatsSchema, KcacheResourceAnalysisSchema,
18
+ // Output schemas
19
+ KcacheCreateExtensionOutputSchema, KcacheQueryStatsOutputSchema, KcacheTopCpuOutputSchema, KcacheTopIoOutputSchema, KcacheDatabaseStatsOutputSchema, KcacheResourceAnalysisOutputSchema, KcacheResetOutputSchema, } from "../schemas/index.js";
18
20
  // Helper to handle undefined params (allows tools to be called without {})
19
21
  const defaultToEmpty = (val) => val ?? {};
20
22
  async function getKcacheColumnNames(adapter) {
@@ -66,6 +68,7 @@ function createKcacheExtensionTool(adapter) {
66
68
  Requires pg_stat_statements to be installed first. Both extensions must be in shared_preload_libraries.`,
67
69
  group: "kcache",
68
70
  inputSchema: z.object({}),
71
+ outputSchema: KcacheCreateExtensionOutputSchema,
69
72
  annotations: write("Create Kcache Extension"),
70
73
  icons: getToolIcons("kcache", write("Create Kcache Extension")),
71
74
  handler: async (_params, _context) => {
@@ -103,6 +106,7 @@ Joins pg_stat_statements with pg_stat_kcache to show what SQL did AND what syste
103
106
  orderBy options: 'total_time' (default), 'cpu_time', 'reads', 'writes'. Use minCalls parameter to filter by call count.`,
104
107
  group: "kcache",
105
108
  inputSchema: KcacheQueryStatsSchema,
109
+ outputSchema: KcacheQueryStatsOutputSchema,
106
110
  annotations: readOnly("Kcache Query Stats"),
107
111
  icons: getToolIcons("kcache", readOnly("Kcache Query Stats")),
108
112
  handler: async (params, _context) => {
@@ -195,6 +199,7 @@ in user CPU (application code) vs system CPU (kernel operations).`,
195
199
  .optional()
196
200
  .describe("Number of top queries to return (default: 10)"),
197
201
  })),
202
+ outputSchema: KcacheTopCpuOutputSchema,
198
203
  annotations: readOnly("Kcache Top CPU"),
199
204
  icons: getToolIcons("kcache", readOnly("Kcache Top CPU")),
200
205
  handler: async (params, _context) => {
@@ -288,6 +293,7 @@ which represent actual disk access (not just shared buffer hits).`,
288
293
  .optional()
289
294
  .describe("Number of top queries to return (default: 10)"),
290
295
  })),
296
+ outputSchema: KcacheTopIoOutputSchema,
291
297
  annotations: readOnly("Kcache Top IO"),
292
298
  icons: getToolIcons("kcache", readOnly("Kcache Top IO")),
293
299
  handler: async (params, _context) => {
@@ -371,6 +377,7 @@ function createKcacheDatabaseStatsTool(adapter) {
371
377
  Shows total CPU time, I/O, and page faults across all queries.`,
372
378
  group: "kcache",
373
379
  inputSchema: KcacheDatabaseStatsSchema,
380
+ outputSchema: KcacheDatabaseStatsOutputSchema,
374
381
  annotations: readOnly("Kcache Database Stats"),
375
382
  icons: getToolIcons("kcache", readOnly("Kcache Database Stats")),
376
383
  handler: async (params, _context) => {
@@ -436,6 +443,7 @@ function createKcacheResourceAnalysisTool(adapter) {
436
443
  Helps identify the root cause of performance issues - is the query computation-heavy or disk-heavy?`,
437
444
  group: "kcache",
438
445
  inputSchema: KcacheResourceAnalysisSchema,
446
+ outputSchema: KcacheResourceAnalysisOutputSchema,
439
447
  annotations: readOnly("Kcache Resource Analysis"),
440
448
  icons: getToolIcons("kcache", readOnly("Kcache Resource Analysis")),
441
449
  handler: async (params, _context) => {
@@ -559,6 +567,7 @@ function createKcacheResetTool(adapter) {
559
567
  Note: This also resets pg_stat_statements statistics.`,
560
568
  group: "kcache",
561
569
  inputSchema: z.object({}),
570
+ outputSchema: KcacheResetOutputSchema,
562
571
  annotations: destructive("Reset Kcache Stats"),
563
572
  icons: getToolIcons("kcache", destructive("Reset Kcache Stats")),
564
573
  handler: async (_params, _context) => {