@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
package/README.md CHANGED
@@ -2,11 +2,11 @@
2
2
 
3
3
  <!-- mcp-name: io.github.neverinfamous/postgres-mcp -->
4
4
 
5
- **Last updated January 24, 2026**
5
+ **Last updated January 29, 2026**
6
6
 
7
7
  **PostgreSQL MCP Server** enabling AI assistants (AntiGravity, Claude, Cursor, etc.) to interact with PostgreSQL databases through the Model Context Protocol. Features connection pooling, HTTP/SSE Transport, OAuth 2.1 authentication, Code Mode, tool filtering, and extension support for citext, ltree, pgcrypto, pg_cron, pg_stat_kcache, pgvector, PostGIS, and HypoPG.
8
8
 
9
- **203 specialized tools** · **20 resources** · **19 AI-powered prompts**
9
+ **204 specialized tools** · **20 resources** · **19 AI-powered prompts**
10
10
 
11
11
  [![GitHub](https://img.shields.io/badge/GitHub-neverinfamous/postgres--mcp-blue?logo=github)](https://github.com/neverinfamous/postgresql-mcp)
12
12
  ![GitHub Release](https://img.shields.io/github/v/release/neverinfamous/postgresql-mcp)
@@ -17,10 +17,10 @@
17
17
  [![Security](https://img.shields.io/badge/Security-Enhanced-green.svg)](https://github.com/neverinfamous/postgresql-mcp/blob/master/SECURITY.md)
18
18
  ![Status](https://img.shields.io/badge/status-Production%2FStable-brightgreen)
19
19
  [![TypeScript](https://img.shields.io/badge/TypeScript-Strict-blue.svg)](https://github.com/neverinfamous/postgresql-mcp)
20
- [![Tests](https://img.shields.io/badge/Tests-2063_passed-success.svg)](https://github.com/neverinfamous/postgresql-mcp)
21
- [![Coverage](https://img.shields.io/badge/Coverage-84.38%25-green.svg)](https://github.com/neverinfamous/postgresql-mcp)
20
+ [![Tests](https://img.shields.io/badge/Tests-2108_passed-success.svg)](https://github.com/neverinfamous/postgresql-mcp)
21
+ [![Coverage](https://img.shields.io/badge/Coverage-84.5%25-green.svg)](https://github.com/neverinfamous/postgresql-mcp)
22
22
 
23
- **[Docker Hub](https://hub.docker.com/r/writenotenow/postgres-mcp)** • **[npm Package](https://www.npmjs.com/package/@neverinfamous/postgres-mcp)** • **[MCP Registry](https://registry.modelcontextprotocol.io/v0/servers?search=io.github.neverinfamous/postgres-mcp)**
23
+ **[Docker Hub](https://hub.docker.com/r/writenotenow/postgres-mcp)** • **[npm Package](https://www.npmjs.com/package/@neverinfamous/postgres-mcp)** • **[MCP Registry](https://registry.modelcontextprotocol.io/v0/servers?search=io.github.neverinfamous/postgres-mcp)** • **[Wiki](https://github.com/neverinfamous/postgresql-mcp/wiki)**
24
24
 
25
25
  ## 🚀 Quick Start
26
26
 
@@ -44,19 +44,29 @@ node dist/cli.js --transport stdio --postgres postgres://user:password@localhost
44
44
 
45
45
  ## Development
46
46
 
47
+ **Clone and install:**
48
+
47
49
  ```bash
48
- # Clone and install
49
50
  git clone https://github.com/neverinfamous/postgresql-mcp.git
50
51
  cd postgres-mcp
51
52
  npm install
53
+ ```
52
54
 
53
- # Build
55
+ **Build:**
56
+
57
+ ```bash
54
58
  npm run build
59
+ ```
60
+
61
+ **Run checks:**
55
62
 
56
- # Run checks
63
+ ```bash
57
64
  npm run lint && npm run typecheck
65
+ ```
58
66
 
59
- # Test CLI
67
+ **Test CLI:**
68
+
69
+ ```bash
60
70
  node dist/cli.js info
61
71
  node dist/cli.js list-tools
62
72
  ```
@@ -162,12 +172,15 @@ The `vm` mode is fully functional and is the default. No configuration needed.
162
172
 
163
173
  📖 **Full documentation:** [docs/CODE_MODE.md](docs/CODE_MODE.md)
164
174
 
175
+ > [!NOTE]
176
+ > **AntiGravity Users:** Server instructions are automatically sent to MCP clients during initialization. However, AntiGravity does not currently support MCP server instructions. For optimal Code Mode usage in AntiGravity, manually provide the contents of [`src/constants/ServerInstructions.ts`](src/constants/ServerInstructions.ts) to the agent in your prompt or user rules.
177
+
165
178
  ---
166
179
 
167
180
  ## 🛠️ Tool Filtering
168
181
 
169
182
  > [!IMPORTANT]
170
- > AI IDEs like Cursor have tool limits. With 203 tools available, you MUST use tool filtering to stay within your IDE's limits. We recommend `starter` (58 tools) as a starting point. Code Mode is included in all presets by default for 70-90% token savings on multi-step operations.
183
+ > AI IDEs like Cursor have tool limits. With 204 tools available, you MUST use tool filtering to stay within your IDE's limits. We recommend `starter` (58 tools) as a starting point. Code Mode is included in all presets by default for 70-90% token savings on multi-step operations.
171
184
 
172
185
  ### What Can You Filter?
173
186
 
@@ -184,26 +197,30 @@ All shortcuts and tool groups include **Code Mode** (`pg_execute_code`) by defau
184
197
 
185
198
  ### Shortcuts (Predefined Bundles)
186
199
 
200
+ > Tool counts include Code Mode (`pg_execute_code`) which is included in all presets by default.
201
+
187
202
  | Shortcut | Tools | Use Case | What's Included |
188
203
  | -------------- | ------ | ------------------------ | -------------------------------------------------------- |
189
204
  | `starter` | **58** | 🌟 **Recommended** | Core, trans, JSONB, schema, codemode |
190
205
  | `essential` | 46 | Minimal footprint | Core, trans, JSONB, codemode |
191
206
  | `dev-power` | 53 | Power Developer | Core, trans, schema, stats, part, codemode |
192
207
  | `ai-data` | 59 | AI Data Analyst | Core, JSONB, text, trans, codemode |
193
- | `ai-vector` | 47 | AI/ML with pgvector | Core, vector, trans, part, codemode |
208
+ | `ai-vector` | 48 | AI/ML with pgvector | Core, vector, trans, part, codemode |
194
209
  | `dba-monitor` | 58 | DBA Monitoring | Core, monitoring, perf, trans, codemode |
195
210
  | `dba-manage` | 57 | DBA Management | Core, admin, backup, part, schema, codemode |
196
211
  | `dba-stats` | 56 | DBA Stats/Security | Core, admin, monitoring, trans, stats, codemode |
197
212
  | `geo` | 42 | Geospatial Workloads | Core, PostGIS, trans, codemode |
198
213
  | `base-core` | 58 | Base Building Block | Core, JSONB, trans, schema, codemode |
199
214
  | `base-ops` | 51 | Operations Block | Admin, monitoring, backup, part, stats, citext, codemode |
200
- | `ext-ai` | 24 | Extension: AI/Security | pgvector, pgcrypto, codemode |
215
+ | `ext-ai` | 25 | Extension: AI/Security | pgvector, pgcrypto, codemode |
201
216
  | `ext-geo` | 24 | Extension: Spatial | PostGIS, ltree, codemode |
202
217
  | `ext-schedule` | 19 | Extension: Scheduling | pg_cron, pg_partman, codemode |
203
218
  | `ext-perf` | 28 | Extension: Perf/Analysis | pg_stat_kcache, performance, codemode |
204
219
 
205
220
  ### Tool Groups (20 Available)
206
221
 
222
+ > Tool counts include Code Mode (`pg_execute_code`) which is added to all groups by default.
223
+
207
224
  | Group | Tools | Description |
208
225
  | -------------- | ----- | ----------------------------------------------------------- |
209
226
  | `core` | 21 | Read/write queries, tables, indexes, convenience/drop tools |
@@ -217,7 +234,7 @@ All shortcuts and tool groups include **Code Mode** (`pg_execute_code`) by defau
217
234
  | `schema` | 13 | Schemas, views, sequences, functions, triggers |
218
235
  | `partitioning` | 7 | Native partition management |
219
236
  | `stats` | 9 | Statistical analysis |
220
- | `vector` | 15 | pgvector (AI/ML similarity search) |
237
+ | `vector` | 16 | pgvector (AI/ML similarity search) |
221
238
  | `postgis` | 16 | PostGIS (geospatial) |
222
239
  | `cron` | 9 | pg_cron (job scheduling) |
223
240
  | `partman` | 11 | pg_partman (auto-partitioning) |
@@ -261,7 +278,7 @@ Add one of these configurations to your IDE's MCP settings file:
261
278
  }
262
279
  ```
263
280
 
264
- #### Option 2: AI Vector (47 Tools + pgvector)
281
+ #### Option 2: AI Vector (48 Tools + pgvector)
265
282
 
266
283
  **Best for:** AI/ML workloads with semantic search and vector similarity.
267
284
 
@@ -334,15 +351,17 @@ node dist/cli.js \
334
351
  --oauth-audience postgres-mcp-client
335
352
  ```
336
353
 
337
- **Environment Variables:**
354
+ **Environment Variables (Required):**
338
355
 
339
356
  ```bash
340
- # Required
341
357
  OAUTH_ENABLED=true
342
358
  OAUTH_ISSUER=http://localhost:8080/realms/postgres-mcp
343
359
  OAUTH_AUDIENCE=postgres-mcp-client
360
+ ```
344
361
 
345
- # Optional (auto-discovered from issuer)
362
+ **Environment Variables (Optional auto-discovered from issuer):**
363
+
364
+ ```bash
346
365
  OAUTH_JWKS_URI=http://localhost:8080/realms/postgres-mcp/protocol/openid-connect/certs
347
366
  OAUTH_CLOCK_TOLERANCE=60
348
367
  ```
@@ -455,7 +474,7 @@ This server provides **20 resources** for structured data access:
455
474
  | `pg_trgm` | Text similarity | `pg_trigram_similarity` |
456
475
  | `fuzzystrmatch` | Fuzzy matching | `pg_fuzzy_match` |
457
476
  | `hypopg` | Hypothetical indexes | `pg_index_recommendations` |
458
- | `pgvector` | Vector similarity search | 14 vector tools |
477
+ | `pgvector` | Vector similarity search | 15 vector tools |
459
478
  | `PostGIS` | Geospatial operations | 15 postgis tools |
460
479
  | `pg_cron` | Job scheduling | 8 cron tools |
461
480
  | `pg_partman` | Automated partition management | 10 partman tools |
@@ -489,7 +508,7 @@ This server provides **20 resources** for structured data access:
489
508
  ## 🏆 Why Choose postgres-mcp?
490
509
 
491
510
  ✅ **TypeScript Native** - Full type safety with strict mode
492
- ✅ **203 Specialized Tools** - Comprehensive PostgreSQL coverage
511
+ ✅ **204 Specialized Tools** - Comprehensive PostgreSQL coverage
493
512
  ✅ **Tool Annotations** - UX hints for read-only, destructive, and idempotent operations
494
513
  ✅ **Connection Pooling** - Efficient PostgreSQL connection management
495
514
  ✅ **Extension Support** - pgvector, PostGIS, pg_stat_statements, pg_cron
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/__tests__/mocks/adapter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC5B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8CAA8C,CAAC;AACpF,OAAO,KAAK,EACV,WAAW,EACX,SAAS,EACT,SAAS,EACT,UAAU,EACV,YAAY,EACZ,UAAU,EACX,MAAM,sBAAsB,CAAC;AAE9B;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAO,EACpC,YAAY,SAAI,GACf,WAAW,CAMb;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,QAAQ,UAAO,EACf,UAAU,UAAQ,GACjB,UAAU,CAQZ;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,MAAM,EACZ,UAAU,SAAW,EACrB,QAAQ,SAAM,GACb,SAAS,CAiBX;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,UAAU,SAAW,GACpB,SAAS,CASX;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,UAAU,CAMjD;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,SAAS,UAAO,GAAG,YAAY,CAarE;AAED;;GAEG;AACH,wBAAgB,yBAAyB,IAAI,OAAO,CAAC,eAAe,CAAC,GAAG;IACtE,YAAY,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;IACvC,gBAAgB,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;IAC3C,iBAAiB,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;IAC5C,eAAe,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;IAC1C,aAAa,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;IACxC,aAAa,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;IACxC,UAAU,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;IACrC,WAAW,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;IACtC,SAAS,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;CACrC,CA+EA;AAED;;GAEG;AACH,wBAAgB,wBAAwB,IAAI;IAC1C,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB,CAKA;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,UAAU,CAAC,OAAO,yBAAyB,CAAC,EACrD,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,WAAW,GAClB,IAAI,CAgBN;AAED;;GAEG;AACH,wBAAgB,8BAA8B,IAAI,UAAU,CAC1D,OAAO,yBAAyB,CACjC,CAaA;AAED;;GAEG;AACH,wBAAgB,kCAAkC,CAChD,YAAY,SAA+B,GAC1C,UAAU,CAAC,OAAO,yBAAyB,CAAC,CAY9C;AAED;;GAEG;AACH,wBAAgB,wCAAwC,IAAI,UAAU,CACpE,OAAO,yBAAyB,CACjC,GAAG;IACF,cAAc,EAAE;QACd,KAAK,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;QAChC,OAAO,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;KACnC,CAAC;CACH,CAaA;AAED;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG,UAAU,CAAC,OAAO,yBAAyB,CAAC,CAAC"}
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../src/__tests__/mocks/adapter.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAC;AAC5B,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8CAA8C,CAAC;AACpF,OAAO,KAAK,EACV,WAAW,EACX,SAAS,EACT,SAAS,EACT,UAAU,EACV,YAAY,EACZ,UAAU,EACX,MAAM,sBAAsB,CAAC;AAE9B;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAO,EACpC,YAAY,SAAI,GACf,WAAW,CAMb;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,MAAM,EACZ,QAAQ,UAAO,EACf,UAAU,UAAQ,GACjB,UAAU,CAQZ;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,MAAM,EACZ,UAAU,SAAW,EACrB,QAAQ,SAAM,GACb,SAAS,CAiBX;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,UAAU,SAAW,GACpB,SAAS,CASX;AAED;;GAEG;AACH,wBAAgB,oBAAoB,IAAI,UAAU,CAMjD;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,SAAS,UAAO,GAAG,YAAY,CAarE;AAED;;GAEG;AACH,wBAAgB,yBAAyB,IAAI,OAAO,CAAC,eAAe,CAAC,GAAG;IACtE,YAAY,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;IACvC,gBAAgB,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;IAC3C,iBAAiB,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;IAC5C,eAAe,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;IAC1C,aAAa,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;IACxC,aAAa,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;IACxC,UAAU,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;IACrC,WAAW,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;IACtC,SAAS,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;CACrC,CA8EA;AAED;;GAEG;AACH,wBAAgB,wBAAwB,IAAI;IAC1C,SAAS,EAAE,IAAI,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB,CAKA;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CACvC,OAAO,EAAE,UAAU,CAAC,OAAO,yBAAyB,CAAC,EACrD,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,WAAW,GAClB,IAAI,CAgBN;AAED;;GAEG;AACH,wBAAgB,8BAA8B,IAAI,UAAU,CAC1D,OAAO,yBAAyB,CACjC,CAaA;AAED;;GAEG;AACH,wBAAgB,kCAAkC,CAChD,YAAY,SAA+B,GAC1C,UAAU,CAAC,OAAO,yBAAyB,CAAC,CAY9C;AAED;;GAEG;AACH,wBAAgB,wCAAwC,IAAI,UAAU,CACpE,OAAO,yBAAyB,CACjC,GAAG;IACF,cAAc,EAAE;QACd,KAAK,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;QAChC,OAAO,EAAE,UAAU,CAAC,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;KACnC,CAAC;CACH,CAaA;AAED;;GAEG;AACH,MAAM,MAAM,mBAAmB,GAAG,UAAU,CAAC,OAAO,yBAAyB,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../src/__tests__/mocks/adapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adapter.js","sourceRoot":"","sources":["../../../src/__tests__/mocks/adapter.ts"],"names":[],"mappings":"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"}
@@ -98,13 +98,9 @@ export declare abstract class DatabaseAdapter {
98
98
  registerTools(server: McpServer, enabledTools: Set<string>): void;
99
99
  /**
100
100
  * Register a single tool with the MCP server
101
+ * Uses modern registerTool() API for MCP 2025-11-25 compliance
101
102
  */
102
103
  protected registerTool(server: McpServer, tool: ToolDefinition): void;
103
- /**
104
- * Extract the Zod shape from a schema, handling complex pipelines
105
- * Traverses through: preprocess, transform, effects, refine, pipe
106
- */
107
- private extractZodShape;
108
104
  /**
109
105
  * Register resources with the MCP server
110
106
  */
@@ -129,8 +125,11 @@ export declare abstract class DatabaseAdapter {
129
125
  validateQuery(sql: string, isReadOnly: boolean): void;
130
126
  /**
131
127
  * Create a request context for tool execution
128
+ * @param requestId Optional request ID for tracing
129
+ * @param server Optional MCP Server instance for progress notifications
130
+ * @param progressToken Optional progress token from client request _meta
132
131
  */
133
- createContext(requestId?: string): RequestContext;
132
+ createContext(requestId?: string, server?: unknown, progressToken?: string | number): RequestContext;
134
133
  /**
135
134
  * Get adapter info for logging/debugging
136
135
  */
@@ -1 +1 @@
1
- {"version":3,"file":"DatabaseAdapter.d.ts","sourceRoot":"","sources":["../../src/adapters/DatabaseAdapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DatabaseAdapter.d.ts","sourceRoot":"","sources":["../../src/adapters/DatabaseAdapter.ts"],"names":[],"mappings":"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"}
@@ -36,64 +36,75 @@ export class DatabaseAdapter {
36
36
  }
37
37
  /**
38
38
  * Register a single tool with the MCP server
39
+ * Uses modern registerTool() API for MCP 2025-11-25 compliance
39
40
  */
40
41
  registerTool(server, tool) {
41
- // MCP SDK server.tool() registration
42
- // Extract the Zod shape from inputSchema for MCP SDK compatibility
43
- // Handle complex chains: z.preprocess().transform().refine() etc.
44
- const zodShape = this.extractZodShape(tool.inputSchema);
45
- // Build metadata object with annotations and icons
46
- const metadata = {
47
- ...(tool.annotations ?? {}),
42
+ // Build tool options for registerTool()
43
+ const toolOptions = {
44
+ description: tool.description,
48
45
  };
49
- if (tool.icons && tool.icons.length > 0) {
50
- metadata["icons"] = tool.icons;
46
+ // Pass full inputSchema (not just .shape) for proper validation
47
+ if (tool.inputSchema !== undefined) {
48
+ toolOptions["inputSchema"] = tool.inputSchema;
51
49
  }
52
- // eslint-disable-next-line @typescript-eslint/no-deprecated
53
- server.tool(tool.name, tool.description,
54
- // eslint-disable-next-line @typescript-eslint/no-deprecated
55
- zodShape,
56
- // Pass annotations and icons (SDK 1.25+)
57
- metadata, async (params) => {
58
- const context = this.createContext();
59
- const result = await tool.handler(params, context);
60
- return {
61
- content: [
62
- {
63
- type: "text",
64
- text: typeof result === "string"
65
- ? result
66
- : JSON.stringify(result, null, 2),
67
- },
68
- ],
69
- };
70
- });
71
- }
72
- /**
73
- * Extract the Zod shape from a schema, handling complex pipelines
74
- * Traverses through: preprocess, transform, effects, refine, pipe
75
- */
76
- extractZodShape(schema) {
77
- if (schema === null || schema === undefined) {
78
- return {};
50
+ // MCP 2025-11-25: Pass outputSchema for structured responses
51
+ if (tool.outputSchema !== undefined) {
52
+ toolOptions["outputSchema"] = tool.outputSchema;
79
53
  }
80
- const s = schema;
81
- // Direct ZodObject - has shape directly
82
- if (s.shape !== undefined && typeof s.shape === "object") {
83
- return s.shape;
54
+ // MCP 2025-11-25: Pass annotations for behavioral hints
55
+ if (tool.annotations) {
56
+ toolOptions["annotations"] = tool.annotations;
84
57
  }
85
- // Check _def for wrapped types
86
- if (s._def !== undefined) {
87
- // ZodEffects (preprocess, transform, refine) - dive into innerType
88
- if (s._def.innerType !== undefined) {
89
- return this.extractZodShape(s._def.innerType);
58
+ // Pass icons if defined (SDK 1.25+)
59
+ if (tool.icons && tool.icons.length > 0) {
60
+ toolOptions["icons"] = tool.icons;
61
+ }
62
+ // Track whether tool has outputSchema for response handling
63
+ const hasOutputSchema = Boolean(tool.outputSchema);
64
+ server.registerTool(tool.name, toolOptions, async (args, extra) => {
65
+ try {
66
+ // Extract progressToken from extra._meta (SDK passes RequestHandlerExtra)
67
+ const extraMeta = extra;
68
+ const progressToken = extraMeta?._meta?.progressToken;
69
+ // Create context with progress support
70
+ const context = this.createContext(undefined, server.server, progressToken);
71
+ const result = await tool.handler(args, context);
72
+ // MCP 2025-11-25: Return structuredContent if outputSchema present
73
+ if (hasOutputSchema) {
74
+ return {
75
+ content: [
76
+ {
77
+ type: "text",
78
+ text: JSON.stringify(result, null, 2),
79
+ },
80
+ ],
81
+ structuredContent: result,
82
+ };
83
+ }
84
+ // Standard text content response
85
+ return {
86
+ content: [
87
+ {
88
+ type: "text",
89
+ text: typeof result === "string"
90
+ ? result
91
+ : JSON.stringify(result, null, 2),
92
+ },
93
+ ],
94
+ };
90
95
  }
91
- // ZodPipeline or other wrapped - dive into schema
92
- if (s._def.schema !== undefined) {
93
- return this.extractZodShape(s._def.schema);
96
+ catch (error) {
97
+ return {
98
+ content: [
99
+ {
100
+ type: "text",
101
+ text: `Error: ${error instanceof Error ? error.message : String(error)}`,
102
+ },
103
+ ],
104
+ isError: true,
105
+ };
94
106
  }
95
- }
96
- return {};
107
+ });
97
108
  }
98
109
  /**
99
110
  * Register resources with the MCP server
@@ -226,12 +237,22 @@ export class DatabaseAdapter {
226
237
  }
227
238
  /**
228
239
  * Create a request context for tool execution
240
+ * @param requestId Optional request ID for tracing
241
+ * @param server Optional MCP Server instance for progress notifications
242
+ * @param progressToken Optional progress token from client request _meta
229
243
  */
230
- createContext(requestId) {
231
- return {
244
+ createContext(requestId, server, progressToken) {
245
+ const context = {
232
246
  timestamp: new Date(),
233
247
  requestId: requestId ?? crypto.randomUUID(),
234
248
  };
249
+ if (server !== undefined) {
250
+ context.server = server;
251
+ }
252
+ if (progressToken !== undefined) {
253
+ context.progressToken = progressToken;
254
+ }
255
+ return context;
235
256
  }
236
257
  /**
237
258
  * Get adapter info for logging/debugging
@@ -1 +1 @@
1
- {"version":3,"file":"DatabaseAdapter.js","sourceRoot":"","sources":["../../src/adapters/DatabaseAdapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DatabaseAdapter.js","sourceRoot":"","sources":["../../src/adapters/DatabaseAdapter.ts"],"names":[],"mappings":"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"}
@@ -67,6 +67,19 @@ export declare class PostgresAdapter extends DatabaseAdapter {
67
67
  * Get connection for a transaction
68
68
  */
69
69
  getTransactionConnection(transactionId: string): PoolClient | undefined;
70
+ /**
71
+ * Get all active transaction IDs
72
+ * Used by code mode to track transactions started during execution
73
+ */
74
+ getActiveTransactionIds(): string[];
75
+ /**
76
+ * Rollback and cleanup a specific transaction by ID
77
+ * Used for cleaning up orphaned transactions after code mode errors
78
+ *
79
+ * @param transactionId - The transaction ID to cleanup
80
+ * @returns true if transaction was found and cleaned up, false if not found
81
+ */
82
+ cleanupTransaction(transactionId: string): Promise<boolean>;
70
83
  getSchema(): Promise<SchemaInfo>;
71
84
  /**
72
85
  * Get all indexes across all user tables in a single query
@@ -1 +1 @@
1
- {"version":3,"file":"PostgresAdapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/postgresql/PostgresAdapter.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PostgresAdapter.d.ts","sourceRoot":"","sources":["../../../src/adapters/postgresql/PostgresAdapter.ts"],"names":[],"mappings":"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"}
@@ -8,6 +8,7 @@ import { DatabaseAdapter } from "../DatabaseAdapter.js";
8
8
  import { ConnectionPool } from "../../pool/ConnectionPool.js";
9
9
  import { ConnectionError, QueryError, TransactionError, } from "../../types/index.js";
10
10
  import { logger } from "../../utils/logger.js";
11
+ import { quoteIdentifier } from "../../utils/identifiers.js";
11
12
  // Import tool modules (will be created next)
12
13
  import { getCoreTools } from "./tools/core/index.js";
13
14
  import { getTransactionTools } from "./tools/transactions.js";
@@ -262,7 +263,7 @@ export class PostgresAdapter extends DatabaseAdapter {
262
263
  if (!client) {
263
264
  throw new TransactionError(`Transaction not found: ${transactionId}`);
264
265
  }
265
- await client.query(`SAVEPOINT ${savepointName}`);
266
+ await client.query(`SAVEPOINT ${quoteIdentifier(savepointName)}`);
266
267
  }
267
268
  /**
268
269
  * Release a savepoint
@@ -272,7 +273,7 @@ export class PostgresAdapter extends DatabaseAdapter {
272
273
  if (!client) {
273
274
  throw new TransactionError(`Transaction not found: ${transactionId}`);
274
275
  }
275
- await client.query(`RELEASE SAVEPOINT ${savepointName}`);
276
+ await client.query(`RELEASE SAVEPOINT ${quoteIdentifier(savepointName)}`);
276
277
  }
277
278
  /**
278
279
  * Rollback to a savepoint
@@ -282,7 +283,7 @@ export class PostgresAdapter extends DatabaseAdapter {
282
283
  if (!client) {
283
284
  throw new TransactionError(`Transaction not found: ${transactionId}`);
284
285
  }
285
- await client.query(`ROLLBACK TO SAVEPOINT ${savepointName}`);
286
+ await client.query(`ROLLBACK TO SAVEPOINT ${quoteIdentifier(savepointName)}`);
286
287
  }
287
288
  /**
288
289
  * Get connection for a transaction
@@ -290,6 +291,50 @@ export class PostgresAdapter extends DatabaseAdapter {
290
291
  getTransactionConnection(transactionId) {
291
292
  return this.activeTransactions.get(transactionId);
292
293
  }
294
+ /**
295
+ * Get all active transaction IDs
296
+ * Used by code mode to track transactions started during execution
297
+ */
298
+ getActiveTransactionIds() {
299
+ return Array.from(this.activeTransactions.keys());
300
+ }
301
+ /**
302
+ * Rollback and cleanup a specific transaction by ID
303
+ * Used for cleaning up orphaned transactions after code mode errors
304
+ *
305
+ * @param transactionId - The transaction ID to cleanup
306
+ * @returns true if transaction was found and cleaned up, false if not found
307
+ */
308
+ async cleanupTransaction(transactionId) {
309
+ const client = this.activeTransactions.get(transactionId);
310
+ if (!client) {
311
+ return false;
312
+ }
313
+ try {
314
+ await client.query("ROLLBACK");
315
+ client.release();
316
+ this.activeTransactions.delete(transactionId);
317
+ logger.warn(`Cleaned up orphaned transaction during code mode error recovery: ${transactionId}`, { module: "CODEMODE" });
318
+ return true;
319
+ }
320
+ catch (error) {
321
+ // Best effort cleanup - log and continue
322
+ logger.error("Failed to cleanup orphaned transaction", {
323
+ module: "CODEMODE",
324
+ error: error instanceof Error ? error.message : String(error),
325
+ transactionId,
326
+ });
327
+ // Still try to release the client
328
+ try {
329
+ client.release(true); // Force release with error
330
+ this.activeTransactions.delete(transactionId);
331
+ }
332
+ catch {
333
+ // Ignore - connection may be broken
334
+ }
335
+ return false;
336
+ }
337
+ }
293
338
  // =========================================================================
294
339
  // Schema Operations
295
340
  // =========================================================================