@neverinfamous/postgres-mcp 2.1.0 → 2.3.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 (133) hide show
  1. package/README.md +78 -201
  2. package/dist/__tests__/benchmarks/codemode.bench.js +3 -3
  3. package/dist/__tests__/benchmarks/codemode.bench.js.map +1 -1
  4. package/dist/__tests__/benchmarks/connection-pool.bench.js +3 -3
  5. package/dist/__tests__/benchmarks/connection-pool.bench.js.map +1 -1
  6. package/dist/__tests__/benchmarks/introspection-migration.bench.d.ts +11 -0
  7. package/dist/__tests__/benchmarks/introspection-migration.bench.d.ts.map +1 -0
  8. package/dist/__tests__/benchmarks/introspection-migration.bench.js +143 -0
  9. package/dist/__tests__/benchmarks/introspection-migration.bench.js.map +1 -0
  10. package/dist/__tests__/benchmarks/resource-prompts.bench.js +0 -64
  11. package/dist/__tests__/benchmarks/resource-prompts.bench.js.map +1 -1
  12. package/dist/__tests__/benchmarks/schema-parsing.bench.js +4 -4
  13. package/dist/__tests__/benchmarks/schema-parsing.bench.js.map +1 -1
  14. package/dist/__tests__/benchmarks/tool-filtering.bench.js +17 -8
  15. package/dist/__tests__/benchmarks/tool-filtering.bench.js.map +1 -1
  16. package/dist/adapters/DatabaseAdapter.d.ts +0 -4
  17. package/dist/adapters/DatabaseAdapter.d.ts.map +1 -1
  18. package/dist/adapters/DatabaseAdapter.js +11 -28
  19. package/dist/adapters/DatabaseAdapter.js.map +1 -1
  20. package/dist/adapters/postgresql/PostgresAdapter.d.ts +0 -4
  21. package/dist/adapters/postgresql/PostgresAdapter.d.ts.map +1 -1
  22. package/dist/adapters/postgresql/PostgresAdapter.js +3 -6
  23. package/dist/adapters/postgresql/PostgresAdapter.js.map +1 -1
  24. package/dist/adapters/postgresql/resources/capabilities.js +1 -1
  25. package/dist/adapters/postgresql/resources/cron.d.ts.map +1 -1
  26. package/dist/adapters/postgresql/resources/cron.js +2 -1
  27. package/dist/adapters/postgresql/resources/cron.js.map +1 -1
  28. package/dist/adapters/postgresql/schemas/core/queries.d.ts +4 -4
  29. package/dist/adapters/postgresql/schemas/core/transactions.d.ts +12 -0
  30. package/dist/adapters/postgresql/schemas/core/transactions.d.ts.map +1 -1
  31. package/dist/adapters/postgresql/schemas/core/transactions.js +18 -0
  32. package/dist/adapters/postgresql/schemas/core/transactions.js.map +1 -1
  33. package/dist/adapters/postgresql/schemas/index.d.ts +1 -1
  34. package/dist/adapters/postgresql/schemas/index.d.ts.map +1 -1
  35. package/dist/adapters/postgresql/schemas/index.js +1 -1
  36. package/dist/adapters/postgresql/schemas/index.js.map +1 -1
  37. package/dist/adapters/postgresql/schemas/introspection.d.ts +17 -37
  38. package/dist/adapters/postgresql/schemas/introspection.d.ts.map +1 -1
  39. package/dist/adapters/postgresql/schemas/introspection.js +73 -30
  40. package/dist/adapters/postgresql/schemas/introspection.js.map +1 -1
  41. package/dist/adapters/postgresql/schemas/partman.d.ts +1 -1
  42. package/dist/adapters/postgresql/schemas/vector.d.ts.map +1 -1
  43. package/dist/adapters/postgresql/schemas/vector.js +2 -4
  44. package/dist/adapters/postgresql/schemas/vector.js.map +1 -1
  45. package/dist/adapters/postgresql/tools/introspection/analysis.d.ts.map +1 -1
  46. package/dist/adapters/postgresql/tools/introspection/analysis.js +171 -139
  47. package/dist/adapters/postgresql/tools/introspection/analysis.js.map +1 -1
  48. package/dist/adapters/postgresql/tools/introspection/graph.d.ts +17 -1
  49. package/dist/adapters/postgresql/tools/introspection/graph.d.ts.map +1 -1
  50. package/dist/adapters/postgresql/tools/introspection/graph.js +55 -50
  51. package/dist/adapters/postgresql/tools/introspection/graph.js.map +1 -1
  52. package/dist/adapters/postgresql/tools/introspection/index.d.ts +9 -7
  53. package/dist/adapters/postgresql/tools/introspection/index.d.ts.map +1 -1
  54. package/dist/adapters/postgresql/tools/introspection/index.js +9 -14
  55. package/dist/adapters/postgresql/tools/introspection/index.js.map +1 -1
  56. package/dist/adapters/postgresql/tools/introspection/migration.d.ts +1 -1
  57. package/dist/adapters/postgresql/tools/introspection/migration.d.ts.map +1 -1
  58. package/dist/adapters/postgresql/tools/introspection/migration.js +75 -96
  59. package/dist/adapters/postgresql/tools/introspection/migration.js.map +1 -1
  60. package/dist/adapters/postgresql/tools/migration/index.d.ts +15 -0
  61. package/dist/adapters/postgresql/tools/migration/index.d.ts.map +1 -0
  62. package/dist/adapters/postgresql/tools/migration/index.js +23 -0
  63. package/dist/adapters/postgresql/tools/migration/index.js.map +1 -0
  64. package/dist/adapters/postgresql/tools/performance/anomaly-detection.d.ts +18 -0
  65. package/dist/adapters/postgresql/tools/performance/anomaly-detection.d.ts.map +1 -0
  66. package/dist/adapters/postgresql/tools/performance/anomaly-detection.js +546 -0
  67. package/dist/adapters/postgresql/tools/performance/anomaly-detection.js.map +1 -0
  68. package/dist/adapters/postgresql/tools/performance/diagnostics.d.ts +11 -0
  69. package/dist/adapters/postgresql/tools/performance/diagnostics.d.ts.map +1 -0
  70. package/dist/adapters/postgresql/tools/performance/diagnostics.js +342 -0
  71. package/dist/adapters/postgresql/tools/performance/diagnostics.js.map +1 -0
  72. package/dist/adapters/postgresql/tools/performance/index.d.ts +1 -1
  73. package/dist/adapters/postgresql/tools/performance/index.d.ts.map +1 -1
  74. package/dist/adapters/postgresql/tools/performance/index.js +7 -1
  75. package/dist/adapters/postgresql/tools/performance/index.js.map +1 -1
  76. package/dist/adapters/postgresql/tools/transactions.d.ts.map +1 -1
  77. package/dist/adapters/postgresql/tools/transactions.js +67 -2
  78. package/dist/adapters/postgresql/tools/transactions.js.map +1 -1
  79. package/dist/auth/scopes.d.ts.map +1 -1
  80. package/dist/auth/scopes.js +2 -0
  81. package/dist/auth/scopes.js.map +1 -1
  82. package/dist/cli.js +6 -0
  83. package/dist/cli.js.map +1 -1
  84. package/dist/codemode/api/aliases.d.ts.map +1 -1
  85. package/dist/codemode/api/aliases.js +5 -0
  86. package/dist/codemode/api/aliases.js.map +1 -1
  87. package/dist/codemode/api/index.d.ts +1 -0
  88. package/dist/codemode/api/index.d.ts.map +1 -1
  89. package/dist/codemode/api/index.js +3 -0
  90. package/dist/codemode/api/index.js.map +1 -1
  91. package/dist/codemode/api/maps.d.ts.map +1 -1
  92. package/dist/codemode/api/maps.js +21 -12
  93. package/dist/codemode/api/maps.js.map +1 -1
  94. package/dist/constants/ServerInstructions.d.ts +1 -1
  95. package/dist/constants/ServerInstructions.d.ts.map +1 -1
  96. package/dist/constants/ServerInstructions.js +16 -9
  97. package/dist/constants/ServerInstructions.js.map +1 -1
  98. package/dist/filtering/ToolConstants.d.ts +18 -18
  99. package/dist/filtering/ToolConstants.d.ts.map +1 -1
  100. package/dist/filtering/ToolConstants.js +43 -29
  101. package/dist/filtering/ToolConstants.js.map +1 -1
  102. package/dist/filtering/ToolFilter.d.ts +0 -32
  103. package/dist/filtering/ToolFilter.d.ts.map +1 -1
  104. package/dist/filtering/ToolFilter.js +0 -43
  105. package/dist/filtering/ToolFilter.js.map +1 -1
  106. package/dist/transports/http.d.ts +12 -0
  107. package/dist/transports/http.d.ts.map +1 -1
  108. package/dist/transports/http.js +19 -1
  109. package/dist/transports/http.js.map +1 -1
  110. package/dist/types/filtering.d.ts +1 -1
  111. package/dist/types/filtering.d.ts.map +1 -1
  112. package/dist/types/index.d.ts +2 -2
  113. package/dist/types/index.d.ts.map +1 -1
  114. package/dist/types/index.js.map +1 -1
  115. package/dist/types/mcp.d.ts +0 -21
  116. package/dist/types/mcp.d.ts.map +1 -1
  117. package/dist/types/schema.d.ts +0 -79
  118. package/dist/types/schema.d.ts.map +1 -1
  119. package/dist/utils/icons.d.ts.map +1 -1
  120. package/dist/utils/icons.js +5 -0
  121. package/dist/utils/icons.js.map +1 -1
  122. package/dist/utils/identifiers.d.ts.map +1 -1
  123. package/dist/utils/identifiers.js +6 -6
  124. package/dist/utils/identifiers.js.map +1 -1
  125. package/dist/utils/progress-utils.d.ts +1 -12
  126. package/dist/utils/progress-utils.d.ts.map +1 -1
  127. package/dist/utils/progress-utils.js +0 -18
  128. package/dist/utils/progress-utils.js.map +1 -1
  129. package/package.json +3 -3
  130. package/dist/utils/promptGenerator.d.ts +0 -20
  131. package/dist/utils/promptGenerator.d.ts.map +0 -1
  132. package/dist/utils/promptGenerator.js +0 -81
  133. package/dist/utils/promptGenerator.js.map +0 -1
