@neverinfamous/postgres-mcp 1.3.0 → 2.0.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 (226) hide show
  1. package/README.md +177 -129
  2. package/dist/__tests__/benchmarks/codemode.bench.d.ts +10 -0
  3. package/dist/__tests__/benchmarks/codemode.bench.d.ts.map +1 -0
  4. package/dist/__tests__/benchmarks/codemode.bench.js +159 -0
  5. package/dist/__tests__/benchmarks/codemode.bench.js.map +1 -0
  6. package/dist/__tests__/benchmarks/connection-pool.bench.d.ts +10 -0
  7. package/dist/__tests__/benchmarks/connection-pool.bench.d.ts.map +1 -0
  8. package/dist/__tests__/benchmarks/connection-pool.bench.js +123 -0
  9. package/dist/__tests__/benchmarks/connection-pool.bench.js.map +1 -0
  10. package/dist/__tests__/benchmarks/handler-dispatch.bench.d.ts +11 -0
  11. package/dist/__tests__/benchmarks/handler-dispatch.bench.d.ts.map +1 -0
  12. package/dist/__tests__/benchmarks/handler-dispatch.bench.js +199 -0
  13. package/dist/__tests__/benchmarks/handler-dispatch.bench.js.map +1 -0
  14. package/dist/__tests__/benchmarks/logger-sanitization.bench.d.ts +15 -0
  15. package/dist/__tests__/benchmarks/logger-sanitization.bench.d.ts.map +1 -0
  16. package/dist/__tests__/benchmarks/logger-sanitization.bench.js +155 -0
  17. package/dist/__tests__/benchmarks/logger-sanitization.bench.js.map +1 -0
  18. package/dist/__tests__/benchmarks/resource-prompts.bench.d.ts +10 -0
  19. package/dist/__tests__/benchmarks/resource-prompts.bench.d.ts.map +1 -0
  20. package/dist/__tests__/benchmarks/resource-prompts.bench.js +181 -0
  21. package/dist/__tests__/benchmarks/resource-prompts.bench.js.map +1 -0
  22. package/dist/__tests__/benchmarks/schema-parsing.bench.d.ts +11 -0
  23. package/dist/__tests__/benchmarks/schema-parsing.bench.d.ts.map +1 -0
  24. package/dist/__tests__/benchmarks/schema-parsing.bench.js +209 -0
  25. package/dist/__tests__/benchmarks/schema-parsing.bench.js.map +1 -0
  26. package/dist/__tests__/benchmarks/tool-filtering.bench.d.ts +9 -0
  27. package/dist/__tests__/benchmarks/tool-filtering.bench.d.ts.map +1 -0
  28. package/dist/__tests__/benchmarks/tool-filtering.bench.js +83 -0
  29. package/dist/__tests__/benchmarks/tool-filtering.bench.js.map +1 -0
  30. package/dist/__tests__/benchmarks/transport-auth.bench.d.ts +10 -0
  31. package/dist/__tests__/benchmarks/transport-auth.bench.d.ts.map +1 -0
  32. package/dist/__tests__/benchmarks/transport-auth.bench.js +128 -0
  33. package/dist/__tests__/benchmarks/transport-auth.bench.js.map +1 -0
  34. package/dist/__tests__/benchmarks/utilities.bench.d.ts +10 -0
  35. package/dist/__tests__/benchmarks/utilities.bench.d.ts.map +1 -0
  36. package/dist/__tests__/benchmarks/utilities.bench.js +164 -0
  37. package/dist/__tests__/benchmarks/utilities.bench.js.map +1 -0
  38. package/dist/adapters/DatabaseAdapter.d.ts.map +1 -1
  39. package/dist/adapters/DatabaseAdapter.js +12 -0
  40. package/dist/adapters/DatabaseAdapter.js.map +1 -1
  41. package/dist/adapters/postgresql/PostgresAdapter.d.ts.map +1 -1
  42. package/dist/adapters/postgresql/PostgresAdapter.js +3 -0
  43. package/dist/adapters/postgresql/PostgresAdapter.js.map +1 -1
  44. package/dist/adapters/postgresql/schemas/backup.d.ts +37 -23
  45. package/dist/adapters/postgresql/schemas/backup.d.ts.map +1 -1
  46. package/dist/adapters/postgresql/schemas/backup.js +53 -22
  47. package/dist/adapters/postgresql/schemas/backup.js.map +1 -1
  48. package/dist/adapters/postgresql/schemas/extensions.d.ts +56 -37
  49. package/dist/adapters/postgresql/schemas/extensions.d.ts.map +1 -1
  50. package/dist/adapters/postgresql/schemas/extensions.js +68 -36
  51. package/dist/adapters/postgresql/schemas/extensions.js.map +1 -1
  52. package/dist/adapters/postgresql/schemas/index.d.ts +3 -2
  53. package/dist/adapters/postgresql/schemas/index.d.ts.map +1 -1
  54. package/dist/adapters/postgresql/schemas/index.js +8 -2
  55. package/dist/adapters/postgresql/schemas/index.js.map +1 -1
  56. package/dist/adapters/postgresql/schemas/introspection.d.ts +445 -0
  57. package/dist/adapters/postgresql/schemas/introspection.d.ts.map +1 -0
  58. package/dist/adapters/postgresql/schemas/introspection.js +478 -0
  59. package/dist/adapters/postgresql/schemas/introspection.js.map +1 -0
  60. package/dist/adapters/postgresql/schemas/jsonb.d.ts +8 -0
  61. package/dist/adapters/postgresql/schemas/jsonb.d.ts.map +1 -1
  62. package/dist/adapters/postgresql/schemas/jsonb.js +26 -2
  63. package/dist/adapters/postgresql/schemas/jsonb.js.map +1 -1
  64. package/dist/adapters/postgresql/schemas/monitoring.d.ts +41 -25
  65. package/dist/adapters/postgresql/schemas/monitoring.d.ts.map +1 -1
  66. package/dist/adapters/postgresql/schemas/monitoring.js +49 -16
  67. package/dist/adapters/postgresql/schemas/monitoring.js.map +1 -1
  68. package/dist/adapters/postgresql/schemas/partitioning.d.ts +16 -20
  69. package/dist/adapters/postgresql/schemas/partitioning.d.ts.map +1 -1
  70. package/dist/adapters/postgresql/schemas/partitioning.js +21 -10
  71. package/dist/adapters/postgresql/schemas/partitioning.js.map +1 -1
  72. package/dist/adapters/postgresql/schemas/partman.d.ts +69 -0
  73. package/dist/adapters/postgresql/schemas/partman.d.ts.map +1 -1
  74. package/dist/adapters/postgresql/schemas/partman.js +46 -33
  75. package/dist/adapters/postgresql/schemas/partman.js.map +1 -1
  76. package/dist/adapters/postgresql/schemas/performance.d.ts +37 -19
  77. package/dist/adapters/postgresql/schemas/performance.d.ts.map +1 -1
  78. package/dist/adapters/postgresql/schemas/performance.js +54 -12
  79. package/dist/adapters/postgresql/schemas/performance.js.map +1 -1
  80. package/dist/adapters/postgresql/schemas/postgis.d.ts.map +1 -1
  81. package/dist/adapters/postgresql/schemas/postgis.js +20 -0
  82. package/dist/adapters/postgresql/schemas/postgis.js.map +1 -1
  83. package/dist/adapters/postgresql/schemas/schema-mgmt.d.ts +15 -7
  84. package/dist/adapters/postgresql/schemas/schema-mgmt.d.ts.map +1 -1
  85. package/dist/adapters/postgresql/schemas/schema-mgmt.js +36 -7
  86. package/dist/adapters/postgresql/schemas/schema-mgmt.js.map +1 -1
  87. package/dist/adapters/postgresql/schemas/text-search.d.ts +26 -14
  88. package/dist/adapters/postgresql/schemas/text-search.d.ts.map +1 -1
  89. package/dist/adapters/postgresql/schemas/text-search.js +41 -9
  90. package/dist/adapters/postgresql/schemas/text-search.js.map +1 -1
  91. package/dist/adapters/postgresql/tools/admin.d.ts.map +1 -1
  92. package/dist/adapters/postgresql/tools/admin.js +82 -67
  93. package/dist/adapters/postgresql/tools/admin.js.map +1 -1
  94. package/dist/adapters/postgresql/tools/backup/dump.d.ts.map +1 -1
  95. package/dist/adapters/postgresql/tools/backup/dump.js +27 -24
  96. package/dist/adapters/postgresql/tools/backup/dump.js.map +1 -1
  97. package/dist/adapters/postgresql/tools/citext.js +114 -82
  98. package/dist/adapters/postgresql/tools/citext.js.map +1 -1
  99. package/dist/adapters/postgresql/tools/codemode/index.d.ts.map +1 -1
  100. package/dist/adapters/postgresql/tools/codemode/index.js +2 -11
  101. package/dist/adapters/postgresql/tools/codemode/index.js.map +1 -1
  102. package/dist/adapters/postgresql/tools/core/convenience.d.ts.map +1 -1
  103. package/dist/adapters/postgresql/tools/core/convenience.js +23 -8
  104. package/dist/adapters/postgresql/tools/core/convenience.js.map +1 -1
  105. package/dist/adapters/postgresql/tools/core/indexes.d.ts.map +1 -1
  106. package/dist/adapters/postgresql/tools/core/indexes.js +3 -2
  107. package/dist/adapters/postgresql/tools/core/indexes.js.map +1 -1
  108. package/dist/adapters/postgresql/tools/core/tables.d.ts.map +1 -1
  109. package/dist/adapters/postgresql/tools/core/tables.js +4 -4
  110. package/dist/adapters/postgresql/tools/core/tables.js.map +1 -1
  111. package/dist/adapters/postgresql/tools/cron.js +59 -27
  112. package/dist/adapters/postgresql/tools/cron.js.map +1 -1
  113. package/dist/adapters/postgresql/tools/introspection.d.ts +15 -0
  114. package/dist/adapters/postgresql/tools/introspection.d.ts.map +1 -0
  115. package/dist/adapters/postgresql/tools/introspection.js +1682 -0
  116. package/dist/adapters/postgresql/tools/introspection.js.map +1 -0
  117. package/dist/adapters/postgresql/tools/jsonb/advanced.d.ts.map +1 -1
  118. package/dist/adapters/postgresql/tools/jsonb/advanced.js +26 -17
  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 +92 -23
  122. package/dist/adapters/postgresql/tools/jsonb/basic.js.map +1 -1
  123. package/dist/adapters/postgresql/tools/ltree.d.ts.map +1 -1
  124. package/dist/adapters/postgresql/tools/ltree.js +17 -4
  125. package/dist/adapters/postgresql/tools/ltree.js.map +1 -1
  126. package/dist/adapters/postgresql/tools/monitoring.js +32 -21
  127. package/dist/adapters/postgresql/tools/monitoring.js.map +1 -1
  128. package/dist/adapters/postgresql/tools/partman/management.d.ts.map +1 -1
  129. package/dist/adapters/postgresql/tools/partman/management.js +32 -52
  130. package/dist/adapters/postgresql/tools/partman/management.js.map +1 -1
  131. package/dist/adapters/postgresql/tools/partman/operations.d.ts.map +1 -1
  132. package/dist/adapters/postgresql/tools/partman/operations.js +5 -5
  133. package/dist/adapters/postgresql/tools/partman/operations.js.map +1 -1
  134. package/dist/adapters/postgresql/tools/performance/analysis.d.ts.map +1 -1
  135. package/dist/adapters/postgresql/tools/performance/analysis.js +15 -8
  136. package/dist/adapters/postgresql/tools/performance/analysis.js.map +1 -1
  137. package/dist/adapters/postgresql/tools/performance/monitoring.d.ts.map +1 -1
  138. package/dist/adapters/postgresql/tools/performance/monitoring.js +10 -7
  139. package/dist/adapters/postgresql/tools/performance/monitoring.js.map +1 -1
  140. package/dist/adapters/postgresql/tools/performance/stats.d.ts.map +1 -1
  141. package/dist/adapters/postgresql/tools/performance/stats.js +62 -28
  142. package/dist/adapters/postgresql/tools/performance/stats.js.map +1 -1
  143. package/dist/adapters/postgresql/tools/pgcrypto.js +31 -11
  144. package/dist/adapters/postgresql/tools/pgcrypto.js.map +1 -1
  145. package/dist/adapters/postgresql/tools/postgis/advanced.d.ts.map +1 -1
  146. package/dist/adapters/postgresql/tools/postgis/advanced.js +30 -25
  147. package/dist/adapters/postgresql/tools/postgis/advanced.js.map +1 -1
  148. package/dist/adapters/postgresql/tools/postgis/basic.d.ts.map +1 -1
  149. package/dist/adapters/postgresql/tools/postgis/basic.js +24 -15
  150. package/dist/adapters/postgresql/tools/postgis/basic.js.map +1 -1
  151. package/dist/adapters/postgresql/tools/schema.js +79 -5
  152. package/dist/adapters/postgresql/tools/schema.js.map +1 -1
  153. package/dist/adapters/postgresql/tools/stats/advanced.d.ts.map +1 -1
  154. package/dist/adapters/postgresql/tools/stats/advanced.js +61 -39
  155. package/dist/adapters/postgresql/tools/stats/advanced.js.map +1 -1
  156. package/dist/adapters/postgresql/tools/stats/basic.d.ts.map +1 -1
  157. package/dist/adapters/postgresql/tools/stats/basic.js +45 -30
  158. package/dist/adapters/postgresql/tools/stats/basic.js.map +1 -1
  159. package/dist/adapters/postgresql/tools/text.js +327 -148
  160. package/dist/adapters/postgresql/tools/text.js.map +1 -1
  161. package/dist/auth/auth-context.d.ts +28 -0
  162. package/dist/auth/auth-context.d.ts.map +1 -0
  163. package/dist/auth/auth-context.js +37 -0
  164. package/dist/auth/auth-context.js.map +1 -0
  165. package/dist/auth/scope-map.d.ts +20 -0
  166. package/dist/auth/scope-map.d.ts.map +1 -0
  167. package/dist/auth/scope-map.js +40 -0
  168. package/dist/auth/scope-map.js.map +1 -0
  169. package/dist/auth/scopes.d.ts.map +1 -1
  170. package/dist/auth/scopes.js +2 -0
  171. package/dist/auth/scopes.js.map +1 -1
  172. package/dist/cli.js +1 -1
  173. package/dist/cli.js.map +1 -1
  174. package/dist/codemode/api.d.ts +1 -0
  175. package/dist/codemode/api.d.ts.map +1 -1
  176. package/dist/codemode/api.js +34 -0
  177. package/dist/codemode/api.js.map +1 -1
  178. package/dist/codemode/index.d.ts +0 -2
  179. package/dist/codemode/index.d.ts.map +1 -1
  180. package/dist/codemode/index.js +0 -4
  181. package/dist/codemode/index.js.map +1 -1
  182. package/dist/codemode/sandbox.d.ts +14 -1
  183. package/dist/codemode/sandbox.d.ts.map +1 -1
  184. package/dist/codemode/sandbox.js +58 -19
  185. package/dist/codemode/sandbox.js.map +1 -1
  186. package/dist/codemode/types.d.ts.map +1 -1
  187. package/dist/codemode/types.js +3 -0
  188. package/dist/codemode/types.js.map +1 -1
  189. package/dist/constants/ServerInstructions.d.ts +5 -1
  190. package/dist/constants/ServerInstructions.d.ts.map +1 -1
  191. package/dist/constants/ServerInstructions.js +91 -43
  192. package/dist/constants/ServerInstructions.js.map +1 -1
  193. package/dist/filtering/ToolConstants.d.ts +22 -19
  194. package/dist/filtering/ToolConstants.d.ts.map +1 -1
  195. package/dist/filtering/ToolConstants.js +48 -37
  196. package/dist/filtering/ToolConstants.js.map +1 -1
  197. package/dist/filtering/ToolFilter.d.ts.map +1 -1
  198. package/dist/filtering/ToolFilter.js +10 -13
  199. package/dist/filtering/ToolFilter.js.map +1 -1
  200. package/dist/pool/ConnectionPool.js +1 -1
  201. package/dist/pool/ConnectionPool.js.map +1 -1
  202. package/dist/transports/http.d.ts +1 -0
  203. package/dist/transports/http.d.ts.map +1 -1
  204. package/dist/transports/http.js +75 -21
  205. package/dist/transports/http.js.map +1 -1
  206. package/dist/types/filtering.d.ts +2 -2
  207. package/dist/types/filtering.d.ts.map +1 -1
  208. package/dist/utils/icons.d.ts.map +1 -1
  209. package/dist/utils/icons.js +5 -0
  210. package/dist/utils/icons.js.map +1 -1
  211. package/dist/utils/where-clause.d.ts.map +1 -1
  212. package/dist/utils/where-clause.js +24 -0
  213. package/dist/utils/where-clause.js.map +1 -1
  214. package/package.json +15 -12
  215. package/dist/codemode/sandbox-factory.d.ts +0 -72
  216. package/dist/codemode/sandbox-factory.d.ts.map +0 -1
  217. package/dist/codemode/sandbox-factory.js +0 -88
  218. package/dist/codemode/sandbox-factory.js.map +0 -1
  219. package/dist/codemode/worker-sandbox.d.ts +0 -82
  220. package/dist/codemode/worker-sandbox.d.ts.map +0 -1
  221. package/dist/codemode/worker-sandbox.js +0 -244
  222. package/dist/codemode/worker-sandbox.js.map +0 -1
  223. package/dist/codemode/worker-script.d.ts +0 -8
  224. package/dist/codemode/worker-script.d.ts.map +0 -1
  225. package/dist/codemode/worker-script.js +0 -113
  226. package/dist/codemode/worker-script.js.map +0 -1
