@ductape/mcp 0.1.24 → 0.1.26

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/dist/index.js CHANGED
@@ -502,11 +502,23 @@ ALL params are passed as a JSON array in positional order matching the SDK signa
502
502
  storage.dispatch [{ product, env, storage, operation, input, retries?, session?, cache?, schedule? }] ← CALL ductape_generate_payload FIRST (operation_family="storage", method="dispatch", targets={storage})
503
503
 
504
504
  ━━━ MODULE: databases ━━━
505
- databases.create [{ product, tag, name, description?, type: "mongodb"|"postgresql"|"mysql"|"sqlite", envs: [{slug, connection_url}] }]
505
+ databases.create [{ product, tag, name, description?, type: "mongodb"|"postgresql"|"mysql"|"sqlite",
506
+ envs: [{ slug, connection_url?,
507
+ cloud?, ← workspace cloud-connection tag (omit connection_url when using this)
508
+ authMode?, ← "cloud_connection" when using cloud field
509
+ dbName?, ← REQUIRED for MongoDB cloud connections — the database name inside the cluster (e.g. "myapp_snd")
510
+ instance?, ← RDS/Cloud SQL instance id (provision flow only)
511
+ region? }] }]
512
+ MONGODB CLOUD CONNECTION RULE: when type="mongodb" and cloud is set, dbName is MANDATORY.
513
+ Without dbName the Atlas API returns a URL with no database name and the adapter will throw
514
+ at migrate/connect time. Provide one dbName per env — they typically differ per environment:
515
+ e.g. { slug:"snd", cloud:"atlas-conn", authMode:"cloud_connection", dbName:"myapp_snd" }
516
+ { slug:"prd", cloud:"atlas-conn", authMode:"cloud_connection", dbName:"myapp_prd" }
506
517
  databases.register [product_tag, data: IProductDatabase]
507
518
  databases.list [product_tag]
508
519
  databases.fetch [product_tag, database_tag]
509
- databases.updateDatabase [product_tag, database_tag, data: { name?: string, description?: string, type?: "postgresql"|"mongodb"|"mysql", envs?: [{ slug: string, connection_url: string, description?: string }] }]
520
+ databases.updateDatabase [product_tag, database_tag, data: { name?, description?, type?,
521
+ envs?: [{ slug, connection_url?, cloud?, authMode?, dbName?, instance?, region? }] }]
510
522
  databases.connect [{ product, env, database }]
511
523
  databases.testConnection [{ product, env, database }]
512
524
  databases.disconnect []
@@ -2652,6 +2664,8 @@ async function main() {
2652
2664
  ' azure-blob→storage, cloud-sql→database, neptune→graph, opensearch→vector. Attempting an unsupported pair\n' +
2653
2665
  ' will return an error; do not retry with a different tier — report the limitation to the user.\n' +
2654
2666
  ' - Atlas (MongoDB Atlas) import flow — service identifier is "atlas-cluster" (required, not optional):\n' +
2667
+ ' IMPORTANT: dbName is mandatory for every MongoDB env — see "MONGODB CLOUD CONNECTION RULE" in the\n' +
2668
+ ' databases module above. The SDK enforces this at create time; omitting it throws a validation error.\n' +
2655
2669
  ' Step 1 — discover the cluster name:\n' +
2656
2670
  ' ductape_cli("cloud resources list -f /tmp/atlas-list.json --json")\n' +
2657
2671
  ' File: {"cloud": "<atlas-connection-tag>", "service": "atlas-cluster"}\n' +
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ductape/mcp",
3
- "version": "0.1.24",
3
+ "version": "0.1.26",
4
4
  "description": "MCP server that exposes Ductape SDK operations via the backend proxy",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
package/src/index.ts CHANGED
@@ -513,11 +513,23 @@ ALL params are passed as a JSON array in positional order matching the SDK signa
513
513
  storage.dispatch [{ product, env, storage, operation, input, retries?, session?, cache?, schedule? }] ← CALL ductape_generate_payload FIRST (operation_family="storage", method="dispatch", targets={storage})
514
514
 
515
515
  ━━━ MODULE: databases ━━━
516
- databases.create [{ product, tag, name, description?, type: "mongodb"|"postgresql"|"mysql"|"sqlite", envs: [{slug, connection_url}] }]
516
+ databases.create [{ product, tag, name, description?, type: "mongodb"|"postgresql"|"mysql"|"sqlite",
517
+ envs: [{ slug, connection_url?,
518
+ cloud?, ← workspace cloud-connection tag (omit connection_url when using this)
519
+ authMode?, ← "cloud_connection" when using cloud field
520
+ dbName?, ← REQUIRED for MongoDB cloud connections — the database name inside the cluster (e.g. "myapp_snd")
521
+ instance?, ← RDS/Cloud SQL instance id (provision flow only)
522
+ region? }] }]
523
+ MONGODB CLOUD CONNECTION RULE: when type="mongodb" and cloud is set, dbName is MANDATORY.
524
+ Without dbName the Atlas API returns a URL with no database name and the adapter will throw
525
+ at migrate/connect time. Provide one dbName per env — they typically differ per environment:
526
+ e.g. { slug:"snd", cloud:"atlas-conn", authMode:"cloud_connection", dbName:"myapp_snd" }
527
+ { slug:"prd", cloud:"atlas-conn", authMode:"cloud_connection", dbName:"myapp_prd" }
517
528
  databases.register [product_tag, data: IProductDatabase]
518
529
  databases.list [product_tag]
519
530
  databases.fetch [product_tag, database_tag]
520
- databases.updateDatabase [product_tag, database_tag, data: { name?: string, description?: string, type?: "postgresql"|"mongodb"|"mysql", envs?: [{ slug: string, connection_url: string, description?: string }] }]
531
+ databases.updateDatabase [product_tag, database_tag, data: { name?, description?, type?,
532
+ envs?: [{ slug, connection_url?, cloud?, authMode?, dbName?, instance?, region? }] }]
521
533
  databases.connect [{ product, env, database }]
522
534
  databases.testConnection [{ product, env, database }]
523
535
  databases.disconnect []
@@ -2778,6 +2790,8 @@ async function main() {
2778
2790
  ' azure-blob→storage, cloud-sql→database, neptune→graph, opensearch→vector. Attempting an unsupported pair\n' +
2779
2791
  ' will return an error; do not retry with a different tier — report the limitation to the user.\n' +
2780
2792
  ' - Atlas (MongoDB Atlas) import flow — service identifier is "atlas-cluster" (required, not optional):\n' +
2793
+ ' IMPORTANT: dbName is mandatory for every MongoDB env — see "MONGODB CLOUD CONNECTION RULE" in the\n' +
2794
+ ' databases module above. The SDK enforces this at create time; omitting it throws a validation error.\n' +
2781
2795
  ' Step 1 — discover the cluster name:\n' +
2782
2796
  ' ductape_cli("cloud resources list -f /tmp/atlas-list.json --json")\n' +
2783
2797
  ' File: {"cloud": "<atlas-connection-tag>", "service": "atlas-cluster"}\n' +