@fruition/fcp-mcp-server 1.8.0 → 1.9.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 (2) hide show
  1. package/dist/index.js +26 -2
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -415,6 +415,9 @@ class FCPClient {
415
415
  body: JSON.stringify(input),
416
416
  });
417
417
  }
418
+ async backupSanitizeStatus(jobId) {
419
+ return this.fetch(`/api/backup/download/status?jobId=${encodeURIComponent(jobId)}`);
420
+ }
418
421
  async backupListPairings(siteId) {
419
422
  const params = new URLSearchParams();
420
423
  if (siteId)
@@ -2294,7 +2297,7 @@ const TOOLS = [
2294
2297
  },
2295
2298
  {
2296
2299
  name: 'fcp_backup_download_prepared',
2297
- description: 'Prepare a backup download with optional sanitization. Returns a presigned download URL with metadata.',
2300
+ description: 'Prepare a backup download with optional sanitization. For production backups, sanitization is the default — this returns a jobId to poll via fcp_backup_sanitize_status. For non-production backups, returns a presigned download URL directly.',
2298
2301
  inputSchema: {
2299
2302
  type: 'object',
2300
2303
  properties: {
@@ -2316,12 +2319,26 @@ const TOOLS = [
2316
2319
  },
2317
2320
  sanitize: {
2318
2321
  type: 'boolean',
2319
- description: 'Whether to sanitize production data (optional)',
2322
+ description: 'Whether to sanitize production data. Defaults to true for production environments. Set to false to skip sanitization (non-production only).',
2320
2323
  },
2321
2324
  },
2322
2325
  required: ['siteId', 'backupId', 'downloadType'],
2323
2326
  },
2324
2327
  },
2328
+ {
2329
+ name: 'fcp_backup_sanitize_status',
2330
+ description: 'Check the status of a database sanitization job. Poll this after fcp_backup_download_prepared returns a jobId. When status is "completed", the response includes a presigned downloadUrl for the sanitized backup.',
2331
+ inputSchema: {
2332
+ type: 'object',
2333
+ properties: {
2334
+ jobId: {
2335
+ type: 'string',
2336
+ description: 'The sanitization job ID returned by fcp_backup_download_prepared',
2337
+ },
2338
+ },
2339
+ required: ['jobId'],
2340
+ },
2341
+ },
2325
2342
  {
2326
2343
  name: 'fcp_backup_list_pairings',
2327
2344
  description: 'List site pairings for backup management. Optionally filter by site ID. Shows production/staging/dev relationships grouped by account.',
@@ -3330,6 +3347,13 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
3330
3347
  content: [{ type: 'text', text: JSON.stringify(result, null, 2) }],
3331
3348
  };
3332
3349
  }
3350
+ case 'fcp_backup_sanitize_status': {
3351
+ const { jobId } = args;
3352
+ const result = await client.backupSanitizeStatus(jobId);
3353
+ return {
3354
+ content: [{ type: 'text', text: JSON.stringify(result, null, 2) }],
3355
+ };
3356
+ }
3333
3357
  case 'fcp_backup_list_pairings': {
3334
3358
  const { siteId } = args;
3335
3359
  const result = await client.backupListPairings(siteId);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fruition/fcp-mcp-server",
3
- "version": "1.8.0",
3
+ "version": "1.9.0",
4
4
  "description": "MCP Server for FCP Launch Coordination System - enables Claude Code to interact with FCP launches and track development time",
5
5
  "main": "dist/index.js",
6
6
  "type": "module",