@@ -6,6 +6,7 @@
6
6
  import { readOnly } from "../../../../utils/annotations.js";
7
7
  import { getToolIcons } from "../../../../utils/icons.js";
8
8
  import { formatPostgresError } from "../core/error-helpers.js";
9
+ import { sanitizeWhereClause } from "../../../../utils/where-clause.js";
9
10
  import {
10
11
  // Base schemas for MCP visibility
11
12
  StatsTimeSeriesSchemaBase, StatsDistributionSchemaBase, StatsHypothesisSchemaBase, StatsSamplingSchemaBase,
@@ -183,21 +184,28 @@ async function validateNumericColumn(adapter, table, column, schema) {
183
184
  "money",
184
185
  ];
185
186
  const typeCheckQuery = `
186
- SELECT data_type
187
- FROM information_schema.columns
188
- WHERE table_schema = '${schema}'
189
- AND table_name = '${table}'
190
- AND column_name = '${column}'
187
+ SELECT data_type
188
+ FROM information_schema.columns
189
+ WHERE table_schema = $1
190
+ AND table_name = $2
191
+ AND column_name = $3
191
192
  `;
192
- const typeResult = await adapter.executeQuery(typeCheckQuery);
193
+ const typeResult = await adapter.executeQuery(typeCheckQuery, [
194
+ schema,
195
+ table,
196
+ column,
197
+ ]);
193
198
  const typeRow = typeResult.rows?.[0];
194
199
  if (!typeRow) {
195
200
  // Check if table exists
196
201
  const tableCheckQuery = `
197
- SELECT 1 FROM information_schema.tables
198
- WHERE table_schema = '${schema}' AND table_name = '${table}'
202
+ SELECT 1 FROM information_schema.tables
203
+ WHERE table_schema = $1 AND table_name = $2
199
204
  `;
200
- const tableResult = await adapter.executeQuery(tableCheckQuery);
205
+ const tableResult = await adapter.executeQuery(tableCheckQuery, [
206
+ schema,
207
+ table,
208
+ ]);
201
209
  if (tableResult.rows?.length === 0) {
202
210
  throw new Error(`Table "${schema}.${table}" not found`);
203
211
  }
@@ -213,10 +221,13 @@ async function validateNumericColumn(adapter, table, column, schema) {
213
221
  */
214
222
  async function validateTableExists(adapter, table, schema) {
215
223
  const tableCheckQuery = `
216
- SELECT 1 FROM information_schema.tables
217
- WHERE table_schema = '${schema}' AND table_name = '${table}'
224
+ SELECT 1 FROM information_schema.tables
225
+ WHERE table_schema = $1 AND table_name = $2
218
226
  `;
219
- const tableResult = await adapter.executeQuery(tableCheckQuery);
227
+ const tableResult = await adapter.executeQuery(tableCheckQuery, [
228
+ schema,
229
+ table,
230
+ ]);
220
231
  if (tableResult.rows?.length === 0) {
221
232
  throw new Error(`Table "${schema}.${table}" not found`);
222
233
  }
@@ -240,7 +251,7 @@ export function createStatsTimeSeriesTool(adapter) {
240
251
  try {
241
252
  const { table, valueColumn, timeColumn, interval, aggregation, schema, where, params: queryParams, limit, groupBy, groupLimit, } = StatsTimeSeriesSchema.parse(params);
242
253
  const schemaPrefix = schema ? `"${schema}".` : "";
243
- const whereClause = where ? `WHERE ${where}` : "";
254
+ const whereClause = where ? `WHERE ${sanitizeWhereClause(where)}` : "";
244
255
  const agg = aggregation ?? "avg";
245
256
  // Handle limit: undefined uses default (100), 0 means no limit
246
257
  // Track whether user explicitly provided a limit
@@ -252,22 +263,29 @@ export function createStatsTimeSeriesTool(adapter) {
252
263
  // First check if table exists
253
264
  const schemaName = schema ?? "public";
254
265
  const tableCheckQuery = `
255
- SELECT 1 FROM information_schema.tables
256
- WHERE table_schema = '${schemaName}' AND table_name = '${table}'
266
+ SELECT 1 FROM information_schema.tables
267
+ WHERE table_schema = $1 AND table_name = $2
257
268
  `;
258
- const tableCheckResult = await adapter.executeQuery(tableCheckQuery);
269
+ const tableCheckResult = await adapter.executeQuery(tableCheckQuery, [
270
+ schemaName,
271
+ table,
272
+ ]);
259
273
  if (tableCheckResult.rows?.length === 0) {
260
274
  throw new Error(`Table "${schemaName}.${table}" not found`);
261
275
  }
262
276
  // Validate timeColumn is a timestamp/date type
263
277
  const typeCheckQuery = `
264
- SELECT data_type
265
- FROM information_schema.columns
266
- WHERE table_schema = '${schemaName}'
267
- AND table_name = '${table}'
268
- AND column_name = '${timeColumn}'
278
+ SELECT data_type
279
+ FROM information_schema.columns
280
+ WHERE table_schema = $1
281
+ AND table_name = $2
282
+ AND column_name = $3
269
283
  `;
270
- const typeResult = await adapter.executeQuery(typeCheckQuery);
284
+ const typeResult = await adapter.executeQuery(typeCheckQuery, [
285
+ schemaName,
286
+ table,
287
+ timeColumn,
288
+ ]);
271
289
  const typeRow = typeResult.rows?.[0];
272
290
  if (!typeRow) {
273
291
  throw new Error(`Column "${timeColumn}" not found in table "${schemaName}.${table}"`);
@@ -296,13 +314,17 @@ export function createStatsTimeSeriesTool(adapter) {
296
314
  "money",
297
315
  ];
298
316
  const valueTypeQuery = `
299
- SELECT data_type
300
- FROM information_schema.columns
301
- WHERE table_schema = '${schemaName}'
302
- AND table_name = '${table}'
303
- AND column_name = '${valueColumn}'
317
+ SELECT data_type
318
+ FROM information_schema.columns
319
+ WHERE table_schema = $1
320
+ AND table_name = $2
321
+ AND column_name = $3
304
322
  `;
305
- const valueTypeResult = await adapter.executeQuery(valueTypeQuery);
323
+ const valueTypeResult = await adapter.executeQuery(valueTypeQuery, [
324
+ schemaName,
325
+ table,
326
+ valueColumn,
327
+ ]);
306
328
  const valueTypeRow = valueTypeResult.rows?.[0];
307
329
  if (!valueTypeRow) {
308
330
  throw new Error(`Column "${valueColumn}" not found in table "${schemaName}.${table}"`);
@@ -339,7 +361,7 @@ export function createStatsTimeSeriesTool(adapter) {
339
361
  // First get total count of distinct groups for truncation indicator
340
362
  // COUNT(DISTINCT) excludes NULLs per SQL standard, so add 1 if any NULLs exist
341
363
  const groupCountSql = `
342
- SELECT COUNT(DISTINCT "${groupBy}") +
364
+ SELECT COUNT(DISTINCT "${groupBy}") +
343
365
  CASE WHEN COUNT(*) > COUNT("${groupBy}") THEN 1 ELSE 0 END as total_groups
344
366
  FROM ${schemaPrefix}"${table}"
345
367
  ${whereClause}
@@ -349,7 +371,7 @@ export function createStatsTimeSeriesTool(adapter) {
349
371
  ?.total_groups ?? 0);
350
372
  // Grouped time series
351
373
  const sql = `
352
- SELECT
374
+ SELECT
353
375
  "${groupBy}" as group_key,
354
376
  DATE_TRUNC('${interval}', "${timeColumn}") as time_bucket,
355
377
  ${agg.toUpperCase()}("${valueColumn}")::numeric(20,6) as value,
@@ -431,7 +453,7 @@ export function createStatsTimeSeriesTool(adapter) {
431
453
  totalCount = countRow ? Number(countRow.total_buckets) : undefined;
432
454
  }
433
455
  const sql = `
434
- SELECT
456
+ SELECT
435
457
  DATE_TRUNC('${interval}', "${timeColumn}") as time_bucket,
436
458
  ${agg.toUpperCase()}("${valueColumn}")::numeric(20,6) as value,
437
459
  COUNT(*) as count
@@ -488,7 +510,7 @@ export function createStatsDistributionTool(adapter) {
488
510
  const { table, column, buckets, schema, where, params: queryParams, groupBy, groupLimit, } = parsed;
489
511
  const schemaName = schema ?? "public";
490
512
  const schemaPrefix = schema ? `"${schema}".` : "";
491
- const whereClause = where ? `WHERE ${where}` : "";
513
+ const whereClause = where ? `WHERE ${sanitizeWhereClause(where)}` : "";
492
514
  const numBuckets = buckets ?? 10;
493
515
  // Validate column exists and is numeric
494
516
  await validateNumericColumn(adapter, table, column, schemaName);
@@ -501,7 +523,7 @@ export function createStatsDistributionTool(adapter) {
501
523
  : whereClause;
502
524
  const statsQuery = `
503
525
  WITH stats AS (
504
- SELECT
526
+ SELECT
505
527
  MIN("${column}") as min_val,
506
528
  MAX("${column}") as max_val,
507
529
  AVG("${column}") as mean,
@@ -511,7 +533,7 @@ export function createStatsDistributionTool(adapter) {
511
533
  ${filterClause}
512
534
  ),
513
535
  moments AS (
514
- SELECT
536
+ SELECT
515
537
  s.min_val,
516
538
  s.max_val,
517
539
  s.mean,
@@ -551,7 +573,7 @@ export function createStatsDistributionTool(adapter) {
551
573
  : `WHERE ${groupFilter}`
552
574
  : whereClause;
553
575
  const histogramQuery = `
554
- SELECT
576
+ SELECT
555
577
  WIDTH_BUCKET("${column}", ${String(minVal)}, ${String(maxVal + 0.0001)}, ${String(numBuckets)}) as bucket,
556
578
  COUNT(*) as frequency,
557
579
  MIN("${column}") as bucket_min,
@@ -674,7 +696,7 @@ export function createStatsHypothesisTool(adapter) {
674
696
  const { table, column, testType, hypothesizedMean, populationStdDev, schema, where, params: queryParams, groupBy, } = StatsHypothesisSchema.parse(params);
675
697
  const schemaName = schema ?? "public";
676
698
  const schemaPrefix = schema ? `"${schema}".` : "";
677
- const whereClause = where ? `WHERE ${where}` : "";
699
+ const whereClause = where ? `WHERE ${sanitizeWhereClause(where)}` : "";
678
700
  // Validate column exists and is numeric
679
701
  await validateNumericColumn(adapter, table, column, schemaName);
680
702
  // Helper to calculate test results from row stats
@@ -755,7 +777,7 @@ export function createStatsHypothesisTool(adapter) {
755
777
  if (groupBy !== undefined) {
756
778
  // Grouped hypothesis tests
757
779
  const sql = `
758
- SELECT
780
+ SELECT
759
781
  "${groupBy}" as group_key,
760
782
  COUNT("${column}") as n,
761
783
  AVG("${column}")::numeric(20,6) as mean,
@@ -790,7 +812,7 @@ export function createStatsHypothesisTool(adapter) {
790
812
  }
791
813
  // Ungrouped hypothesis test
792
814
  const sql = `
793
- SELECT
815
+ SELECT
794
816
  COUNT("${column}") as n,
795
817
  AVG("${column}")::numeric(20,6) as mean,
796
818
  STDDEV_SAMP("${column}")::numeric(20,6) as stddev
@@ -850,7 +872,7 @@ export function createStatsSamplingTool(adapter) {
850
872
  const columns = select && select.length > 0
851
873
  ? select.map((c) => `"${c}"`).join(", ")
852
874
  : "*";
853
- const whereClause = where ? `WHERE ${where}` : "";
875
+ const whereClause = where ? `WHERE ${sanitizeWhereClause(where)}` : "";
854
876
  const samplingMethod = method ?? "random";
855
877
  let sql;
856
878
  let note;
@@ -1 +1 @@
1
- {"version":3,"file":"advanced.js","sourceRoot":"","sources":["../../../../../src/adapters/postgresql/tools/stats/advanced.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"advanced.js","sourceRoot":"","sources":["../../../../../src/adapters/postgresql/tools/stats/advanced.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"basic.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/postgresql/tools/stats/basic.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,KAAK,EACV,cAAc,EAEf,MAAM,4BAA4B,CAAC;AA0BpC;;GAEG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,eAAe,GACvB,cAAc,CAoLhB;AAuDD;;GAEG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,eAAe,GACvB,cAAc,CA8IhB;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,eAAe,GACvB,cAAc,CA8JhB;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,eAAe,GACvB,cAAc,CAiKhB"}
1
+ {"version":3,"file":"basic.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/postgresql/tools/stats/basic.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,KAAK,EACV,cAAc,EAEf,MAAM,4BAA4B,CAAC;AA2BpC;;GAEG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,eAAe,GACvB,cAAc,CA2LhB;AA8DD;;GAEG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,eAAe,GACvB,cAAc,CA8IhB;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,eAAe,GACvB,cAAc,CA8JhB;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,eAAe,GACvB,cAAc,CAiKhB"}
@@ -6,6 +6,7 @@
6
6
  import { readOnly } from "../../../../utils/annotations.js";
7
7
  import { getToolIcons } from "../../../../utils/icons.js";
8
8
  import { formatPostgresError } from "../core/error-helpers.js";
9
+ import { sanitizeWhereClause } from "../../../../utils/where-clause.js";
9
10
  import {
10
11
  // Base schemas for MCP visibility
11
12
  StatsDescriptiveSchemaBase, StatsPercentilesSchemaBase, StatsCorrelationSchemaBase, StatsRegressionSchemaBase,
@@ -32,24 +33,31 @@ export function createStatsDescriptiveTool(adapter) {
32
33
  try {
33
34
  const { table, column, schema, where, params: queryParams, groupBy, } = StatsDescriptiveSchema.parse(params);
34
35
  const schemaPrefix = schema ? `"${schema}".` : "";
35
- const whereClause = where ? `WHERE ${where}` : "";
36
+ const whereClause = where ? `WHERE ${sanitizeWhereClause(where)}` : "";
36
37
  // Validate column is numeric type
37
38
  const typeCheckQuery = `
38
- SELECT data_type
39
- FROM information_schema.columns
40
- WHERE table_schema = '${schema ?? "public"}'
41
- AND table_name = '${table}'
42
- AND column_name = '${column}'
39
+ SELECT data_type
40
+ FROM information_schema.columns
41
+ WHERE table_schema = $1
42
+ AND table_name = $2
43
+ AND column_name = $3
43
44
  `;
44
- const typeResult = await adapter.executeQuery(typeCheckQuery);
45
+ const typeResult = await adapter.executeQuery(typeCheckQuery, [
46
+ schema ?? "public",
47
+ table,
48
+ column,
49
+ ]);
45
50
  const typeRow = typeResult.rows?.[0];
46
51
  if (!typeRow) {
47
52
  // Check if table exists
48
53
  const tableCheckQuery = `
49
- SELECT 1 FROM information_schema.tables
50
- WHERE table_schema = '${schema ?? "public"}' AND table_name = '${table}'
54
+ SELECT 1 FROM information_schema.tables
55
+ WHERE table_schema = $1 AND table_name = $2
51
56
  `;
52
- const tableResult = await adapter.executeQuery(tableCheckQuery);
57
+ const tableResult = await adapter.executeQuery(tableCheckQuery, [
58
+ schema ?? "public",
59
+ table,
60
+ ]);
53
61
  if (tableResult.rows?.length === 0) {
54
62
  throw new Error(`Table "${schema ?? "public"}.${table}" not found`);
55
63
  }
@@ -84,7 +92,7 @@ export function createStatsDescriptiveTool(adapter) {
84
92
  if (groupBy !== undefined) {
85
93
  // Grouped statistics
86
94
  const sql = `
87
- SELECT
95
+ SELECT
88
96
  "${groupBy}" as group_key,
89
97
  COUNT("${column}") as count,
90
98
  MIN("${column}") as min,
@@ -117,7 +125,7 @@ export function createStatsDescriptiveTool(adapter) {
117
125
  }
118
126
  // Ungrouped statistics (original behavior)
119
127
  const sql = `
120
- SELECT
128
+ SELECT
121
129
  COUNT("${column}") as count,
122
130
  MIN("${column}") as min,
123
131
  MAX("${column}") as max,
@@ -166,21 +174,28 @@ async function validateNumericColumn(adapter, table, column, schema) {
166
174
  "money",
167
175
  ];
168
176
  const typeCheckQuery = `
169
- SELECT data_type
170
- FROM information_schema.columns
171
- WHERE table_schema = '${schema}'
172
- AND table_name = '${table}'
173
- AND column_name = '${column}'
177
+ SELECT data_type
178
+ FROM information_schema.columns
179
+ WHERE table_schema = $1
180
+ AND table_name = $2
181
+ AND column_name = $3
174
182
  `;
175
- const typeResult = await adapter.executeQuery(typeCheckQuery);
183
+ const typeResult = await adapter.executeQuery(typeCheckQuery, [
184
+ schema,
185
+ table,
186
+ column,
187
+ ]);
176
188
  const typeRow = typeResult.rows?.[0];
177
189
  if (!typeRow) {
178
190
  // Check if table exists
179
191
  const tableCheckQuery = `
180
- SELECT 1 FROM information_schema.tables
181
- WHERE table_schema = '${schema}' AND table_name = '${table}'
192
+ SELECT 1 FROM information_schema.tables
193
+ WHERE table_schema = $1 AND table_name = $2
182
194
  `;
183
- const tableResult = await adapter.executeQuery(tableCheckQuery);
195
+ const tableResult = await adapter.executeQuery(tableCheckQuery, [
196
+ schema,
197
+ table,
198
+ ]);
184
199
  if (tableResult.rows?.length === 0) {
185
200
  throw new Error(`Table "${schema}.${table}" not found`);
186
201
  }
@@ -211,7 +226,7 @@ export function createStatsPercentilesTool(adapter) {
211
226
  await validateNumericColumn(adapter, table, column, schemaName);
212
227
  const pctiles = percentiles ?? [0.25, 0.5, 0.75];
213
228
  const schemaPrefix = schema ? `"${schema}".` : "";
214
- const whereClause = where ? `WHERE ${where}` : "";
229
+ const whereClause = where ? `WHERE ${sanitizeWhereClause(where)}` : "";
215
230
  const percentileSelects = pctiles
216
231
  .map((p) => `PERCENTILE_CONT(${String(p)}) WITHIN GROUP (ORDER BY "${column}") as p${String(Math.round(p * 100))}`)
217
232
  .join(",\n ");
@@ -230,7 +245,7 @@ export function createStatsPercentilesTool(adapter) {
230
245
  if (groupBy !== undefined) {
231
246
  // Grouped percentiles
232
247
  const sql = `
233
- SELECT
248
+ SELECT
234
249
  "${groupBy}" as group_key,
235
250
  ${percentileSelects}
236
251
  FROM ${schemaPrefix}"${table}"
@@ -261,7 +276,7 @@ export function createStatsPercentilesTool(adapter) {
261
276
  }
262
277
  // Ungrouped percentiles
263
278
  const sql = `
264
- SELECT
279
+ SELECT
265
280
  ${percentileSelects}
266
281
  FROM ${schemaPrefix}"${table}"
267
282
  ${whereClause}
@@ -308,7 +323,7 @@ export function createStatsCorrelationTool(adapter) {
308
323
  const { table, column1, column2, schema, where, params: queryParams, groupBy, } = parsed;
309
324
  const schemaName = schema ?? "public";
310
325
  const schemaPrefix = schema ? `"${schema}".` : "";
311
- const whereClause = where ? `WHERE ${where}` : "";
326
+ const whereClause = where ? `WHERE ${sanitizeWhereClause(where)}` : "";
312
327
  // Validate both columns exist and are numeric (with table-first error checking)
313
328
  await validateNumericColumn(adapter, table, column1, schemaName);
314
329
  await validateNumericColumn(adapter, table, column2, schemaName);
@@ -349,7 +364,7 @@ export function createStatsCorrelationTool(adapter) {
349
364
  if (groupBy !== undefined) {
350
365
  // Grouped correlation
351
366
  const sql = `
352
- SELECT
367
+ SELECT
353
368
  "${groupBy}" as group_key,
354
369
  CORR("${column1}", "${column2}")::numeric(10,6) as correlation,
355
370
  COVAR_POP("${column1}", "${column2}")::numeric(20,6) as covariance_pop,
@@ -378,7 +393,7 @@ export function createStatsCorrelationTool(adapter) {
378
393
  }
379
394
  // Ungrouped correlation
380
395
  const sql = `
381
- SELECT
396
+ SELECT
382
397
  CORR("${column1}", "${column2}")::numeric(10,6) as correlation,
383
398
  COVAR_POP("${column1}", "${column2}")::numeric(20,6) as covariance_pop,
384
399
  COVAR_SAMP("${column1}", "${column2}")::numeric(20,6) as covariance_sample,
@@ -430,7 +445,7 @@ export function createStatsRegressionTool(adapter) {
430
445
  const { table, xColumn, yColumn, schema, where, params: queryParams, groupBy, } = parsed;
431
446
  const schemaName = schema ?? "public";
432
447
  const schemaPrefix = schema ? `"${schema}".` : "";
433
- const whereClause = where ? `WHERE ${where}` : "";
448
+ const whereClause = where ? `WHERE ${sanitizeWhereClause(where)}` : "";
434
449
  // Validate both columns exist and are numeric
435
450
  await validateNumericColumn(adapter, table, xColumn, schemaName);
436
451
  await validateNumericColumn(adapter, table, yColumn, schemaName);
@@ -457,7 +472,7 @@ export function createStatsRegressionTool(adapter) {
457
472
  if (groupBy !== undefined) {
458
473
  // Grouped regression
459
474
  const sql = `
460
- SELECT
475
+ SELECT
461
476
  "${groupBy}" as group_key,
462
477
  REGR_SLOPE("${yColumn}", "${xColumn}")::numeric(20,6) as slope,
463
478
  REGR_INTERCEPT("${yColumn}", "${xColumn}")::numeric(20,6) as intercept,
@@ -489,7 +504,7 @@ export function createStatsRegressionTool(adapter) {
489
504
  }
490
505
  // Ungrouped regression
491
506
  const sql = `
492
- SELECT
507
+ SELECT
493
508
  REGR_SLOPE("${yColumn}", "${xColumn}")::numeric(20,6) as slope,
494
509
  REGR_INTERCEPT("${yColumn}", "${xColumn}")::numeric(20,6) as intercept,
495
510
  REGR_R2("${yColumn}", "${xColumn}")::numeric(10,6) as r_squared,
@@ -1 +1 @@
1
- {"version":3,"file":"basic.js","sourceRoot":"","sources":["../../../../../src/adapters/postgresql/tools/stats/basic.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"basic.js","sourceRoot":"","sources":["../../../../../src/adapters/postgresql/tools/stats/basic.ts"],"names":[],"mappings":"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"}