@neverinfamous/postgres-mcp 1.0.2 → 1.2.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.
- package/README.md +65 -38
- package/dist/__tests__/mocks/adapter.d.ts.map +1 -1
- package/dist/__tests__/mocks/adapter.js +0 -1
- package/dist/__tests__/mocks/adapter.js.map +1 -1
- package/dist/__tests__/mocks/pool.d.ts.map +1 -1
- package/dist/__tests__/mocks/pool.js +0 -1
- package/dist/__tests__/mocks/pool.js.map +1 -1
- package/dist/adapters/DatabaseAdapter.d.ts +5 -6
- package/dist/adapters/DatabaseAdapter.d.ts.map +1 -1
- package/dist/adapters/DatabaseAdapter.js +74 -53
- package/dist/adapters/DatabaseAdapter.js.map +1 -1
- package/dist/adapters/postgresql/PostgresAdapter.d.ts +13 -0
- package/dist/adapters/postgresql/PostgresAdapter.d.ts.map +1 -1
- package/dist/adapters/postgresql/PostgresAdapter.js +73 -8
- package/dist/adapters/postgresql/PostgresAdapter.js.map +1 -1
- package/dist/adapters/postgresql/prompts/backup.d.ts.map +1 -1
- package/dist/adapters/postgresql/prompts/backup.js +2 -3
- package/dist/adapters/postgresql/prompts/backup.js.map +1 -1
- package/dist/adapters/postgresql/prompts/citext.d.ts.map +1 -1
- package/dist/adapters/postgresql/prompts/citext.js +3 -4
- package/dist/adapters/postgresql/prompts/citext.js.map +1 -1
- package/dist/adapters/postgresql/prompts/extensionSetup.d.ts.map +1 -1
- package/dist/adapters/postgresql/prompts/extensionSetup.js +2 -3
- package/dist/adapters/postgresql/prompts/extensionSetup.js.map +1 -1
- package/dist/adapters/postgresql/prompts/health.d.ts.map +1 -1
- package/dist/adapters/postgresql/prompts/health.js +2 -3
- package/dist/adapters/postgresql/prompts/health.js.map +1 -1
- package/dist/adapters/postgresql/prompts/index.js +20 -27
- package/dist/adapters/postgresql/prompts/index.js.map +1 -1
- package/dist/adapters/postgresql/prompts/indexTuning.d.ts.map +1 -1
- package/dist/adapters/postgresql/prompts/indexTuning.js +2 -3
- package/dist/adapters/postgresql/prompts/indexTuning.js.map +1 -1
- package/dist/adapters/postgresql/prompts/kcache.d.ts.map +1 -1
- package/dist/adapters/postgresql/prompts/kcache.js +3 -4
- package/dist/adapters/postgresql/prompts/kcache.js.map +1 -1
- package/dist/adapters/postgresql/prompts/ltree.d.ts.map +1 -1
- package/dist/adapters/postgresql/prompts/ltree.js +3 -4
- package/dist/adapters/postgresql/prompts/ltree.js.map +1 -1
- package/dist/adapters/postgresql/prompts/partman.d.ts.map +1 -1
- package/dist/adapters/postgresql/prompts/partman.js +2 -3
- package/dist/adapters/postgresql/prompts/partman.js.map +1 -1
- package/dist/adapters/postgresql/prompts/pgcron.d.ts.map +1 -1
- package/dist/adapters/postgresql/prompts/pgcron.js +2 -3
- package/dist/adapters/postgresql/prompts/pgcron.js.map +1 -1
- package/dist/adapters/postgresql/prompts/pgcrypto.d.ts.map +1 -1
- package/dist/adapters/postgresql/prompts/pgcrypto.js +3 -4
- package/dist/adapters/postgresql/prompts/pgcrypto.js.map +1 -1
- package/dist/adapters/postgresql/prompts/pgvector.d.ts.map +1 -1
- package/dist/adapters/postgresql/prompts/pgvector.js +3 -4
- package/dist/adapters/postgresql/prompts/pgvector.js.map +1 -1
- package/dist/adapters/postgresql/prompts/postgis.d.ts.map +1 -1
- package/dist/adapters/postgresql/prompts/postgis.js +2 -3
- package/dist/adapters/postgresql/prompts/postgis.js.map +1 -1
- package/dist/adapters/postgresql/schemas/admin.d.ts +42 -0
- package/dist/adapters/postgresql/schemas/admin.d.ts.map +1 -1
- package/dist/adapters/postgresql/schemas/admin.js +61 -0
- package/dist/adapters/postgresql/schemas/admin.js.map +1 -1
- package/dist/adapters/postgresql/schemas/backup.d.ts +119 -0
- package/dist/adapters/postgresql/schemas/backup.d.ts.map +1 -1
- package/dist/adapters/postgresql/schemas/backup.js +169 -0
- package/dist/adapters/postgresql/schemas/backup.js.map +1 -1
- package/dist/adapters/postgresql/schemas/core.d.ts +28 -0
- package/dist/adapters/postgresql/schemas/core.d.ts.map +1 -1
- package/dist/adapters/postgresql/schemas/core.js +66 -0
- package/dist/adapters/postgresql/schemas/core.js.map +1 -1
- package/dist/adapters/postgresql/schemas/cron.d.ts +117 -0
- package/dist/adapters/postgresql/schemas/cron.d.ts.map +1 -1
- package/dist/adapters/postgresql/schemas/cron.js +148 -1
- package/dist/adapters/postgresql/schemas/cron.js.map +1 -1
- package/dist/adapters/postgresql/schemas/extensions.d.ts +335 -0
- package/dist/adapters/postgresql/schemas/extensions.d.ts.map +1 -1
- package/dist/adapters/postgresql/schemas/extensions.js +455 -2
- package/dist/adapters/postgresql/schemas/extensions.js.map +1 -1
- package/dist/adapters/postgresql/schemas/index.d.ts +15 -15
- package/dist/adapters/postgresql/schemas/index.d.ts.map +1 -1
- package/dist/adapters/postgresql/schemas/index.js +56 -16
- package/dist/adapters/postgresql/schemas/index.js.map +1 -1
- package/dist/adapters/postgresql/schemas/jsonb.d.ts +408 -21
- package/dist/adapters/postgresql/schemas/jsonb.d.ts.map +1 -1
- package/dist/adapters/postgresql/schemas/jsonb.js +544 -23
- package/dist/adapters/postgresql/schemas/jsonb.js.map +1 -1
- package/dist/adapters/postgresql/schemas/monitoring.d.ts +179 -0
- package/dist/adapters/postgresql/schemas/monitoring.d.ts.map +1 -1
- package/dist/adapters/postgresql/schemas/monitoring.js +240 -0
- package/dist/adapters/postgresql/schemas/monitoring.js.map +1 -1
- package/dist/adapters/postgresql/schemas/partitioning.d.ts +60 -0
- package/dist/adapters/postgresql/schemas/partitioning.d.ts.map +1 -1
- package/dist/adapters/postgresql/schemas/partitioning.js +89 -2
- package/dist/adapters/postgresql/schemas/partitioning.js.map +1 -1
- package/dist/adapters/postgresql/schemas/partman.d.ts +156 -0
- package/dist/adapters/postgresql/schemas/partman.d.ts.map +1 -1
- package/dist/adapters/postgresql/schemas/partman.js +203 -0
- package/dist/adapters/postgresql/schemas/partman.js.map +1 -1
- package/dist/adapters/postgresql/schemas/performance.d.ts +124 -0
- package/dist/adapters/postgresql/schemas/performance.d.ts.map +1 -1
- package/dist/adapters/postgresql/schemas/performance.js +220 -0
- package/dist/adapters/postgresql/schemas/performance.js.map +1 -1
- package/dist/adapters/postgresql/schemas/postgis.d.ts +173 -0
- package/dist/adapters/postgresql/schemas/postgis.d.ts.map +1 -1
- package/dist/adapters/postgresql/schemas/postgis.js +279 -3
- package/dist/adapters/postgresql/schemas/postgis.js.map +1 -1
- package/dist/adapters/postgresql/schemas/schema-mgmt.d.ts +100 -0
- package/dist/adapters/postgresql/schemas/schema-mgmt.d.ts.map +1 -1
- package/dist/adapters/postgresql/schemas/schema-mgmt.js +133 -0
- package/dist/adapters/postgresql/schemas/schema-mgmt.js.map +1 -1
- package/dist/adapters/postgresql/schemas/stats.d.ts +248 -4
- package/dist/adapters/postgresql/schemas/stats.d.ts.map +1 -1
- package/dist/adapters/postgresql/schemas/stats.js +362 -0
- package/dist/adapters/postgresql/schemas/stats.js.map +1 -1
- package/dist/adapters/postgresql/schemas/text-search.d.ts +47 -0
- package/dist/adapters/postgresql/schemas/text-search.d.ts.map +1 -1
- package/dist/adapters/postgresql/schemas/text-search.js +66 -1
- package/dist/adapters/postgresql/schemas/text-search.js.map +1 -1
- package/dist/adapters/postgresql/schemas/vector.d.ts +252 -0
- package/dist/adapters/postgresql/schemas/vector.d.ts.map +1 -1
- package/dist/adapters/postgresql/schemas/vector.js +373 -0
- package/dist/adapters/postgresql/schemas/vector.js.map +1 -1
- package/dist/adapters/postgresql/tools/admin.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/admin.js +37 -7
- package/dist/adapters/postgresql/tools/admin.js.map +1 -1
- package/dist/adapters/postgresql/tools/backup/dump.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/backup/dump.js +64 -52
- package/dist/adapters/postgresql/tools/backup/dump.js.map +1 -1
- package/dist/adapters/postgresql/tools/backup/planning.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/backup/planning.js +181 -172
- package/dist/adapters/postgresql/tools/backup/planning.js.map +1 -1
- package/dist/adapters/postgresql/tools/citext.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/citext.js +9 -1
- package/dist/adapters/postgresql/tools/citext.js.map +1 -1
- package/dist/adapters/postgresql/tools/codemode/index.d.ts +11 -0
- package/dist/adapters/postgresql/tools/codemode/index.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/codemode/index.js +33 -0
- package/dist/adapters/postgresql/tools/codemode/index.js.map +1 -1
- package/dist/adapters/postgresql/tools/core/convenience.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/core/convenience.js +31 -5
- package/dist/adapters/postgresql/tools/core/convenience.js.map +1 -1
- package/dist/adapters/postgresql/tools/core/health.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/core/health.js +12 -4
- package/dist/adapters/postgresql/tools/core/health.js.map +1 -1
- package/dist/adapters/postgresql/tools/core/indexes.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/core/indexes.js +4 -0
- package/dist/adapters/postgresql/tools/core/indexes.js.map +1 -1
- package/dist/adapters/postgresql/tools/core/objects.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/core/objects.js +4 -1
- package/dist/adapters/postgresql/tools/core/objects.js.map +1 -1
- package/dist/adapters/postgresql/tools/core/query.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/core/query.js +6 -3
- package/dist/adapters/postgresql/tools/core/query.js.map +1 -1
- package/dist/adapters/postgresql/tools/core/schemas.d.ts +165 -0
- package/dist/adapters/postgresql/tools/core/schemas.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/core/schemas.js +242 -0
- package/dist/adapters/postgresql/tools/core/schemas.js.map +1 -1
- package/dist/adapters/postgresql/tools/core/tables.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/core/tables.js +11 -2
- package/dist/adapters/postgresql/tools/core/tables.js.map +1 -1
- package/dist/adapters/postgresql/tools/cron.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/cron.js +12 -2
- package/dist/adapters/postgresql/tools/cron.js.map +1 -1
- package/dist/adapters/postgresql/tools/jsonb/advanced.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/jsonb/advanced.js +56 -46
- package/dist/adapters/postgresql/tools/jsonb/advanced.js.map +1 -1
- package/dist/adapters/postgresql/tools/jsonb/basic.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/jsonb/basic.js +114 -72
- package/dist/adapters/postgresql/tools/jsonb/basic.js.map +1 -1
- package/dist/adapters/postgresql/tools/kcache.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/kcache.js +55 -16
- package/dist/adapters/postgresql/tools/kcache.js.map +1 -1
- package/dist/adapters/postgresql/tools/ltree.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/ltree.js +16 -1
- package/dist/adapters/postgresql/tools/ltree.js.map +1 -1
- package/dist/adapters/postgresql/tools/monitoring.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/monitoring.js +19 -7
- package/dist/adapters/postgresql/tools/monitoring.js.map +1 -1
- package/dist/adapters/postgresql/tools/partitioning.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/partitioning.js +80 -1
- package/dist/adapters/postgresql/tools/partitioning.js.map +1 -1
- package/dist/adapters/postgresql/tools/partman/management.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/partman/management.js +9 -2
- package/dist/adapters/postgresql/tools/partman/management.js.map +1 -1
- package/dist/adapters/postgresql/tools/partman/operations.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/partman/operations.js +11 -4
- package/dist/adapters/postgresql/tools/partman/operations.js.map +1 -1
- package/dist/adapters/postgresql/tools/performance/analysis.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/performance/analysis.js +4 -0
- package/dist/adapters/postgresql/tools/performance/analysis.js.map +1 -1
- package/dist/adapters/postgresql/tools/performance/explain.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/performance/explain.js +4 -1
- package/dist/adapters/postgresql/tools/performance/explain.js.map +1 -1
- package/dist/adapters/postgresql/tools/performance/monitoring.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/performance/monitoring.js +10 -8
- package/dist/adapters/postgresql/tools/performance/monitoring.js.map +1 -1
- package/dist/adapters/postgresql/tools/performance/optimization.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/performance/optimization.js +4 -0
- package/dist/adapters/postgresql/tools/performance/optimization.js.map +1 -1
- package/dist/adapters/postgresql/tools/performance/stats.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/performance/stats.js +13 -1
- package/dist/adapters/postgresql/tools/performance/stats.js.map +1 -1
- package/dist/adapters/postgresql/tools/pgcrypto.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/pgcrypto.js +18 -9
- package/dist/adapters/postgresql/tools/pgcrypto.js.map +1 -1
- package/dist/adapters/postgresql/tools/postgis/advanced.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/postgis/advanced.js +41 -6
- package/dist/adapters/postgresql/tools/postgis/advanced.js.map +1 -1
- package/dist/adapters/postgresql/tools/postgis/basic.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/postgis/basic.js +13 -3
- package/dist/adapters/postgresql/tools/postgis/basic.js.map +1 -1
- package/dist/adapters/postgresql/tools/postgis/standalone.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/postgis/standalone.js +6 -1
- package/dist/adapters/postgresql/tools/postgis/standalone.js.map +1 -1
- package/dist/adapters/postgresql/tools/schema.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/schema.js +33 -3
- package/dist/adapters/postgresql/tools/schema.js.map +1 -1
- package/dist/adapters/postgresql/tools/stats/advanced.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/stats/advanced.js +59 -20
- package/dist/adapters/postgresql/tools/stats/advanced.js.map +1 -1
- package/dist/adapters/postgresql/tools/stats/basic.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/stats/basic.js +35 -13
- package/dist/adapters/postgresql/tools/stats/basic.js.map +1 -1
- package/dist/adapters/postgresql/tools/text.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/text.js +54 -33
- package/dist/adapters/postgresql/tools/text.js.map +1 -1
- package/dist/adapters/postgresql/tools/transactions.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/transactions.js +10 -1
- package/dist/adapters/postgresql/tools/transactions.js.map +1 -1
- package/dist/adapters/postgresql/tools/vector/advanced.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/vector/advanced.js +81 -43
- package/dist/adapters/postgresql/tools/vector/advanced.js.map +1 -1
- package/dist/adapters/postgresql/tools/vector/basic.d.ts +8 -0
- package/dist/adapters/postgresql/tools/vector/basic.d.ts.map +1 -1
- package/dist/adapters/postgresql/tools/vector/basic.js +175 -57
- package/dist/adapters/postgresql/tools/vector/basic.js.map +1 -1
- package/dist/cli/args.d.ts +2 -0
- package/dist/cli/args.d.ts.map +1 -1
- package/dist/cli/args.js +15 -0
- package/dist/cli/args.js.map +1 -1
- package/dist/cli.js +7 -6
- package/dist/cli.js.map +1 -1
- package/dist/codemode/api.d.ts.map +1 -1
- package/dist/codemode/api.js +7 -2
- package/dist/codemode/api.js.map +1 -1
- package/dist/constants/ServerInstructions.d.ts +1 -1
- package/dist/constants/ServerInstructions.d.ts.map +1 -1
- package/dist/constants/ServerInstructions.js +45 -35
- package/dist/constants/ServerInstructions.js.map +1 -1
- package/dist/filtering/ToolConstants.d.ts +29 -13
- package/dist/filtering/ToolConstants.d.ts.map +1 -1
- package/dist/filtering/ToolConstants.js +45 -27
- package/dist/filtering/ToolConstants.js.map +1 -1
- package/dist/types/adapters.d.ts +2 -0
- package/dist/types/adapters.d.ts.map +1 -1
- package/dist/types/oauth.d.ts +4 -0
- package/dist/types/oauth.d.ts.map +1 -1
- package/dist/utils/fts-config.d.ts +38 -0
- package/dist/utils/fts-config.d.ts.map +1 -0
- package/dist/utils/fts-config.js +64 -0
- package/dist/utils/fts-config.js.map +1 -0
- package/dist/utils/identifiers.d.ts +21 -0
- package/dist/utils/identifiers.d.ts.map +1 -1
- package/dist/utils/identifiers.js +48 -0
- package/dist/utils/identifiers.js.map +1 -1
- package/dist/utils/logger.d.ts +22 -1
- package/dist/utils/logger.d.ts.map +1 -1
- package/dist/utils/logger.js +73 -16
- package/dist/utils/logger.js.map +1 -1
- package/dist/utils/progress-utils.d.ts +44 -0
- package/dist/utils/progress-utils.d.ts.map +1 -0
- package/dist/utils/progress-utils.js +75 -0
- package/dist/utils/progress-utils.js.map +1 -0
- package/dist/utils/where-clause.d.ts +39 -0
- package/dist/utils/where-clause.d.ts.map +1 -0
- package/dist/utils/where-clause.js +123 -0
- package/dist/utils/where-clause.js.map +1 -0
- package/package.json +8 -8
|
@@ -22,7 +22,7 @@ export const SERVER_INSTRUCTIONS = `# postgres-mcp Code Mode
|
|
|
22
22
|
7. **pg_list_objects type**: Use \`type\` (singular string) or \`types\` (array). Auto-converts: \`{type: 'table'}\` ≡ \`{types: ['table']}\`
|
|
23
23
|
8. **pg_object_details**: Accepts: \`name\`, \`objectName\`, \`object\`, or \`table\`. Use \`type\`/\`objectType\` for type hint (supports: table, view, materialized_view, partitioned_table, function, sequence, index)
|
|
24
24
|
9. **pg_exists optional WHERE**: \`where\`/\`condition\`/\`filter\` is optional. Without it, checks if table has any rows
|
|
25
|
-
10. **pg_describe_table**: Returns columns, foreignKeys, primaryKey
|
|
25
|
+
10. **pg_describe_table**: Returns columns, foreignKeys, primaryKey, indexes, constraints. For listing ALL database indexes (not table-specific), use \`pg_get_indexes\` without \`table\` param
|
|
26
26
|
11. **pg_vector_insert updateExisting**: Uses direct UPDATE (avoids NOT NULL constraint issues vs INSERT mode)
|
|
27
27
|
12. **pg_get_indexes without table**: Returns ALL database indexes (potentially large). Use \`table\` param for specific table
|
|
28
28
|
13. **pg_upsert/pg_batch_insert RETURNING**: \`returning\` param must be array of column names: \`["id", "name"]\`. ⛔ \`"*"\` wildcard not supported
|
|
@@ -33,8 +33,8 @@ export const SERVER_INSTRUCTIONS = `# postgres-mcp Code Mode
|
|
|
33
33
|
| Tool | Returns | Notes |
|
|
34
34
|
|------|---------|-------|
|
|
35
35
|
| \`pg_read_query\` | \`{rows, rowCount, fields?}\` | \`fields\` contains column metadata (name, dataTypeID) |
|
|
36
|
-
| \`pg_write_query\` | \`{rowsAffected, affectedRows, rows?}\` | \`rows\` only with RETURNING clause. ⛔ Throws for SELECT |
|
|
37
|
-
| \`pg_upsert\` | \`{operation, rowsAffected, rowCount, rows?}\` | \`operation: 'insert'|'update'\`. \`rows\` only with RETURNING clause |
|
|
36
|
+
| \`pg_write_query\` | \`{rowsAffected, affectedRows, rows?}\` | \`rows\` only with RETURNING clause. DDL statements return \`rowsAffected: 0\`. ⛔ Throws for SELECT |
|
|
37
|
+
| \`pg_upsert\` | \`{success, operation, rowsAffected, rowCount, rows?}\` | \`operation: 'insert'|'update'\`. \`rows\` only with RETURNING clause |
|
|
38
38
|
| \`pg_batch_insert\` | \`{rowsAffected, affectedRows, insertedCount, rows?}\` | Empty objects use DEFAULT VALUES. ⚠️ BIGINT > 2^53 loses precision |
|
|
39
39
|
| \`pg_count\` | \`{count: N}\` | Use \`params\` for placeholders: \`where: 'id=$1', params: [5]\`. DISTINCT: use \`pg_read_query\` |
|
|
40
40
|
| \`pg_exists\` | \`{exists: bool, mode, hint?}\` | \`params\` for placeholders. \`mode: 'filtered'|'any_rows'\` |
|
|
@@ -42,18 +42,23 @@ export const SERVER_INSTRUCTIONS = `# postgres-mcp Code Mode
|
|
|
42
42
|
| \`pg_list_objects\` | \`{objects, count, totalCount, byType}\` | Use \`limit\` to cap results, \`type\`/\`types\` to filter |
|
|
43
43
|
| \`pg_object_details\` | \`{name, schema, type, returnType?, ...}\` | Functions: \`returnType\` alias. Views/Mat. views: \`definition\` |
|
|
44
44
|
| \`pg_analyze_db_health\` | \`{cacheHitRatio: {ratio, heap, index, status}}\` | \`ratio\` = primary numeric %. \`bloat\` available |
|
|
45
|
-
| \`pg_describe_table\` | \`{columns, indexes, constraints, foreignKeys}\` | Columns include \`notNull\` (alias for \`!nullable\`), \`foreignKey\`. \`constraints\` includes PK, UNIQUE, CHECK, NOT NULL |
|
|
45
|
+
| \`pg_describe_table\` | \`{name, schema, type, owner, rowCount, columns, primaryKey, indexes, constraints, foreignKeys}\` | Columns include \`notNull\` (alias for \`!nullable\`), \`foreignKey\`. \`constraints\` includes PK, UNIQUE, CHECK, NOT NULL. ⚠️ \`rowCount: -1\` = stale/missing statistics (run ANALYZE on the table). Small tables (<~50 rows) may show -1 until first ANALYZE |
|
|
46
46
|
| \`pg_analyze_query_indexes\` | \`{plan, issues, recommendations}\` | \`verbosity\`: 'summary' (default) or 'full'. Summary mode returns condensed plan |
|
|
47
|
-
| \`pg_list_tables\` | \`{tables, count}\` | Use \`schema\` to filter, \`limit\` to cap results |
|
|
47
|
+
| \`pg_list_tables\` | \`{tables, count}\` | Use \`schema\` to filter, \`limit\` to cap results, \`exclude\` to hide extension schemas (e.g., \`['cron', 'topology', 'partman']\`) |
|
|
48
48
|
| List operations | \`{items, count}\` | Access via \`result.tables\`, \`result.views\`, etc. |
|
|
49
49
|
| \`pg_jsonb_agg groupBy\` | \`{result: [{group_key, items}], count, grouped: true}\` | Without groupBy: \`{result: [...], count, grouped: false}\` |
|
|
50
50
|
| \`pg_vector_aggregate\` | \`{average_vector, count}\` or \`{groups: [{group_key, average_vector, count}]}\` | Without/with \`groupBy\` |
|
|
51
|
+
| \`pg_index_stats\` | \`{indexes, count, truncated?, totalCount?}\` | Default 50 rows. Use \`limit: 0\` for all |
|
|
52
|
+
| \`pg_table_stats\` | \`{tables, count, truncated?, totalCount?}\` | Default 50 rows. Use \`limit: 0\` for all |
|
|
53
|
+
| \`pg_vacuum_stats\` | \`{tables, count, truncated?, totalCount?}\` | Default 50 rows. Use \`limit: 0\` for all |
|
|
54
|
+
| \`pg_stat_statements\` | \`{statements, count, truncated?, totalCount?}\` | Default 20 rows. \`orderBy\` supported |
|
|
55
|
+
| \`pg_query_plan_stats\` | \`{queryPlanStats, count, truncated?, totalCount?}\` | Default 20 rows. \`truncateQuery: 0\` for full text |
|
|
51
56
|
|
|
52
57
|
## API Mapping
|
|
53
58
|
|
|
54
59
|
\`pg_group_action\` → \`pg.group.action()\` (group prefixes dropped: \`pg_jsonb_extract\` → \`pg.jsonb.extract()\`)
|
|
55
60
|
|
|
56
|
-
**Top-Level Core Aliases**: All starter tools available directly: \`pg.readQuery()\`, \`pg.writeQuery()\`, \`pg.listTables()\`, \`pg.describeTable()\`, \`pg.createTable()\`, \`pg.dropTable()\`, \`pg.count()\`, \`pg.exists()\`, \`pg.upsert()\`, \`pg.batchInsert()\`, \`pg.truncate()\`, \`pg.createIndex()\`, \`pg.dropIndex()\`, \`pg.getIndexes()\`, \`pg.listObjects()\`, \`pg.objectDetails()\`, \`pg.analyzeDbHealth()\`, \`pg.analyzeQueryIndexes()\`, \`pg.analyzeWorkloadIndexes()\`
|
|
61
|
+
**Top-Level Core Aliases**: All starter tools available directly: \`pg.readQuery()\`, \`pg.writeQuery()\`, \`pg.listTables()\`, \`pg.describeTable()\`, \`pg.createTable()\`, \`pg.dropTable()\`, \`pg.count()\`, \`pg.exists()\`, \`pg.upsert()\`, \`pg.batchInsert()\`, \`pg.truncate()\`, \`pg.createIndex()\`, \`pg.dropIndex()\`, \`pg.getIndexes()\`, \`pg.listObjects()\`, \`pg.objectDetails()\`, \`pg.listExtensions()\`, \`pg.analyzeDbHealth()\`, \`pg.analyzeQueryIndexes()\`, \`pg.analyzeWorkloadIndexes()\`
|
|
57
62
|
|
|
58
63
|
**Positional args work**: \`readQuery("SELECT...")\`, \`exists("users", "id=1")\`, \`createIndex("users", ["email"])\`
|
|
59
64
|
|
|
@@ -69,6 +74,8 @@ export const SERVER_INSTRUCTIONS = `# postgres-mcp Code Mode
|
|
|
69
74
|
|
|
70
75
|
## Vector Tools
|
|
71
76
|
|
|
77
|
+
⚠️ **Large Vectors**: Direct MCP tool calls may truncate vectors >256 dimensions due to JSON-RPC message size limits. For vectors ≥256 dimensions (e.g., OpenAI 1536-dim, local 384-dim), use Code Mode: \`await pg.vector.search({table, column, vector, limit})\`
|
|
78
|
+
|
|
72
79
|
- \`pg_vector_search\`: Supports \`schema.table\` format (auto-parsed). Returns \`{results: [...], count, metric}\`. Use \`select: ["id", "name"]\` to include identifying columns. Without select, only returns distance. \`filter\` = \`where\`. ⚠️ Vectors read from DB are strings—parse before passing: \`vec.replace(/^\\[|\\]$/g, '').split(',').map(Number)\`
|
|
73
80
|
- \`pg_vector_insert\`: Supports \`schema.table\` format (auto-parsed). Use \`updateExisting\` + \`conflictColumn\` + \`conflictValue\` for UPDATE mode. \`additionalColumns\` is applied in both INSERT and UPDATE modes
|
|
74
81
|
- \`pg_vector_batch_insert\`: \`vectors\` expects \`[{vector: [...], data?: {...}}]\` objects, not raw arrays
|
|
@@ -78,27 +85,28 @@ export const SERVER_INSTRUCTIONS = `# postgres-mcp Code Mode
|
|
|
78
85
|
- \`pg_vector_distance\`: Calculate distance between two vectors. \`metric\`: 'l2' (default), 'cosine', 'inner_product'. Returns \`{distance, metric}\`
|
|
79
86
|
- \`pg_vector_cluster\`: \`clusters\` = \`k\`. Returns centroids with \`{preview, dimensions, truncated}\` format for large vectors (>10 dims)—use \`pg_vector_distance\` to assign rows
|
|
80
87
|
- \`pg_vector_create_index\`: Use \`type\` (or alias \`method\`) with values 'ivfflat' or 'hnsw'. IVFFlat: \`lists\` param. HNSW: \`m\`, \`efConstruction\` params
|
|
81
|
-
- \`pg_vector_performance\`: Auto-generates testVector from first row if omitted. Returns \`testVectorSource: 'auto-generated'|'user-provided'\`
|
|
88
|
+
- \`pg_vector_performance\`: Auto-generates testVector from first row if omitted. Returns \`testVectorSource: 'auto-generated from first row'|'user-provided'\`
|
|
82
89
|
- \`pg_vector_validate\`: Returns \`{valid: bool, vectorDimensions}\`. Empty vector \`[]\` returns \`{valid: true, vectorDimensions: 0}\`
|
|
83
90
|
- ⛔ \`pg_vector_embed\`: Demo only (hash-based). Use OpenAI/Cohere for production.
|
|
84
|
-
- \`pg_hybrid_search\`: Supports \`schema.table\` format (auto-parsed). Combines vector similarity and full-text search with weighted scoring. Code mode alias: \`pg.hybridSearch()\` → \`pg.vector.hybridSearch()\`
|
|
91
|
+
- \`pg_hybrid_search\`: Supports \`schema.table\` format (auto-parsed). Combines vector similarity and full-text search with weighted scoring. \`textColumn\` auto-detects type: uses tsvector columns directly, wraps text columns with \`to_tsvector()\`. Code mode alias: \`pg.hybridSearch()\` → \`pg.vector.hybridSearch()\`
|
|
85
92
|
- 📝 **Error Handling**: Vector tools return \`{success: false, error: "...", suggestion: "..."}\` for validation/semantic errors (dimension mismatch, non-vector column, table not found). Check \`success\` field before processing results.
|
|
86
93
|
|
|
87
94
|
## JSONB Tools
|
|
88
95
|
|
|
89
96
|
- \`pg_jsonb_extract\`: Returns null if path doesn't exist
|
|
90
|
-
- \`pg_jsonb_insert\`: Index -1 inserts BEFORE last element; use \`insertAfter: true\` to append
|
|
97
|
+
- \`pg_jsonb_insert\`: Index -1 inserts BEFORE last element; use \`insertAfter: true\` to append. ⚠️ Use array format \`[-1]\` not string \`"[-1]"\` for negative indices
|
|
91
98
|
- \`pg_jsonb_set\`: \`createMissing=true\` creates full nested paths; initializes NULL columns to \`{}\`. Empty path (\`''\` or \`[]\`) replaces entire column value
|
|
99
|
+
- \`pg_jsonb_strip_nulls\`: ⚠️ Requires \`where\`/\`filter\` clause—write operations must be targeted. Use \`preview: true\` to see changes first
|
|
92
100
|
- \`pg_jsonb_agg\`: Supports AS aliases in select: \`["id", "metadata->>'name' AS name"]\`. ⚠️ \`->>\` returns text—use \`->\` to preserve JSON types
|
|
93
101
|
- \`pg_jsonb_object\`: Use \`data\`, \`object\`, or \`pairs\` parameter: \`{data: {name: "John", age: 30}}\`. Returns \`{object: {...}}\`
|
|
94
102
|
- \`pg_jsonb_normalize\`: \`flatten\` doesn't descend into arrays; \`keys\` returns text (use \`pairs\` for JSON types)
|
|
95
|
-
-
|
|
103
|
+
- \`pg_jsonb_stats\`: Returns column-level statistics. \`topKeysLimit\` controls key count (default: 20). ⚠️ \`typeDistribution\` null type = SQL NULL columns (entire column NULL, not JSON \`null\` literal). Use \`sqlNullCount\` for explicit count
|
|
104
|
+
- ⛔ **Object-only tools**: \`diff\`, \`merge\`, \`keys\`, \`indexSuggest\`, \`securityScan\`, \`stats\`—topKeys require JSONB objects, throw descriptive errors for arrays
|
|
96
105
|
- ⛔ **Array-only tools**: \`insert\`—requires JSONB arrays, throws errors for objects
|
|
97
106
|
- 📝 \`normalize\` modes: \`pairs\`/\`keys\`/\`flatten\` for objects; \`array\` for arrays
|
|
98
107
|
|
|
99
108
|
**Top-Level Aliases**: \`pg.jsonbExtract()\`, \`pg.jsonbSet()\`, \`pg.jsonbInsert()\`, \`pg.jsonbDelete()\`, \`pg.jsonbContains()\`, \`pg.jsonbPathQuery()\`, \`pg.jsonbAgg()\`, \`pg.jsonbObject()\`, \`pg.jsonbArray()\`, \`pg.jsonbKeys()\`, \`pg.jsonbStripNulls()\`, \`pg.jsonbTypeof()\`, \`pg.jsonbValidatePath()\`, \`pg.jsonbMerge()\`, \`pg.jsonbNormalize()\`, \`pg.jsonbDiff()\`, \`pg.jsonbIndexSuggest()\`, \`pg.jsonbSecurityScan()\`, \`pg.jsonbStats()\`
|
|
100
109
|
|
|
101
|
-
|
|
102
110
|
## Stats Tools
|
|
103
111
|
|
|
104
112
|
- All stats tools support \`schema.table\` format (auto-parsed, embedded schema takes priority over explicit \`schema\` param)
|
|
@@ -117,7 +125,7 @@ export const SERVER_INSTRUCTIONS = `# postgres-mcp Code Mode
|
|
|
117
125
|
|
|
118
126
|
Core (20 methods): \`explain()\`, \`explainAnalyze()\`, \`explainBuffers()\`, \`indexStats()\`, \`tableStats()\`, \`statStatements()\`, \`statActivity()\`, \`locks()\`, \`bloatCheck()\`, \`cacheHitRatio()\`, \`seqScanTables()\`, \`indexRecommendations()\`, \`queryPlanCompare()\`, \`baseline()\`, \`connectionPoolOptimize()\`, \`partitionStrategySuggest()\`, \`unusedIndexes()\`, \`duplicateIndexes()\`, \`vacuumStats()\`, \`queryPlanStats()\`
|
|
119
127
|
|
|
120
|
-
Wrappers (3): \`blockingQueries()\`→\`locks({showBlocked:true})\`, \`longRunningQueries({ seconds | minDuration }?)\` filters by duration (returns \`
|
|
128
|
+
Wrappers (3): \`blockingQueries()\`→\`locks({showBlocked:true})\`, \`longRunningQueries({ seconds | minDuration }?)\` filters by duration (returns \`{longRunningQueries, count, threshold}\`), \`analyzeTable({ table })\` runs ANALYZE (accepts \`schema.table\` format)
|
|
121
129
|
|
|
122
130
|
- \`explain({ sql, format?, params? })\`: Supports \`format: 'text'|'json'|'yaml'|'xml'\`. Default: text. Use \`params: [value]\` for \`$1, $2\` placeholders
|
|
123
131
|
- \`explainAnalyze({ sql, format?, params? })\`: Same format/params options as explain
|
|
@@ -181,6 +189,8 @@ Aliases: \`tableName\`→\`table\`, \`indexName\`→\`index\`, \`param\`/\`setti
|
|
|
181
189
|
|
|
182
190
|
**Top-Level Aliases**: \`pg.vacuum()\`, \`pg.vacuumAnalyze()\`, \`pg.analyze()\`, \`pg.reindex()\`, \`pg.cluster()\`, \`pg.setConfig()\`, \`pg.reloadConf()\`, \`pg.resetStats()\`, \`pg.cancelBackend()\`, \`pg.terminateBackend()\`
|
|
183
191
|
|
|
192
|
+
**Discovery**: \`pg.admin.help()\` returns \`{methods, methodAliases, examples}\` object
|
|
193
|
+
|
|
184
194
|
## Backup Tools
|
|
185
195
|
|
|
186
196
|
Core: \`dumpTable()\`, \`dumpSchema()\`, \`copyExport()\`, \`copyImport()\`, \`createBackupPlan()\`, \`restoreCommand()\`, \`physical()\`, \`restoreValidate()\`, \`scheduleOptimize()\`
|
|
@@ -191,7 +201,7 @@ Response Structures:
|
|
|
191
201
|
- \`copyImport\`: \`{command, stdinCommand, notes}\` — Both file and stdin COPY commands
|
|
192
202
|
- \`createBackupPlan\`: \`{strategy: {fullBackup, walArchiving}, estimates}\`
|
|
193
203
|
- \`restoreCommand\`: \`{command, warnings?, notes}\` — Warnings when \`database\` omitted
|
|
194
|
-
- \`restoreValidate\`: \`{validationSteps: [{step, name, command?, commands?, note?}], recommendations}\` —
|
|
204
|
+
- \`restoreValidate\`: \`{note?, validationSteps: [{step, name, command?, commands?, note?}], recommendations}\` — Top-level \`note\` when \`backupType\` omitted (defaults to pg_dump). Step-level \`note\` for non-command steps
|
|
195
205
|
- \`physical\`: \`{command, notes, requirements}\`
|
|
196
206
|
- \`scheduleOptimize\`: \`{analysis, recommendation, commands}\`
|
|
197
207
|
|
|
@@ -203,7 +213,7 @@ Response Structures:
|
|
|
203
213
|
- \`pg_copy_import\`: Generates COPY FROM command. Supports \`schema.table\` format (auto-parsed, takes priority over \`schema\` param). \`columns\` array, \`filePath\`, \`format\`, \`header\`, \`delimiter\`
|
|
204
214
|
- \`pg_restore_command\`: Include \`database\` parameter for complete command. Optional \`schemaOnly\`, \`dataOnly\`
|
|
205
215
|
- \`pg_create_backup_plan\`: Generates backup strategy with cron schedule. \`frequency\`: 'hourly'|'daily'|'weekly', \`retention\` count
|
|
206
|
-
- \`pg_backup_physical\`: Generates pg_basebackup command. \`format\`: 'plain'|'tar', \`checkpoint\`: 'fast'|'spread', \`compress\`: 0-9
|
|
216
|
+
- \`pg_backup_physical\`: Generates pg_basebackup command. \`format\`: 'plain'|'tar' (default: 'tar'), \`checkpoint\`: 'fast'|'spread', \`compress\`: 0-9
|
|
207
217
|
- \`pg_restore_validate\`: Generates validation commands. \`backupType\`: 'pg_dump' (default)|'pg_basebackup'
|
|
208
218
|
- \`pg_backup_schedule_optimize\`: Analyzes database activity patterns and recommends optimal backup schedule
|
|
209
219
|
|
|
@@ -215,14 +225,13 @@ Defaults: \`threshold\`=0.3 (use 0.1-0.2 for partial), \`maxDistance\`=3 (use 5+
|
|
|
215
225
|
|
|
216
226
|
- All text tools support \`schema.table\` format (auto-parsed, embedded schema takes priority over explicit \`schema\` param)
|
|
217
227
|
- \`pg_text_search\`: Supports both \`column\` (singular string) and \`columns\` (array). Either is valid—\`column\` auto-converts to array
|
|
218
|
-
- \`pg_trigram_similarity\`
|
|
228
|
+
- \`pg_trigram_similarity\`, \`pg_fuzzy_match\`, \`pg_regexp_match\`, \`pg_like_search\`: All default to 100 results to prevent large payloads. Use \`limit: 0\` for all rows
|
|
219
229
|
- \`pg_fuzzy_match\`: Levenshtein returns distance (lower=better). Soundex/metaphone return phonetic codes (exact match only). ⛔ Invalid \`method\` values throw error with valid options
|
|
220
230
|
- \`pg_text_normalize\`: Removes accents only (unaccent). Does NOT lowercase/trim
|
|
221
|
-
- 📍 **Table vs Standalone**: \`normalize\`, \`sentiment\`, \`toVector\`, \`toQuery\`, \`searchConfig\` are standalone (text input only).
|
|
231
|
+
- 📍 **Table vs Standalone**: \`normalize\`, \`sentiment\`, \`toVector\`, \`toQuery\`, \`searchConfig\` are standalone (text input only). For phonetic matching: use \`pg_fuzzy_match\` with \`method: 'soundex'|'metaphone'\` (direct MCP), or \`pg.text.soundex()\`/\`pg.text.metaphone()\` (Code Mode convenience wrappers that call fuzzyMatch internally)
|
|
222
232
|
|
|
223
233
|
**Top-Level Aliases**: \`pg.textSearch()\`, \`pg.textRank()\`, \`pg.textHeadline()\`, \`pg.textNormalize()\`, \`pg.textSentiment()\`, \`pg.textToVector()\`, \`pg.textToQuery()\`, \`pg.textSearchConfig()\`, \`pg.textTrigramSimilarity()\`, \`pg.textFuzzyMatch()\`, \`pg.textLikeSearch()\`, \`pg.textRegexpMatch()\`, \`pg.textCreateFtsIndex()\`
|
|
224
234
|
|
|
225
|
-
|
|
226
235
|
## Schema Tools
|
|
227
236
|
|
|
228
237
|
Core: \`listSchemas()\`, \`createSchema()\`, \`dropSchema()\`, \`listViews()\`, \`createView()\`, \`dropView()\`, \`listSequences()\`, \`createSequence()\`, \`dropSequence()\`, \`listFunctions()\`, \`listTriggers()\`, \`listConstraints()\`
|
|
@@ -231,18 +240,17 @@ Response Structures:
|
|
|
231
240
|
- \`listSchemas()\`: \`{schemas: string[], count}\`
|
|
232
241
|
- \`listViews({ includeMaterialized?, truncateDefinition?, limit? })\`: \`{views: [{schema, name, type, definition, definitionTruncated?}], count, hasMatViews, truncatedDefinitions?, truncated, note?}\`. Default \`limit: 50\` (use \`0\` for all). Default \`truncateDefinition: 500\` chars (use \`0\` for full definitions). \`truncated\` always included (\`true\`/\`false\`)
|
|
233
242
|
- \`listSequences({ schema? })\`: \`{sequences: [{schema, name, owned_by}], count}\`. Note: \`owned_by\` omits \`public.\` prefix for sequences in public schema (e.g., \`users.id\` not \`public.users.id\`)
|
|
234
|
-
- \`listFunctions({ schema?, limit?, exclude? })\`: \`{functions: [{schema, name, arguments, returns, language, volatility}], count, limit
|
|
243
|
+
- \`listFunctions({ schema?, limit?, exclude? })\`: \`{functions: [{schema, name, arguments, returns, language, volatility}], count, limit}\`
|
|
235
244
|
- \`listTriggers({ schema?, table? })\`: \`{triggers: [{schema, table_name, name, timing, events, function_name, enabled}], count}\`
|
|
236
245
|
- \`listConstraints({ schema?, table?, type? })\`: \`{constraints: [{schema, table_name, name, type, definition}], count}\`. Type codes: \`p\`=primary_key, \`f\`=foreign_key, \`u\`=unique, \`c\`=check
|
|
237
246
|
- \`dropSchema/dropView/dropSequence\`: All return \`{existed: true/false}\` to indicate if object existed before drop
|
|
238
|
-
- \`createSchema/createSequence\` (with \`ifNotExists\`) and \`createView\` (with \`orReplace\`): Return \`{alreadyExisted: true/false}\`
|
|
247
|
+
- \`createSchema/createSequence\` (with \`ifNotExists\`) and \`createView\` (with \`orReplace\`): Return \`{alreadyExisted: true/false}\` when the flag is set. Without \`ifNotExists\`/\`orReplace\`, the field is omitted
|
|
239
248
|
|
|
240
249
|
- \`pg_create_view\`: Supports \`schema.name\` format (auto-parsed). Use \`orReplace: true\` for CREATE OR REPLACE. \`checkOption\`: 'cascaded', 'local', 'none'. ⛔ OR REPLACE can add new columns but cannot rename/remove existing ones—PostgreSQL limitation
|
|
241
250
|
- \`pg_create_sequence\`: Supports \`schema.name\` format. Parameters: \`start\`, \`increment\`, \`minValue\`, \`maxValue\`, \`cache\`, \`cycle\`, \`ownedBy\`, \`ifNotExists\`
|
|
242
|
-
- \`pg_list_functions\`: Default limit=500. Use \`schema: 'public'\`, \`limit: 2000\`, or \`exclude: ['postgis']\` to filter. ⚠️ \`exclude\` filters by **schema name** AND extension-owned functions. Note: Aggressive \`exclude\` may return 0 results if all functions belong to excluded extensions
|
|
243
|
-
|
|
244
|
-
**Discovery**: \`pg.schema.help()\` returns \`{methods: string[], examples: string[]}\` object with available methods and usage examples
|
|
251
|
+
- \`pg_list_functions\`: Default limit=500. Use \`schema: 'public'\`, \`limit: 2000\`, or \`exclude: ['postgis', 'pg_trgm', 'ltree', 'citext', 'fuzzystrmatch', 'pg_stat_statements', 'hypopg', 'unaccent', 'pg_stat_kcache', 'pgcrypto', 'partman']\` to filter. ⚠️ \`exclude\` filters by **schema name** AND extension-owned functions. The \`language\` filter does NOT exclude extension functions—use \`exclude\` alongside \`language\` for clean results. Note: Aggressive \`exclude\` may return 0 results if all functions belong to excluded extensions
|
|
245
252
|
|
|
253
|
+
**Discovery**: \`pg.schema.help()\` returns \`{methods, methodAliases, examples}\` object
|
|
246
254
|
|
|
247
255
|
## Partitioning Tools
|
|
248
256
|
|
|
@@ -262,7 +270,7 @@ Response Structures:
|
|
|
262
270
|
- \`pg_partman_show_partitions\`: Default \`limit: 50\` (use \`0\` for all). Returns \`truncated\` + \`totalCount\` when limited. \`parentTable\` required. Supports \`schema.table\` format (auto-parsed)
|
|
263
271
|
- \`pg_partman_check_default\`/\`partition_data\`: \`parentTable\` required. Supports \`schema.table\` format (auto-parsed)
|
|
264
272
|
- \`pg_partman_set_retention\`: ⚠️ **CAUTION: Default is DROP** — \`retentionKeepTable: false\` (default) = DROP partitions, \`true\` = detach only (safer). Pass \`retention: null\` to disable retention
|
|
265
|
-
- \`pg_partman_undo_partition\`: \`targetTable\` MUST exist before calling. Requires both \`parentTable\` and \`targetTable\`/\`target\`
|
|
273
|
+
- \`pg_partman_undo_partition\`: \`targetTable\` MUST exist before calling. Requires both \`parentTable\` and \`targetTable\`/\`target\`. ⚠️ Parent table and child partitions remain after undo—use \`DROP TABLE parent CASCADE\` to clean up
|
|
266
274
|
- \`pg_partman_analyze_partition_health\`: Default \`limit: 50\` (use \`0\` for all). Returns \`truncated\` + \`totalCount\` when limited. \`summary.overallHealth\`: 'healthy'|'warnings'|'issues_found'
|
|
267
275
|
- 📝 **Schema Resolution**: All partman tools auto-prefix \`public.\` when no schema specified in \`parentTable\`
|
|
268
276
|
- 📝 **Aliases**: \`parentTable\` accepts \`table\`, \`parent\`, \`name\`. \`controlColumn\` accepts \`control\`, \`column\`. \`targetTable\` accepts \`target\`
|
|
@@ -271,11 +279,11 @@ Response Structures:
|
|
|
271
279
|
|
|
272
280
|
Core: \`createExtension()\`, \`queryStats()\`, \`topCpu()\`, \`topIo()\`, \`databaseStats()\`, \`resourceAnalysis()\`, \`reset()\`
|
|
273
281
|
|
|
274
|
-
- \`pg_kcache_query_stats\`: Default \`limit:
|
|
275
|
-
- \`pg_kcache_resource_analysis\`: Default \`limit:
|
|
276
|
-
- \`pg_kcache_top_cpu\`: Top CPU-consuming queries. \`limit\` param (default: 10)
|
|
277
|
-
- \`pg_kcache_top_io\`: \`type\`/\`ioType\` (alias): 'reads', 'writes', 'both' (default). \`limit\` param (default: 10)
|
|
278
|
-
- \`pg_kcache_database_stats\`: Aggregated CPU/IO stats per database
|
|
282
|
+
- \`pg_kcache_query_stats\`: Default \`limit: 20\` (use \`0\` for all). Returns \`truncated\` + \`totalCount\` when limited. \`orderBy\`: 'total_time' (default), 'cpu_time', 'reads', 'writes'. \`queryPreviewLength\`: chars for query preview (default: 100, max: 500, 0 for full). ⛔ 'calls' NOT valid for orderBy—use \`minCalls\` param
|
|
283
|
+
- \`pg_kcache_resource_analysis\`: Default \`limit: 20\` (use \`0\` for all). Returns \`truncated\` + \`totalCount\` when limited. \`minCalls\`, \`queryPreviewLength\` supported. Classifies queries as 'CPU-bound', 'I/O-bound', or 'Balanced'
|
|
284
|
+
- \`pg_kcache_top_cpu\`: Top CPU-consuming queries. \`limit\` param (default: 10). \`queryPreviewLength\`: chars for query preview (default: 100, max: 500, 0 for full). Returns \`truncated\` + \`totalCount\` when limited
|
|
285
|
+
- \`pg_kcache_top_io\`: \`type\`/\`ioType\` (alias): 'reads', 'writes', 'both' (default). \`limit\` param (default: 10). \`queryPreviewLength\`: chars for query preview (default: 100, max: 500, 0 for full). Returns \`truncated\` + \`totalCount\` when limited
|
|
286
|
+
- \`pg_kcache_database_stats\`: Aggregated CPU/IO stats per database. Optional \`database\` param to filter specific db
|
|
279
287
|
- \`pg_kcache_reset\`: Resets pg_stat_kcache AND pg_stat_statements statistics
|
|
280
288
|
|
|
281
289
|
## citext Tools
|
|
@@ -304,7 +312,7 @@ Core: \`createExtension()\`, \`query()\`, \`match()\`, \`subpath()\`, \`lca()\`,
|
|
|
304
312
|
- \`pg_ltree_convert_column\`: Convert TEXT column to ltree. Supports \`schema.table\` format. \`col\` alias for \`column\`. Returns \`{previousType}\`. ⚠️ When views depend on column, returns \`{success: false, dependentViews, hint}\`—drop/recreate views manually
|
|
305
313
|
- \`pg_ltree_create_index\`: Create GiST index on ltree column. Supports \`schema.table\` format. Auto-generates index name if \`indexName\` omitted. Returns \`{indexName, indexType: 'gist', alreadyExists?}\`
|
|
306
314
|
|
|
307
|
-
**Discovery**: \`pg.ltree.help()\` returns \`{methods,
|
|
315
|
+
**Discovery**: \`pg.ltree.help()\` returns \`{methods, methodAliases, examples}\` object. Top-level aliases available: \`pg.ltreeQuery()\`, \`pg.ltreeMatch()\`, etc.
|
|
308
316
|
|
|
309
317
|
## PostGIS Tools
|
|
310
318
|
|
|
@@ -321,7 +329,7 @@ Core: \`createExtension()\`, \`query()\`, \`match()\`, \`subpath()\`, \`lca()\`,
|
|
|
321
329
|
|
|
322
330
|
**Geometry Operations (Table-based):**
|
|
323
331
|
- \`pg_buffer\`: Create buffer zone around table geometries. Default limit: 50 rows. Default simplify: 10m (set \`simplify: 0\` to disable). Returns \`truncated: true\` + \`totalCount\` when results are truncated. Use \`limit: 0\` for all rows
|
|
324
|
-
- \`pg_geo_transform\`: Transform table geometries between SRIDs. Default limit: 50 rows. Returns \`truncated: true\` + \`totalCount\` when results are truncated. Use \`limit: 0\` for all rows. \`fromSrid\`/\`sourceSrid\` and \`toSrid\`/\`targetSrid\` aliases
|
|
332
|
+
- \`pg_geo_transform\`: Transform table geometries between SRIDs. Default limit: 50 rows. Returns \`truncated: true\` + \`totalCount\` when results are truncated. Use \`limit: 0\` for all rows. Auto-detects \`fromSrid\` from column metadata if not provided (returns \`autoDetectedSrid: true\`). \`fromSrid\`/\`sourceSrid\` and \`toSrid\`/\`targetSrid\` aliases
|
|
325
333
|
- \`pg_geo_cluster\`: Spatial clustering (DBSCAN/K-Means). K-Means: If \`numClusters\` exceeds row count, automatically clamps to available rows with \`warning\` field. DBSCAN: Returns contextual \`hints\` array explaining parameter effects (e.g., "All points formed single cluster—decrease eps") and \`parameterGuide\` explaining eps/minPoints trade-offs
|
|
326
334
|
|
|
327
335
|
**Geometry Operations (Standalone WKT/GeoJSON):**
|
|
@@ -333,7 +341,7 @@ Core: \`createExtension()\`, \`query()\`, \`match()\`, \`subpath()\`, \`lca()\`,
|
|
|
333
341
|
- \`pg_postgis_create_extension\`: Enable PostGIS extension (idempotent)
|
|
334
342
|
- \`pg_geo_index_optimize\`: Analyze spatial indexes. Without \`table\` param, analyzes all spatial indexes
|
|
335
343
|
|
|
336
|
-
**Code Mode Aliases:** \`pg.postgis.addColumn()\` → \`geometryColumn\`, \`pg.postgis.indexOptimize()\` → \`geoIndexOptimize\`. Note: \`pg.{group}.help()\` returns \`{methods,
|
|
344
|
+
**Code Mode Aliases:** \`pg.postgis.addColumn()\` → \`geometryColumn\`, \`pg.postgis.indexOptimize()\` → \`geoIndexOptimize\`, \`pg.postgis.geoCluster()\` → \`pg_geo_cluster\`, \`pg.postgis.geoTransform()\` → \`pg_geo_transform\`. Note: \`pg.{group}.help()\` returns \`{methods, methodAliases, examples}\`
|
|
337
345
|
|
|
338
346
|
## Cron Tools (pg_cron)
|
|
339
347
|
|
|
@@ -344,11 +352,11 @@ Core: \`createExtension()\`, \`schedule()\`, \`scheduleInDatabase()\`, \`unsched
|
|
|
344
352
|
- \`pg_cron_unschedule\`: Remove job by \`jobId\` or \`jobName\`. If both provided, \`jobName\` takes precedence (with warning)
|
|
345
353
|
- \`pg_cron_alter_job\`: Modify existing job. Can change \`schedule\`, \`command\`, \`database\`, \`username\`, \`active\`. ⛔ Non-existent jobId throws error
|
|
346
354
|
- \`pg_cron_list_jobs\`: List all jobs. Default \`limit: 50\` (use \`0\` for all). Optional \`active\` boolean filter. Returns \`truncated\` + \`totalCount\` when limited. Returns \`hint\` when jobs have no name
|
|
347
|
-
- \`pg_cron_job_run_details\`: View execution history. Default \`limit:
|
|
355
|
+
- \`pg_cron_job_run_details\`: View execution history. Default \`limit: 50\`. Optional \`jobId\`, \`status\` ('running'|'succeeded'|'failed') filters. Returns \`truncated\` + \`totalCount\` when limited. Returns \`summary\` with counts
|
|
348
356
|
- \`pg_cron_cleanup_history\`: Delete old run records. \`olderThanDays\`/\`days\` param (default: 7). Optional \`jobId\` to target specific job
|
|
349
357
|
- \`pg_cron_create_extension\`: Enable pg_cron extension (idempotent). Requires superuser
|
|
350
358
|
|
|
351
|
-
**Discovery**: \`pg.cron.help()\` returns \`{methods,
|
|
359
|
+
**Discovery**: \`pg.cron.help()\` returns \`{methods, methodAliases, examples}\` object
|
|
352
360
|
|
|
353
361
|
## pgcrypto Tools
|
|
354
362
|
|
|
@@ -368,12 +376,14 @@ Core: \`createExtension()\`, \`hash()\`, \`hmac()\`, \`encrypt()\`, \`decrypt()\
|
|
|
368
376
|
|
|
369
377
|
**Top-Level Aliases**: \`pg.pgcryptoHash()\`, \`pg.pgcryptoEncrypt()\`, \`pg.pgcryptoDecrypt()\`, \`pg.pgcryptoGenRandomUuid()\`, etc.
|
|
370
378
|
|
|
371
|
-
**Discovery**: \`pg.pgcrypto.help()\` returns \`{methods,
|
|
379
|
+
**Discovery**: \`pg.pgcrypto.help()\` returns \`{methods, methodAliases, examples}\` object
|
|
372
380
|
|
|
373
381
|
## Code Mode Sandbox
|
|
374
382
|
|
|
375
383
|
No \`setTimeout\`, \`setInterval\`, \`fetch\`, or network access. Use \`pg.core.readQuery()\` for data access.
|
|
376
384
|
|
|
385
|
+
📊 **Metrics Note**: \`memoryUsedMb\` measures heap delta (end - start). Negative values indicate memory freed during execution (e.g., GC ran).
|
|
386
|
+
|
|
377
387
|
## Transactions
|
|
378
388
|
|
|
379
389
|
Core: \`begin()\`, \`commit()\`, \`rollback()\`, \`savepoint()\`, \`rollbackTo()\`, \`release()\`, \`execute()\`
|
|
@@ -385,7 +395,7 @@ Core: \`begin()\`, \`commit()\`, \`rollback()\`, \`savepoint()\`, \`rollbackTo()
|
|
|
385
395
|
|
|
386
396
|
**Savepoints:**
|
|
387
397
|
- \`pg_transaction_savepoint\`: Create savepoint within transaction. \`name\`/\`savepoint\` + \`transactionId\`/\`tx\`/\`txId\`
|
|
388
|
-
- \`pg_transaction_rollback_to\`: Rollback to savepoint,
|
|
398
|
+
- \`pg_transaction_rollback_to\`: Rollback to savepoint, restoring database state to when the savepoint was created. ⚠️ Undoes ALL work (data changes AND savepoints) created after the target savepoint
|
|
389
399
|
- \`pg_transaction_release\`: Release savepoint, keeping all changes since it was created. \`name\`/\`savepoint\` aliases
|
|
390
400
|
|
|
391
401
|
**Atomic Execution:**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ServerInstructions.js","sourceRoot":"","sources":["../../src/constants/ServerInstructions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG
|
|
1
|
+
{"version":3,"file":"ServerInstructions.js","sourceRoot":"","sources":["../../src/constants/ServerInstructions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yFAkZsD,CAAC"}
|
|
@@ -3,6 +3,22 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Defines the tool groups and meta-groups used for filtering.
|
|
5
5
|
* STRICT LIMIT: No shortcut may exceed 50 tools.
|
|
6
|
+
*
|
|
7
|
+
* TOOL COUNT ACCOUNTING:
|
|
8
|
+
* ToolConstants arrays total: 215 tools (sum of all group arrays)
|
|
9
|
+
* Published "specialized tools": 206 (215 - 9 utility tools)
|
|
10
|
+
*
|
|
11
|
+
* The 9 excluded utility tools:
|
|
12
|
+
* - 8 create_extension helpers (one per extension group):
|
|
13
|
+
* pg_vector_create_extension, pg_postgis_create_extension,
|
|
14
|
+
* pg_cron_create_extension, pg_partman_create_extension,
|
|
15
|
+
* pg_kcache_create_extension, pg_citext_create_extension,
|
|
16
|
+
* pg_ltree_create_extension, pg_pgcrypto_create_extension
|
|
17
|
+
* - 1 codemode meta-tool: pg_execute_code
|
|
18
|
+
*
|
|
19
|
+
* When adding new tools: update group sizes, meta-group sums,
|
|
20
|
+
* and the published total in README/DOCKER_README/wiki.
|
|
21
|
+
* The published total = array total - 9 utility tools.
|
|
6
22
|
*/
|
|
7
23
|
import type { ToolGroup, MetaGroup } from "../types/index.js";
|
|
8
24
|
/**
|
|
@@ -17,24 +33,24 @@ export declare const TOOL_GROUPS: Record<ToolGroup, string[]>;
|
|
|
17
33
|
* ALL presets include codemode (pg_execute_code) by default for token efficiency.
|
|
18
34
|
*
|
|
19
35
|
* Group sizes:
|
|
20
|
-
* core:
|
|
21
|
-
* admin:10, monitoring:11, backup:9, schema:12, vector:
|
|
36
|
+
* core:20, transactions:7, jsonb:19, text:13, performance:20,
|
|
37
|
+
* admin:10, monitoring:11, backup:9, schema:12, vector:16
|
|
22
38
|
* postgis:15, partitioning:6, stats:8, cron:8, partman:10
|
|
23
39
|
* kcache:7, citext:6, ltree:8, pgcrypto:9, codemode:1
|
|
24
40
|
*
|
|
25
41
|
* Tool counts (with codemode):
|
|
26
|
-
* starter:
|
|
27
|
-
* essential:
|
|
28
|
-
* dev-power:
|
|
29
|
-
* ai-data:
|
|
30
|
-
* ai-vector:
|
|
31
|
-
* dba-monitor:
|
|
32
|
-
* dba-manage:
|
|
33
|
-
* dba-stats:
|
|
34
|
-
* geo:
|
|
35
|
-
* base-core:
|
|
42
|
+
* starter: 59 (core:20 + transactions:7 + jsonb:19 + schema:12 + codemode:1)
|
|
43
|
+
* essential: 47 (core:20 + transactions:7 + jsonb:19 + codemode:1)
|
|
44
|
+
* dev-power: 54 (core:20 + transactions:7 + schema:12 + stats:8 + partitioning:6 + codemode:1)
|
|
45
|
+
* ai-data: 60 (core:20 + jsonb:19 + text:13 + transactions:7 + codemode:1)
|
|
46
|
+
* ai-vector: 50 (core:20 + vector:16 + transactions:7 + partitioning:6 + codemode:1)
|
|
47
|
+
* dba-monitor: 59 (core:20 + monitoring:11 + performance:20 + transactions:7 + codemode:1)
|
|
48
|
+
* dba-manage: 58 (core:20 + admin:10 + backup:9 + partitioning:6 + schema:12 + codemode:1)
|
|
49
|
+
* dba-stats: 57 (core:20 + admin:10 + monitoring:11 + transactions:7 + stats:8 + codemode:1)
|
|
50
|
+
* geo: 43 (core:20 + postgis:15 + transactions:7 + codemode:1)
|
|
51
|
+
* base-core: 59 (core:20 + jsonb:19 + transactions:7 + schema:12 + codemode:1)
|
|
36
52
|
* base-ops: 51 (admin:10 + monitoring:11 + backup:9 + partitioning:6 + stats:8 + citext:6 + codemode:1)
|
|
37
|
-
* ext-ai:
|
|
53
|
+
* ext-ai: 26 (vector:16 + pgcrypto:9 + codemode:1)
|
|
38
54
|
* ext-geo: 24 (postgis:15 + ltree:8 + codemode:1)
|
|
39
55
|
* ext-schedule: 19 (cron:8 + partman:10 + codemode:1)
|
|
40
56
|
* ext-perf: 28 (kcache:7 + performance:20 + codemode:1)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToolConstants.d.ts","sourceRoot":"","sources":["../../src/filtering/ToolConstants.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"ToolConstants.d.ts","sourceRoot":"","sources":["../../src/filtering/ToolConstants.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAE9D;;;GAGG;AACH,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,CA+PnD,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,eAAO,MAAM,WAAW,EAAE,MAAM,CAAC,SAAS,EAAE,SAAS,EAAE,CA8DtD,CAAC"}
|
|
@@ -3,6 +3,22 @@
|
|
|
3
3
|
*
|
|
4
4
|
* Defines the tool groups and meta-groups used for filtering.
|
|
5
5
|
* STRICT LIMIT: No shortcut may exceed 50 tools.
|
|
6
|
+
*
|
|
7
|
+
* TOOL COUNT ACCOUNTING:
|
|
8
|
+
* ToolConstants arrays total: 215 tools (sum of all group arrays)
|
|
9
|
+
* Published "specialized tools": 206 (215 - 9 utility tools)
|
|
10
|
+
*
|
|
11
|
+
* The 9 excluded utility tools:
|
|
12
|
+
* - 8 create_extension helpers (one per extension group):
|
|
13
|
+
* pg_vector_create_extension, pg_postgis_create_extension,
|
|
14
|
+
* pg_cron_create_extension, pg_partman_create_extension,
|
|
15
|
+
* pg_kcache_create_extension, pg_citext_create_extension,
|
|
16
|
+
* pg_ltree_create_extension, pg_pgcrypto_create_extension
|
|
17
|
+
* - 1 codemode meta-tool: pg_execute_code
|
|
18
|
+
*
|
|
19
|
+
* When adding new tools: update group sizes, meta-group sums,
|
|
20
|
+
* and the published total in README/DOCKER_README/wiki.
|
|
21
|
+
* The published total = array total - 9 utility tools.
|
|
6
22
|
*/
|
|
7
23
|
/**
|
|
8
24
|
* Default tool groups and their member tools.
|
|
@@ -153,6 +169,7 @@ export const TOOL_GROUPS = {
|
|
|
153
169
|
"pg_vector_create_extension",
|
|
154
170
|
"pg_vector_add_column",
|
|
155
171
|
"pg_vector_insert",
|
|
172
|
+
"pg_vector_batch_insert",
|
|
156
173
|
"pg_vector_search",
|
|
157
174
|
"pg_vector_create_index",
|
|
158
175
|
"pg_vector_distance",
|
|
@@ -164,6 +181,7 @@ export const TOOL_GROUPS = {
|
|
|
164
181
|
"pg_vector_performance",
|
|
165
182
|
"pg_vector_dimension_reduce",
|
|
166
183
|
"pg_vector_embed",
|
|
184
|
+
"pg_vector_validate",
|
|
167
185
|
],
|
|
168
186
|
postgis: [
|
|
169
187
|
"pg_postgis_create_extension",
|
|
@@ -269,32 +287,32 @@ export const TOOL_GROUPS = {
|
|
|
269
287
|
* ALL presets include codemode (pg_execute_code) by default for token efficiency.
|
|
270
288
|
*
|
|
271
289
|
* Group sizes:
|
|
272
|
-
* core:
|
|
273
|
-
* admin:10, monitoring:11, backup:9, schema:12, vector:
|
|
290
|
+
* core:20, transactions:7, jsonb:19, text:13, performance:20,
|
|
291
|
+
* admin:10, monitoring:11, backup:9, schema:12, vector:16
|
|
274
292
|
* postgis:15, partitioning:6, stats:8, cron:8, partman:10
|
|
275
293
|
* kcache:7, citext:6, ltree:8, pgcrypto:9, codemode:1
|
|
276
294
|
*
|
|
277
295
|
* Tool counts (with codemode):
|
|
278
|
-
* starter:
|
|
279
|
-
* essential:
|
|
280
|
-
* dev-power:
|
|
281
|
-
* ai-data:
|
|
282
|
-
* ai-vector:
|
|
283
|
-
* dba-monitor:
|
|
284
|
-
* dba-manage:
|
|
285
|
-
* dba-stats:
|
|
286
|
-
* geo:
|
|
287
|
-
* base-core:
|
|
296
|
+
* starter: 59 (core:20 + transactions:7 + jsonb:19 + schema:12 + codemode:1)
|
|
297
|
+
* essential: 47 (core:20 + transactions:7 + jsonb:19 + codemode:1)
|
|
298
|
+
* dev-power: 54 (core:20 + transactions:7 + schema:12 + stats:8 + partitioning:6 + codemode:1)
|
|
299
|
+
* ai-data: 60 (core:20 + jsonb:19 + text:13 + transactions:7 + codemode:1)
|
|
300
|
+
* ai-vector: 50 (core:20 + vector:16 + transactions:7 + partitioning:6 + codemode:1)
|
|
301
|
+
* dba-monitor: 59 (core:20 + monitoring:11 + performance:20 + transactions:7 + codemode:1)
|
|
302
|
+
* dba-manage: 58 (core:20 + admin:10 + backup:9 + partitioning:6 + schema:12 + codemode:1)
|
|
303
|
+
* dba-stats: 57 (core:20 + admin:10 + monitoring:11 + transactions:7 + stats:8 + codemode:1)
|
|
304
|
+
* geo: 43 (core:20 + postgis:15 + transactions:7 + codemode:1)
|
|
305
|
+
* base-core: 59 (core:20 + jsonb:19 + transactions:7 + schema:12 + codemode:1)
|
|
288
306
|
* base-ops: 51 (admin:10 + monitoring:11 + backup:9 + partitioning:6 + stats:8 + citext:6 + codemode:1)
|
|
289
|
-
* ext-ai:
|
|
307
|
+
* ext-ai: 26 (vector:16 + pgcrypto:9 + codemode:1)
|
|
290
308
|
* ext-geo: 24 (postgis:15 + ltree:8 + codemode:1)
|
|
291
309
|
* ext-schedule: 19 (cron:8 + partman:10 + codemode:1)
|
|
292
310
|
* ext-perf: 28 (kcache:7 + performance:20 + codemode:1)
|
|
293
311
|
*/
|
|
294
312
|
export const META_GROUPS = {
|
|
295
313
|
// 1. General Use (Recommended) - All include codemode for token efficiency
|
|
296
|
-
starter: ["core", "transactions", "jsonb", "schema", "codemode"], //
|
|
297
|
-
essential: ["core", "transactions", "jsonb", "codemode"], //
|
|
314
|
+
starter: ["core", "transactions", "jsonb", "schema", "codemode"], // 59
|
|
315
|
+
essential: ["core", "transactions", "jsonb", "codemode"], // 47
|
|
298
316
|
"dev-power": [
|
|
299
317
|
"core",
|
|
300
318
|
"transactions",
|
|
@@ -302,10 +320,10 @@ export const META_GROUPS = {
|
|
|
302
320
|
"stats",
|
|
303
321
|
"partitioning",
|
|
304
322
|
"codemode",
|
|
305
|
-
], //
|
|
323
|
+
], // 54
|
|
306
324
|
// 2. AI Workloads
|
|
307
|
-
"ai-data": ["core", "jsonb", "text", "transactions", "codemode"], //
|
|
308
|
-
"ai-vector": ["core", "vector", "transactions", "partitioning", "codemode"], //
|
|
325
|
+
"ai-data": ["core", "jsonb", "text", "transactions", "codemode"], // 60
|
|
326
|
+
"ai-vector": ["core", "vector", "transactions", "partitioning", "codemode"], // 50
|
|
309
327
|
// 3. DBA Workloads
|
|
310
328
|
"dba-monitor": [
|
|
311
329
|
"core",
|
|
@@ -313,7 +331,7 @@ export const META_GROUPS = {
|
|
|
313
331
|
"performance",
|
|
314
332
|
"transactions",
|
|
315
333
|
"codemode",
|
|
316
|
-
], //
|
|
334
|
+
], // 59
|
|
317
335
|
"dba-manage": [
|
|
318
336
|
"core",
|
|
319
337
|
"admin",
|
|
@@ -321,7 +339,7 @@ export const META_GROUPS = {
|
|
|
321
339
|
"partitioning",
|
|
322
340
|
"schema",
|
|
323
341
|
"codemode",
|
|
324
|
-
], //
|
|
342
|
+
], // 58
|
|
325
343
|
"dba-stats": [
|
|
326
344
|
"core",
|
|
327
345
|
"admin",
|
|
@@ -329,11 +347,11 @@ export const META_GROUPS = {
|
|
|
329
347
|
"transactions",
|
|
330
348
|
"stats",
|
|
331
349
|
"codemode",
|
|
332
|
-
], //
|
|
350
|
+
], // 57
|
|
333
351
|
// 4. Specialty Workloads
|
|
334
|
-
geo: ["core", "postgis", "transactions", "codemode"], //
|
|
352
|
+
geo: ["core", "postgis", "transactions", "codemode"], // 43
|
|
335
353
|
// 5. Base Blocks (Building Blocks for Combining)
|
|
336
|
-
"base-core": ["core", "jsonb", "transactions", "schema", "codemode"], //
|
|
354
|
+
"base-core": ["core", "jsonb", "transactions", "schema", "codemode"], // 59
|
|
337
355
|
"base-ops": [
|
|
338
356
|
"admin",
|
|
339
357
|
"monitoring",
|
|
@@ -342,11 +360,11 @@ export const META_GROUPS = {
|
|
|
342
360
|
"stats",
|
|
343
361
|
"citext",
|
|
344
362
|
"codemode",
|
|
345
|
-
], // 51
|
|
363
|
+
], // 51
|
|
346
364
|
// 6. Extension Bundles (for adding extension capabilities)
|
|
347
|
-
"ext-ai": ["vector", "pgcrypto", "codemode"], //
|
|
348
|
-
"ext-geo": ["postgis", "ltree", "codemode"], //
|
|
365
|
+
"ext-ai": ["vector", "pgcrypto", "codemode"], // 26
|
|
366
|
+
"ext-geo": ["postgis", "ltree", "codemode"], // 24
|
|
349
367
|
"ext-schedule": ["cron", "partman", "codemode"], // 19
|
|
350
|
-
"ext-perf": ["kcache", "performance", "codemode"], //
|
|
368
|
+
"ext-perf": ["kcache", "performance", "codemode"], // 28
|
|
351
369
|
};
|
|
352
370
|
//# sourceMappingURL=ToolConstants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ToolConstants.js","sourceRoot":"","sources":["../../src/filtering/ToolConstants.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"ToolConstants.js","sourceRoot":"","sources":["../../src/filtering/ToolConstants.ts"],"names":[],"mappings":"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"}
|
package/dist/types/adapters.d.ts
CHANGED
|
@@ -77,6 +77,8 @@ export interface ToolDefinition {
|
|
|
77
77
|
tags?: string[];
|
|
78
78
|
/** Zod schema for input validation */
|
|
79
79
|
inputSchema: unknown;
|
|
80
|
+
/** Zod schema for output validation (MCP 2025-11-25 structured content) */
|
|
81
|
+
outputSchema?: unknown;
|
|
80
82
|
/** Required OAuth scopes */
|
|
81
83
|
requiredScopes?: OAuthScope[];
|
|
82
84
|
/** MCP Tool Annotations for behavior hints */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"adapters.d.ts","sourceRoot":"","sources":["../../src/types/adapters.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"adapters.d.ts","sourceRoot":"","sources":["../../src/types/adapters.ts"],"names":[],"mappings":"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"}
|
package/dist/types/oauth.d.ts
CHANGED
|
@@ -61,5 +61,9 @@ export interface RequestContext {
|
|
|
61
61
|
timestamp: Date;
|
|
62
62
|
/** Request ID for tracing */
|
|
63
63
|
requestId: string;
|
|
64
|
+
/** MCP Server instance for sending notifications */
|
|
65
|
+
server?: unknown;
|
|
66
|
+
/** Progress token from client request _meta */
|
|
67
|
+
progressToken?: string | number;
|
|
64
68
|
}
|
|
65
69
|
//# sourceMappingURL=oauth.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth.d.ts","sourceRoot":"","sources":["../../src/types/oauth.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,kCAAkC;IAClC,OAAO,EAAE,OAAO,CAAC;IAEjB,+BAA+B;IAC/B,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAEhC,gCAAgC;IAChC,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,sCAAsC;IACtC,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,kCAAkC;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,gCAAgC;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,qDAAqD;IACrD,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,+BAA+B;IAC/B,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,uCAAuC;IACvC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,MAAM,UAAU,GAClB,MAAM,GACN,OAAO,GACP,OAAO,GACP,MAAM,MAAM,EAAE,GACd,UAAU,MAAM,EAAE,GAClB,SAAS,MAAM,IAAI,MAAM,EAAE,CAAC;AAEhC;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,wBAAwB;IACxB,GAAG,EAAE,MAAM,CAAC;IAEZ,qBAAqB;IACrB,MAAM,EAAE,UAAU,EAAE,CAAC;IAErB,4BAA4B;IAC5B,GAAG,EAAE,MAAM,CAAC;IAEZ,2BAA2B;IAC3B,GAAG,EAAE,MAAM,CAAC;IAEZ,mBAAmB;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb,qBAAqB;IACrB,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAExB,wBAAwB;IACxB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,gDAAgD;IAChD,IAAI,CAAC,EAAE,WAAW,CAAC;IAEnB,uBAAuB;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,wBAAwB;IACxB,SAAS,EAAE,IAAI,CAAC;IAEhB,6BAA6B;IAC7B,SAAS,EAAE,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"oauth.d.ts","sourceRoot":"","sources":["../../src/types/oauth.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,kCAAkC;IAClC,OAAO,EAAE,OAAO,CAAC;IAEjB,+BAA+B;IAC/B,sBAAsB,CAAC,EAAE,MAAM,CAAC;IAEhC,gCAAgC;IAChC,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,sCAAsC;IACtC,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,kCAAkC;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,gCAAgC;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,qDAAqD;IACrD,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,+BAA+B;IAC/B,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,uCAAuC;IACvC,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,MAAM,UAAU,GAClB,MAAM,GACN,OAAO,GACP,OAAO,GACP,MAAM,MAAM,EAAE,GACd,UAAU,MAAM,EAAE,GAClB,SAAS,MAAM,IAAI,MAAM,EAAE,CAAC;AAEhC;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,wBAAwB;IACxB,GAAG,EAAE,MAAM,CAAC;IAEZ,qBAAqB;IACrB,MAAM,EAAE,UAAU,EAAE,CAAC;IAErB,4BAA4B;IAC5B,GAAG,EAAE,MAAM,CAAC;IAEZ,2BAA2B;IAC3B,GAAG,EAAE,MAAM,CAAC;IAEZ,mBAAmB;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IAEb,qBAAqB;IACrB,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IAExB,wBAAwB;IACxB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,gDAAgD;IAChD,IAAI,CAAC,EAAE,WAAW,CAAC;IAEnB,uBAAuB;IACvB,WAAW,CAAC,EAAE,MAAM,CAAC;IAErB,wBAAwB;IACxB,SAAS,EAAE,IAAI,CAAC;IAEhB,6BAA6B;IAC7B,SAAS,EAAE,MAAM,CAAC;IAElB,oDAAoD;IACpD,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB,+CAA+C;IAC/C,aAAa,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACjC"}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* postgres-mcp - FTS Configuration Validation
|
|
3
|
+
*
|
|
4
|
+
* Validates PostgreSQL full-text search configuration names
|
|
5
|
+
* to prevent SQL injection via config parameter.
|
|
6
|
+
*/
|
|
7
|
+
/**
|
|
8
|
+
* Error thrown when an invalid FTS configuration is provided
|
|
9
|
+
*/
|
|
10
|
+
export declare class InvalidFtsConfigError extends Error {
|
|
11
|
+
constructor(config: string);
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Validates a PostgreSQL full-text search configuration name.
|
|
15
|
+
*
|
|
16
|
+
* FTS configs must follow PostgreSQL identifier naming rules:
|
|
17
|
+
* - Start with a letter or underscore
|
|
18
|
+
* - Contain only letters, digits, underscores, or dollar signs
|
|
19
|
+
* - Be at most 63 characters long
|
|
20
|
+
*
|
|
21
|
+
* @param config - The configuration name to validate
|
|
22
|
+
* @throws InvalidFtsConfigError if the config name is invalid
|
|
23
|
+
*
|
|
24
|
+
* @example
|
|
25
|
+
* validateFtsConfig("english"); // OK
|
|
26
|
+
* validateFtsConfig("my_custom_config"); // OK
|
|
27
|
+
* validateFtsConfig("english'; DROP"); // Throws InvalidFtsConfigError
|
|
28
|
+
*/
|
|
29
|
+
export declare function validateFtsConfig(config: string): void;
|
|
30
|
+
/**
|
|
31
|
+
* Validates and returns a safe FTS configuration name.
|
|
32
|
+
*
|
|
33
|
+
* @param config - The configuration name to sanitize
|
|
34
|
+
* @returns The validated config name (unchanged if valid)
|
|
35
|
+
* @throws InvalidFtsConfigError if the config name is invalid
|
|
36
|
+
*/
|
|
37
|
+
export declare function sanitizeFtsConfig(config: string): string;
|
|
38
|
+
//# sourceMappingURL=fts-config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"fts-config.d.ts","sourceRoot":"","sources":["../../src/utils/fts-config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;GAEG;AACH,qBAAa,qBAAsB,SAAQ,KAAK;gBAClC,MAAM,EAAE,MAAM;CAI3B;AAcD;;;;;;;;;;;;;;;GAeG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAYtD;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAGxD"}
|