@@ -0,0 +1,342 @@
1
+ /**
2
+ * PostgreSQL Performance Tools - Database Diagnostics
3
+ *
4
+ * Consolidates key performance metrics into a single actionable report:
5
+ * slow queries, blocking locks, connection pressure, cache hit ratio,
6
+ * disk usage, and top tables by size/activity.
7
+ */
8
+ import { z } from "zod";
9
+ import { readOnly } from "../../../../utils/annotations.js";
10
+ import { getToolIcons } from "../../../../utils/icons.js";
11
+ import { formatPostgresError } from "../core/error-helpers.js";
12
+ import { validateIdentifier } from "../../../../utils/identifiers.js";
13
+ // =============================================================================
14
+ // Schemas
15
+ // =============================================================================
16
+ const DiagnoseInputSchemaBase = z.object({
17
+ schema: z
18
+ .string()
19
+ .optional()
20
+ .describe("Filter top tables to a specific schema"),
21
+ topN: z
22
+ .any()
23
+ .optional()
24
+ .describe("Number of top tables to return (default: 10)"),
25
+ });
26
+ const DiagnoseInputSchema = DiagnoseInputSchemaBase.transform((data) => {
27
+ const raw = data.topN != null ? Number(data.topN) : 10;
28
+ const topN = Number.isFinite(raw) ? raw : 10;
29
+ return {
30
+ schema: data.schema,
31
+ topN: Math.max(1, Math.min(100, topN)),
32
+ };
33
+ });
34
+ function rateValue(value, warningThreshold, criticalThreshold, higherIsBetter) {
35
+ if (higherIsBetter) {
36
+ if (value >= warningThreshold)
37
+ return "healthy";
38
+ if (value >= criticalThreshold)
39
+ return "warning";
40
+ return "critical";
41
+ }
42
+ if (value <= warningThreshold)
43
+ return "healthy";
44
+ if (value <= criticalThreshold)
45
+ return "warning";
46
+ return "critical";
47
+ }
48
+ const statusWeight = {
49
+ healthy: 100,
50
+ warning: 60,
51
+ critical: 20,
52
+ };
53
+ // =============================================================================
54
+ // Helper: safe numeric coercion
55
+ // =============================================================================
56
+ const toNum = (val) => val === null || val === undefined ? 0 : Number(val);
57
+ // =============================================================================
58
+ // Diagnostic Sections
59
+ // =============================================================================
60
+ async function diagnoseSlowQueries(adapter) {
61
+ const result = await adapter.executeQuery(`
62
+ SELECT pid, usename, datname, state,
63
+ now() - query_start AS duration,
64
+ LEFT(query, 200) AS query_preview,
65
+ wait_event_type, wait_event
66
+ FROM pg_stat_activity
67
+ WHERE state = 'active'
68
+ AND query NOT ILIKE '%pg_stat_activity%'
69
+ AND now() - query_start > interval '1 second'
70
+ ORDER BY duration DESC
71
+ LIMIT 20
72
+ `);
73
+ const queries = result.rows ?? [];
74
+ const count = queries.length;
75
+ const recommendations = [];
76
+ if (count >= 5) {
77
+ recommendations.push("Multiple slow queries detected — review query plans with pg_explain_analyze");
78
+ }
79
+ if (count >= 10) {
80
+ recommendations.push("High number of slow queries — check for missing indexes with pg_index_recommendations");
81
+ }
82
+ const status = rateValue(count, 2, 5, false);
83
+ return { status, data: { slowQueries: queries, count }, recommendations };
84
+ }
85
+ async function diagnoseBlockingLocks(adapter) {
86
+ const result = await adapter.executeQuery(`
87
+ SELECT
88
+ blocked.pid AS blocked_pid,
89
+ blocked.usename AS blocked_user,
90
+ LEFT(blocked.query, 200) AS blocked_query,
91
+ blocking.pid AS blocking_pid,
92
+ blocking.usename AS blocking_user,
93
+ LEFT(blocking.query, 200) AS blocking_query,
94
+ blocked.wait_event_type
95
+ FROM pg_stat_activity blocked
96
+ JOIN pg_locks bl ON bl.pid = blocked.pid
97
+ JOIN pg_locks kl ON kl.transactionid = bl.transactionid AND kl.pid != bl.pid
98
+ JOIN pg_stat_activity blocking ON blocking.pid = kl.pid
99
+ WHERE NOT bl.granted
100
+ LIMIT 20
101
+ `);
102
+ const blocked = result.rows ?? [];
103
+ const count = blocked.length;
104
+ const recommendations = [];
105
+ if (count > 0) {
106
+ recommendations.push("Active lock contention detected — use pg_locks({showBlocked: true}) for details");
107
+ }
108
+ if (count >= 3) {
109
+ recommendations.push("Significant blocking — consider shorter transactions or advisory locks");
110
+ }
111
+ const status = rateValue(count, 0, 2, false);
112
+ return { status, data: { blockedQueries: blocked, count }, recommendations };
113
+ }
114
+ async function diagnoseConnectionPressure(adapter) {
115
+ const [connResult, maxResult] = await Promise.all([
116
+ adapter.executeQuery(`
117
+ SELECT state, count(*) AS count
118
+ FROM pg_stat_activity
119
+ GROUP BY state
120
+ ORDER BY count DESC
121
+ `),
122
+ adapter.executeQuery(`SHOW max_connections`),
123
+ ]);
124
+ const byState = connResult.rows ?? [];
125
+ const totalActive = byState.reduce((sum, r) => sum + toNum(r["count"]), 0);
126
+ const maxConnections = toNum(maxResult.rows?.[0]?.["max_connections"]);
127
+ const usagePercent = maxConnections > 0
128
+ ? Math.round((totalActive / maxConnections) * 100 * 10) / 10
129
+ : 0;
130
+ const recommendations = [];
131
+ if (usagePercent > 80) {
132
+ recommendations.push("Connection pool near capacity — consider pg_connection_pool_optimize");
133
+ }
134
+ if (usagePercent > 90) {
135
+ recommendations.push("Critical connection pressure — increase max_connections or use PgBouncer");
136
+ }
137
+ const status = rateValue(usagePercent, 70, 85, false);
138
+ return {
139
+ status,
140
+ data: {
141
+ activeConnections: totalActive,
142
+ maxConnections,
143
+ usagePercent,
144
+ byState,
145
+ },
146
+ recommendations,
147
+ };
148
+ }
149
+ async function diagnoseCacheHitRatio(adapter) {
150
+ const result = await adapter.executeQuery(`
151
+ SELECT
152
+ sum(heap_blks_read) AS heap_read,
153
+ sum(heap_blks_hit) AS heap_hit,
154
+ CASE WHEN sum(heap_blks_hit) + sum(heap_blks_read) > 0
155
+ THEN round(sum(heap_blks_hit)::numeric / (sum(heap_blks_hit) + sum(heap_blks_read)) * 100, 2)
156
+ ELSE NULL
157
+ END AS ratio
158
+ FROM pg_statio_user_tables
159
+ `);
160
+ const row = result.rows?.[0] ?? {};
161
+ const heapRead = toNum(row["heap_read"]);
162
+ const heapHit = toNum(row["heap_hit"]);
163
+ const ratio = row["ratio"] !== null && row["ratio"] !== undefined
164
+ ? Number(row["ratio"])
165
+ : null;
166
+ const recommendations = [];
167
+ if (ratio !== null && ratio < 99) {
168
+ recommendations.push("Cache hit ratio below 99% — consider increasing shared_buffers");
169
+ }
170
+ if (ratio !== null && ratio < 95) {
171
+ recommendations.push("Poor cache hit ratio — working set exceeds memory. Audit large sequential scans");
172
+ }
173
+ const status = ratio === null
174
+ ? "healthy"
175
+ : rateValue(ratio, 99, 95, true);
176
+ return { status, data: { heapRead, heapHit, ratio }, recommendations };
177
+ }
178
+ async function diagnoseDiskUsage(adapter) {
179
+ const result = await adapter.executeQuery(`
180
+ SELECT pg_database_size(current_database()) AS total_bytes,
181
+ pg_size_pretty(pg_database_size(current_database())) AS total_size
182
+ `);
183
+ const row = result.rows?.[0] ?? {};
184
+ const totalBytes = toNum(row["total_bytes"]);
185
+ const rawSize = row["total_size"];
186
+ const totalSize = typeof rawSize === "string" ? rawSize : "0 bytes";
187
+ // Disk usage is informational — always healthy (no thresholds)
188
+ return {
189
+ status: "healthy",
190
+ data: { totalBytes, totalSize },
191
+ recommendations: [],
192
+ };
193
+ }
194
+ async function diagnoseTopTables(adapter, topN, schema) {
195
+ let schemaFilter;
196
+ if (schema) {
197
+ validateIdentifier(schema);
198
+ schemaFilter = `AND schemaname = '${schema}'`;
199
+ }
200
+ else {
201
+ schemaFilter = `AND schemaname NOT IN ('pg_catalog', 'information_schema', 'cron', 'topology', 'tiger', 'tiger_data')`;
202
+ }
203
+ const [sizeResult, activityResult] = await Promise.all([
204
+ adapter.executeQuery(`
205
+ SELECT schemaname AS schema, relname AS table,
206
+ pg_total_relation_size(schemaname || '.' || relname) AS total_bytes,
207
+ pg_size_pretty(pg_total_relation_size(schemaname || '.' || relname)) AS total_size,
208
+ n_live_tup AS estimated_rows
209
+ FROM pg_stat_user_tables
210
+ WHERE TRUE ${schemaFilter}
211
+ ORDER BY pg_total_relation_size(schemaname || '.' || relname) DESC
212
+ LIMIT ${String(topN)}
213
+ `),
214
+ adapter.executeQuery(`
215
+ SELECT schemaname AS schema, relname AS table,
216
+ seq_scan + idx_scan AS total_scans,
217
+ seq_scan, idx_scan,
218
+ n_tup_ins AS inserts, n_tup_upd AS updates, n_tup_del AS deletes,
219
+ n_dead_tup AS dead_tuples
220
+ FROM pg_stat_user_tables
221
+ WHERE TRUE ${schemaFilter}
222
+ ORDER BY (seq_scan + idx_scan) DESC
223
+ LIMIT ${String(topN)}
224
+ `),
225
+ ]);
226
+ const bySize = sizeResult.rows ?? [];
227
+ const byActivity = activityResult.rows ?? [];
228
+ const recommendations = [];
229
+ // Check for high dead tuple ratios
230
+ for (const row of byActivity) {
231
+ const deadTuples = toNum(row["dead_tuples"]);
232
+ const inserts = toNum(row["inserts"]);
233
+ if (deadTuples > 10000 && inserts > 0 && deadTuples / inserts > 0.5) {
234
+ recommendations.push(`Table ${String(row["schema"])}.${String(row["table"])} has high dead tuples (${String(deadTuples)}) — run pg_vacuum_analyze`);
235
+ break; // Only recommend once
236
+ }
237
+ }
238
+ // Check for seq scan dominance
239
+ for (const row of byActivity) {
240
+ const seqScan = toNum(row["seq_scan"]);
241
+ const idxScan = toNum(row["idx_scan"]);
242
+ if (seqScan > 1000 && idxScan === 0) {
243
+ recommendations.push(`Table ${String(row["schema"])}.${String(row["table"])} has ${String(seqScan)} seq scans and 0 index scans — add indexes`);
244
+ break;
245
+ }
246
+ }
247
+ return {
248
+ status: recommendations.length > 0 ? "warning" : "healthy",
249
+ data: { bySize, byActivity },
250
+ recommendations,
251
+ };
252
+ }
253
+ // =============================================================================
254
+ // Tool Factory
255
+ // =============================================================================
256
+ export function createDiagnoseTool(adapter) {
257
+ return {
258
+ name: "pg_diagnose_database_performance",
259
+ description: "Consolidates key performance metrics into a single actionable report: " +
260
+ "slow queries, blocking locks, connection pressure, cache hit ratio, " +
261
+ "disk usage, and top tables by size and activity. Returns per-section " +
262
+ "health ratings and recommendations with an overall health score.",
263
+ inputSchema: DiagnoseInputSchemaBase.shape,
264
+ outputSchema: z.object({
265
+ sections: z.object({
266
+ slowQueries: z.any(),
267
+ blockingLocks: z.any(),
268
+ connectionPressure: z.any(),
269
+ cacheHitRatio: z.any(),
270
+ diskUsage: z.any(),
271
+ topTables: z.any(),
272
+ }),
273
+ overallScore: z.number(),
274
+ overallStatus: z.enum(["healthy", "warning", "critical"]),
275
+ totalRecommendations: z.number(),
276
+ allRecommendations: z.array(z.string()),
277
+ }),
278
+ group: "performance",
279
+ annotations: readOnly("Diagnose database performance"),
280
+ icons: getToolIcons("performance", readOnly("Diagnose database performance")),
281
+ handler: async (params, _context) => {
282
+ try {
283
+ const parsed = DiagnoseInputSchema.safeParse(params);
284
+ if (!parsed.success) {
285
+ return {
286
+ success: false,
287
+ error: `Validation error: ${parsed.error.issues.map((i) => i.message).join(", ")}`,
288
+ };
289
+ }
290
+ const { schema, topN } = parsed.data;
291
+ // Run all diagnostics in parallel
292
+ const [slowQueries, blockingLocks, connectionPressure, cacheHitRatio, diskUsage, topTables,] = await Promise.all([
293
+ diagnoseSlowQueries(adapter),
294
+ diagnoseBlockingLocks(adapter),
295
+ diagnoseConnectionPressure(adapter),
296
+ diagnoseCacheHitRatio(adapter),
297
+ diagnoseDiskUsage(adapter),
298
+ diagnoseTopTables(adapter, topN, schema),
299
+ ]);
300
+ // Calculate overall score
301
+ const sections = [
302
+ slowQueries,
303
+ blockingLocks,
304
+ connectionPressure,
305
+ cacheHitRatio,
306
+ topTables,
307
+ ];
308
+ const overallScore = Math.round(sections.reduce((sum, s) => sum + statusWeight[s.status], 0) /
309
+ sections.length);
310
+ const overallStatus = overallScore >= 90
311
+ ? "healthy"
312
+ : overallScore >= 60
313
+ ? "warning"
314
+ : "critical";
315
+ const allRecommendations = sections.flatMap((s) => s.recommendations);
316
+ return {
317
+ sections: {
318
+ slowQueries,
319
+ blockingLocks,
320
+ connectionPressure,
321
+ cacheHitRatio,
322
+ diskUsage,
323
+ topTables,
324
+ },
325
+ overallScore,
326
+ overallStatus,
327
+ totalRecommendations: allRecommendations.length,
328
+ allRecommendations,
329
+ };
330
+ }
331
+ catch (error) {
332
+ return {
333
+ success: false,
334
+ error: formatPostgresError(error, {
335
+ tool: "pg_diagnose_database_performance",
336
+ }),
337
+ };
338
+ }
339
+ },
340
+ };
341
+ }
342
+ //# sourceMappingURL=diagnostics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"diagnostics.js","sourceRoot":"","sources":["../../../../../src/adapters/postgresql/tools/performance/diagnostics.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@
2
2
  * PostgreSQL Performance Tools
