@yawlabs/postgres-mcp 0.6.4 → 0.6.5

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.
package/CHANGELOG.md CHANGED
@@ -7,6 +7,20 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.6.5] - 2026-05-15
11
+
12
+ ### Fixed
13
+ - `pg_explain` now returns an explicit error if EXPLAIN comes back with zero
14
+ rows instead of a misleading `{plan: ""}` (text) or `{plan: undefined}`
15
+ (json) payload. Pathological in practice -- EXPLAIN always returns at least
16
+ one row -- but the response shape is now tight either way.
17
+
18
+ ### Docs
19
+ - `pg_kill` description clarifies that `pg_signal_backend` does NOT authorize
20
+ signalling a superuser-owned backend; only a superuser can signal another
21
+ superuser's session. The `note` field already disambiguated post-hoc; the
22
+ description now matches.
23
+
10
24
  ## [0.6.3] - 2026-05-15
11
25
 
12
26
  ### Infrastructure
package/dist/index.js CHANGED
@@ -36480,7 +36480,7 @@ var adminTools = [
36480
36480
  },
36481
36481
  {
36482
36482
  name: "pg_kill",
36483
- description: "Cancel a running query (SIGINT-equivalent) or terminate a backend connection (SIGTERM-equivalent) by PID. Find the PID via `pg_health` active_queries or `pg_inspect_locks`. Requires ALLOW_WRITES=1 since this changes database session state. The role in DATABASE_URL must have permission - cancelling another user's query needs the `pg_signal_backend` role or superuser. Cancel is graceful; terminate is forceful.",
36483
+ description: "Cancel a running query (SIGINT-equivalent) or terminate a backend connection (SIGTERM-equivalent) by PID. Find the PID via `pg_health` active_queries or `pg_inspect_locks`. Requires ALLOW_WRITES=1 since this changes database session state. The role in DATABASE_URL must have permission - cancelling another user's query needs the `pg_signal_backend` role or superuser. Note: `pg_signal_backend` does NOT cover superuser-owned backends - only a superuser can signal another superuser's session. Cancel is graceful; terminate is forceful.",
36484
36484
  annotations: {
36485
36485
  title: "Cancel or terminate a backend",
36486
36486
  readOnlyHint: false,
@@ -36833,6 +36833,9 @@ var explainTools = [
36833
36833
  if (!result.ok) return result;
36834
36834
  const data = result.data;
36835
36835
  const rows = data?.rows ?? [];
36836
+ if (rows.length === 0) {
36837
+ return { ok: false, error: "EXPLAIN returned no rows; unable to produce a plan." };
36838
+ }
36836
36839
  if (format === "text") {
36837
36840
  const lines = rows.map((r) => String(r["QUERY PLAN"] ?? ""));
36838
36841
  return { ok: true, data: { plan: lines.join("\n") } };
@@ -37547,7 +37550,7 @@ function compareVersions(a, b) {
37547
37550
  }
37548
37551
 
37549
37552
  // src/index.ts
37550
- var version2 = true ? "0.6.4" : (await null).createRequire(import.meta.url)("../package.json").version;
37553
+ var version2 = true ? "0.6.5" : (await null).createRequire(import.meta.url)("../package.json").version;
37551
37554
  var subcommand = process.argv[2];
37552
37555
  if (subcommand === "version" || subcommand === "--version") {
37553
37556
  console.log(version2);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@yawlabs/postgres-mcp",
3
- "version": "0.6.4",
3
+ "version": "0.6.5",
4
4
  "mcpName": "io.github.YawLabs/postgres-mcp",
5
5
  "description": "PostgreSQL MCP server - query, schema introspection, explain, and health checks for AI assistants",
6
6
  "license": "MIT",