@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.
- package/dist/index.js +26 -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.
|
|
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 (
|
|
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.
|
|
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",
|