3
3
  *
4
4
  * Query analysis, statistics, and performance monitoring.
5
- * 20 tools total.
5
+ * 24 tools total.
6
6
  */
7
7
  import type { PostgresAdapter } from "../../PostgresAdapter.js";
8
8
  import type { ToolDefinition } from "../../../../types/index.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/postgresql/tools/performance/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAkCjE;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,eAAe,GACvB,cAAc,EAAE,CAuBlB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/adapters/postgresql/tools/performance/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,0BAA0B,CAAC;AAChE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAwCjE;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,eAAe,GACvB,cAAc,EAAE,CA2BlB"}
@@ -2,7 +2,7 @@
2
2
  * PostgreSQL Performance Tools
3
3
  *
4
4
  * Query analysis, statistics, and performance monitoring.
5
- * 20 tools total.
5
+ * 24 tools total.
6
6
  */
7
7
  // Import from sub-modules
8
8
  import { createExplainTool, createExplainAnalyzeTool, createExplainBuffersTool, } from "./explain.js";
@@ -10,6 +10,8 @@ import { createIndexStatsTool, createTableStatsTool, createStatStatementsTool, c
10
10
  import { createLocksTool, createBloatCheckTool, createCacheHitRatioTool, } from "./monitoring.js";
11
11
  import { createSeqScanTablesTool, createIndexRecommendationsTool, createQueryPlanCompareTool, } from "./analysis.js";
12
12
  import { createPerformanceBaselineTool, createConnectionPoolOptimizeTool, createPartitionStrategySuggestTool, } from "./optimization.js";
13
+ import { createDiagnoseTool } from "./diagnostics.js";
14
+ import { createDetectQueryAnomaliesTool, createDetectBloatRiskTool, createDetectConnectionSpikeTool, } from "./anomaly-detection.js";
13
15
  /**
14
16
  * Get all performance tools
15
17
  */
@@ -35,6 +37,10 @@ export function getPerformanceTools(adapter) {
35
37
  createDuplicateIndexesTool(adapter),
36
38
  createVacuumStatsTool(adapter),
37
39
  createQueryPlanStatsTool(adapter),
40
+ createDiagnoseTool(adapter),
41
+ createDetectQueryAnomaliesTool(adapter),
42
+ createDetectBloatRiskTool(adapter),
43
+ createDetectConnectionSpikeTool(adapter),
38
44
  ];
39
45
  }
40
46
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/adapters/postgresql/tools/performance/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,0BAA0B;AAC1B,OAAO,EACL,iBAAiB,EACjB,wBAAwB,EACxB,wBAAwB,GACzB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,wBAAwB,EACxB,sBAAsB,EACtB,uBAAuB,EACvB,0BAA0B,EAC1B,qBAAqB,EACrB,wBAAwB,GACzB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,eAAe,EACf,oBAAoB,EACpB,uBAAuB,GACxB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,uBAAuB,EACvB,8BAA8B,EAC9B,0BAA0B,GAC3B,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,6BAA6B,EAC7B,gCAAgC,EAChC,kCAAkC,GACnC,MAAM,mBAAmB,CAAC;AAE3B;;GAEG;AACH,MAAM,UAAU,mBAAmB,CACjC,OAAwB;IAExB,OAAO;QACL,iBAAiB,CAAC,OAAO,CAAC;QAC1B,wBAAwB,CAAC,OAAO,CAAC;QACjC,wBAAwB,CAAC,OAAO,CAAC;QACjC,oBAAoB,CAAC,OAAO,CAAC;QAC7B,oBAAoB,CAAC,OAAO,CAAC;QAC7B,wBAAwB,CAAC,OAAO,CAAC;QACjC,sBAAsB,CAAC,OAAO,CAAC;QAC/B,eAAe,CAAC,OAAO,CAAC;QACxB,oBAAoB,CAAC,OAAO,CAAC;QAC7B,uBAAuB,CAAC,OAAO,CAAC;QAChC,uBAAuB,CAAC,OAAO,CAAC;QAChC,8BAA8B,CAAC,OAAO,CAAC;QACvC,0BAA0B,CAAC,OAAO,CAAC;QACnC,6BAA6B,CAAC,OAAO,CAAC;QACtC,gCAAgC,CAAC,OAAO,CAAC;QACzC,kCAAkC,CAAC,OAAO,CAAC;QAC3C,uBAAuB,CAAC,OAAO,CAAC;QAChC,0BAA0B,CAAC,OAAO,CAAC;QACnC,qBAAqB,CAAC,OAAO,CAAC;QAC9B,wBAAwB,CAAC,OAAO,CAAC;KAClC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../src/adapters/postgresql/tools/performance/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAKH,0BAA0B;AAC1B,OAAO,EACL,iBAAiB,EACjB,wBAAwB,EACxB,wBAAwB,GACzB,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,oBAAoB,EACpB,oBAAoB,EACpB,wBAAwB,EACxB,sBAAsB,EACtB,uBAAuB,EACvB,0BAA0B,EAC1B,qBAAqB,EACrB,wBAAwB,GACzB,MAAM,YAAY,CAAC;AACpB,OAAO,EACL,eAAe,EACf,oBAAoB,EACpB,uBAAuB,GACxB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,uBAAuB,EACvB,8BAA8B,EAC9B,0BAA0B,GAC3B,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,6BAA6B,EAC7B,gCAAgC,EAChC,kCAAkC,GACnC,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EACL,8BAA8B,EAC9B,yBAAyB,EACzB,+BAA+B,GAChC,MAAM,wBAAwB,CAAC;AAEhC;;GAEG;AACH,MAAM,UAAU,mBAAmB,CACjC,OAAwB;IAExB,OAAO;QACL,iBAAiB,CAAC,OAAO,CAAC;QAC1B,wBAAwB,CAAC,OAAO,CAAC;QACjC,wBAAwB,CAAC,OAAO,CAAC;QACjC,oBAAoB,CAAC,OAAO,CAAC;QAC7B,oBAAoB,CAAC,OAAO,CAAC;QAC7B,wBAAwB,CAAC,OAAO,CAAC;QACjC,sBAAsB,CAAC,OAAO,CAAC;QAC/B,eAAe,CAAC,OAAO,CAAC;QACxB,oBAAoB,CAAC,OAAO,CAAC;QAC7B,uBAAuB,CAAC,OAAO,CAAC;QAChC,uBAAuB,CAAC,OAAO,CAAC;QAChC,8BAA8B,CAAC,OAAO,CAAC;QACvC,0BAA0B,CAAC,OAAO,CAAC;QACnC,6BAA6B,CAAC,OAAO,CAAC;QACtC,gCAAgC,CAAC,OAAO,CAAC;QACzC,kCAAkC,CAAC,OAAO,CAAC;QAC3C,uBAAuB,CAAC,OAAO,CAAC;QAChC,0BAA0B,CAAC,OAAO,CAAC;QACnC,qBAAqB,CAAC,OAAO,CAAC;QAC9B,wBAAwB,CAAC,OAAO,CAAC;QACjC,kBAAkB,CAAC,OAAO,CAAC;QAC3B,8BAA8B,CAAC,OAAO,CAAC;QACvC,yBAAyB,CAAC,OAAO,CAAC;QAClC,+BAA+B,CAAC,OAAO,CAAC;KACzC,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"transactions.d.ts","sourceRoot":"","sources":["../../../../src/adapters/postgresql/tools/transactions.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAkB,MAAM,yBAAyB,CAAC;AAoB9E;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,eAAe,GACvB,cAAc,EAAE,CAUlB"}
1
+ {"version":3,"file":"transactions.d.ts","sourceRoot":"","sources":["../../../../src/adapters/postgresql/tools/transactions.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,KAAK,EAAE,cAAc,EAAkB,MAAM,yBAAyB,CAAC;AAqB9E;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,eAAe,GACvB,cAAc,EAAE,CAWlB"}
@@ -4,18 +4,19 @@
4
4
  * Transaction management with savepoints and isolation levels.
5
5
  * 7 tools total.
6
6
  */
7
- import { write } from "../../../utils/annotations.js";
7
+ import { readOnly, write } from "../../../utils/annotations.js";
8
8
  import { getToolIcons } from "../../../utils/icons.js";
9
9
  import { formatPostgresError } from "./core/error-helpers.js";
10
10
  import { BeginTransactionSchemaBase, BeginTransactionSchema, TransactionIdSchema, TransactionIdSchemaBase, SavepointSchema, SavepointSchemaBase, TransactionExecuteSchema, TransactionExecuteSchemaBase,
11
11
  // Output schemas
12
- TransactionBeginOutputSchema, TransactionResultOutputSchema, SavepointResultOutputSchema, TransactionExecuteOutputSchema, } from "../schemas/index.js";
12
+ TransactionBeginOutputSchema, TransactionResultOutputSchema, TransactionStatusOutputSchema, SavepointResultOutputSchema, TransactionExecuteOutputSchema, } from "../schemas/index.js";
13
13
  /**
14
14
  * Get all transaction tools
15
15
  */
16
16
  export function getTransactionTools(adapter) {
17
17
  return [
18
18
  createBeginTransactionTool(adapter),
19
+ createTransactionStatusTool(adapter),
19
20
  createCommitTransactionTool(adapter),
20
21
  createRollbackTransactionTool(adapter),
21
22
  createSavepointTool(adapter),
@@ -54,6 +55,70 @@ function createBeginTransactionTool(adapter) {
54
55
  },
55
56
  };
56
57
  }
58
+ function createTransactionStatusTool(adapter) {
59
+ return {
60
+ name: "pg_transaction_status",
61
+ description: "Check the status of an active transaction without modifying it. " +
62
+ "Returns whether the transaction is active, aborted (needs rollback), or not found.",
63
+ group: "transactions",
64
+ inputSchema: TransactionIdSchemaBase,
65
+ outputSchema: TransactionStatusOutputSchema,
66
+ annotations: readOnly("Transaction Status"),
67
+ icons: getToolIcons("transactions", readOnly("Transaction Status")),
68
+ handler: async (params, _context) => {
69
+ try {
70
+ const { transactionId } = TransactionIdSchema.parse(params);
71
+ const client = adapter.getTransactionConnection(transactionId);
72
+ if (!client) {
73
+ return {
74
+ status: "not_found",
75
+ transactionId,
76
+ active: false,
77
+ message: "Transaction not found — it may have been committed, rolled back, or expired.",
78
+ };
79
+ }
80
+ // Probe the connection to determine if the transaction is healthy
81
+ // or in an aborted state (same technique used in commitTransaction).
82
+ try {
83
+ await adapter.executeOnConnection(client, "SELECT 1");
84
+ return {
85
+ status: "active",
86
+ transactionId,
87
+ active: true,
88
+ message: "Transaction is active and ready for operations.",
89
+ };
90
+ }
91
+ catch (probeError) {
92
+ const pgCode = probeError["code"];
93
+ if (pgCode === "25P02" ||
94
+ (probeError instanceof Error &&
95
+ /current transaction is aborted/i.test(probeError.message))) {
96
+ return {
97
+ status: "aborted",
98
+ transactionId,
99
+ active: true,
100
+ message: "Transaction is in an aborted state — only ROLLBACK or ROLLBACK TO SAVEPOINT commands are accepted.",
101
+ };
102
+ }
103
+ return {
104
+ success: false,
105
+ error: formatPostgresError(probeError, {
106
+ tool: "pg_transaction_status",
107
+ }),
108
+ };
109
+ }
110
+ }
111
+ catch (error) {
112
+ return {
113
+ success: false,
114
+ error: formatPostgresError(error, {
115
+ tool: "pg_transaction_status",
116
+ }),
117
+ };
118
+ }
119
+ },
120
+ };
121
+ }
57
122
  function createCommitTransactionTool(adapter) {
58
123
  return {
59
124
  name: "pg_transaction_commit",
@@ -1 +1 @@
1
- {"version":3,"file":"transactions.js","sourceRoot":"","sources":["../../../../src/adapters/postgresql/tools/transactions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transactions.js","sourceRoot":"","sources":["../../../../src/adapters/postgresql/tools/transactions.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"scopes.d.ts","sourceRoot":"","sources":["../../src/auth/scopes.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAMnD;;GAEG;AACH,eAAO,MAAM,MAAM;IACjB,wCAAwC;;IAGxC,6CAA6C;;IAG7C,oDAAoD;;IAGpD,oCAAoC;;CAE5B,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,MAAM,CAAC,CAAC,MAAM,OAAO,MAAM,CAAC,CAAC;AAEjE;;GAEG;AACH,eAAO,MAAM,UAAU,6CAMb,CAAC;AAMX;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,SAAS,EAAE,aAAa,CAiC9D,CAAC;AAMF;;GAEG;AACH,wBAAgB,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,EAAE,CAGrE;AAED;;GAEG;AACH,wBAAgB,QAAQ,CACtB,aAAa,EAAE,MAAM,EAAE,EACvB,aAAa,EAAE,MAAM,GACpB,OAAO,CA0BT;AAED;;GAEG;AACH,wBAAgB,WAAW,CACzB,aAAa,EAAE,MAAM,EAAE,EACvB,cAAc,EAAE,MAAM,EAAE,GACvB,OAAO,CAET;AAED;;GAEG;AACH,wBAAgB,YAAY,CAC1B,aAAa,EAAE,MAAM,EAAE,EACvB,cAAc,EAAE,MAAM,EAAE,GACvB,OAAO,CAET;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,SAAS,GAAG,aAAa,CAEpE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,aAAa,EAAE,MAAM,EAAE,EACvB,QAAQ,EAAE,MAAM,GACf,OAAO,CAYT;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,aAAa,EAAE,MAAM,EAAE,EACvB,MAAM,EAAE,MAAM,GACb,OAAO,CAYT;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,aAAa,EAAE,MAAM,EAAE,EACvB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,GACZ,OAAO,CAiBT;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAsBzD"}
1
+ {"version":3,"file":"scopes.d.ts","sourceRoot":"","sources":["../../src/auth/scopes.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAMnD;;GAEG;AACH,eAAO,MAAM,MAAM;IACjB,wCAAwC;;IAGxC,6CAA6C;;IAG7C,oDAAoD;;IAGpD,oCAAoC;;CAE5B,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,MAAM,CAAC,CAAC,MAAM,OAAO,MAAM,CAAC,CAAC;AAEjE;;GAEG;AACH,eAAO,MAAM,UAAU,6CAMb,CAAC;AAMX;;GAEG;AACH,eAAO,MAAM,iBAAiB,EAAE,MAAM,CAAC,SAAS,EAAE,aAAa,CAoC9D,CAAC;AAMF;;GAEG;AACH,wBAAgB,WAAW,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,EAAE,CAGrE;AAED;;GAEG;AACH,wBAAgB,QAAQ,CACtB,aAAa,EAAE,MAAM,EAAE,EACvB,aAAa,EAAE,MAAM,GACpB,OAAO,CA0BT;AAED;;GAEG;AACH,wBAAgB,WAAW,CACzB,aAAa,EAAE,MAAM,EAAE,EACvB,cAAc,EAAE,MAAM,EAAE,GACvB,OAAO,CAET;AAED;;GAEG;AACH,wBAAgB,YAAY,CAC1B,aAAa,EAAE,MAAM,EAAE,EACvB,cAAc,EAAE,MAAM,EAAE,GACvB,OAAO,CAET;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,SAAS,GAAG,aAAa,CAEpE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,aAAa,EAAE,MAAM,EAAE,EACvB,QAAQ,EAAE,MAAM,GACf,OAAO,CAYT;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,aAAa,EAAE,MAAM,EAAE,EACvB,MAAM,EAAE,MAAM,GACb,OAAO,CAYT;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,aAAa,EAAE,MAAM,EAAE,EACvB,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,GACZ,OAAO,CAiBT;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAsBzD"}
@@ -61,6 +61,8 @@ export const TOOL_GROUP_SCOPES = {
61
61
  pgcrypto: SCOPES.READ,
62
62
  // Introspection (read-only analysis tools)
63
63
  introspection: SCOPES.READ,
64
+ // Migration tracking (write operations)
65
+ migration: SCOPES.WRITE,
64
66
  // Code Mode (requires admin - can execute arbitrary operations)
65
67
  codemode: SCOPES.ADMIN,
66
68
  };
@@ -1 +1 @@
1
- {"version":3,"file":"scopes.js","sourceRoot":"","sources":["../../src/auth/scopes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scopes.js","sourceRoot":"","sources":["../../src/auth/scopes.ts"],"names":[],"mappings":"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"}
package/dist/cli.js CHANGED
@@ -40,6 +40,7 @@ program
40
40
  .option("--oauth-audience <aud>", "Expected token audience")
41
41
  .option("--oauth-jwks-uri <url>", "JWKS URI (auto-discovered from issuer if not set)")
42
42
  .option("--oauth-clock-tolerance <seconds>", "Clock tolerance in seconds (default: 60)", parseInt)
43
+ .option("--trust-proxy", "Trust X-Forwarded-For header for client IP (enable behind reverse proxy)")
43
44
  .action(async (options) => {
44
45
  // Set log level
45
46
  const logLevel = options.logLevel ?? process.env["LOG_LEVEL"];
@@ -73,6 +74,10 @@ program
73
74
  process.env["MCP_TRANSPORT"] ??
74
75
  "stdio");
75
76
  if (transport === "http" || transport === "sse") {
77
+ if (!oauthConfig?.enabled) {
78
+ logger.warn("HTTP transport started WITHOUT OAuth authentication — all clients have unrestricted access. " +
79
+ "Enable OAuth with --oauth-enabled for production deployments.");
80
+ }
76
81
  // Start with HTTP transport
77
82
  await startHttpServer(adapter, toolFilter, oauthConfig, options);
78
83
  }
@@ -253,6 +258,7 @@ async function startHttpServer(adapter, toolFilter, oauthConfig, options) {
253
258
  port,
254
259
  host,
255
260
  publicPaths: oauthConfig?.publicPaths ?? ["/health", "/.well-known/*"],
261
+ trustProxy: options.trustProxy ?? process.env["TRUST_PROXY"] === "true",
256
262
  };
257
263
  if (resourceServer)
258
264
  transportConfig.resourceServer = resourceServer;