@writepanda/mcp 1.32.1 → 1.34.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/bin/server.mjs +41 -0
  2. package/package.json +1 -1
package/bin/server.mjs CHANGED
@@ -382,6 +382,24 @@ const TOOLS = [
382
382
  },
383
383
  command: "project.list",
384
384
  },
385
+ {
386
+ name: "project_set_folder",
387
+ description:
388
+ 'Move a project to a folder (organisational label shown on the Home page) or back to Unsorted. Folders are flat (no nesting) and scoped to the project\'s owning workspace. Identify the project by `id` (preferred) or `path`. Pass `folder: ""` (empty string) or omit the field to clear the folder and return the project to Unsorted. Returns { id, path, folder }. Use this when the user asks to organise, sort, label, group, archive, or categorise projects.',
389
+ inputSchema: {
390
+ type: "object",
391
+ properties: {
392
+ id: { type: "string", description: "Project UUID (preferred)." },
393
+ path: { type: "string", description: "Absolute project file path." },
394
+ folder: {
395
+ type: "string",
396
+ description:
397
+ "Folder label. Case-sensitive; whitespace is trimmed. Empty string or omitted = move to Unsorted.",
398
+ },
399
+ },
400
+ },
401
+ command: "project.setFolder",
402
+ },
385
403
  {
386
404
  name: "project_locate",
387
405
  description:
@@ -566,6 +584,29 @@ const TOOLS = [
566
584
  },
567
585
  command: "project.set-overlay-backdrop-blur",
568
586
  },
587
+ {
588
+ name: "project_set_overlay_crop",
589
+ description:
590
+ "Set or clear a source-pixel crop on a media overlay (image / video / motion graphic). Coordinates are normalized 0–1 over the overlay's NATIVE source dimensions (NOT the canvas) — independent of where the overlay is positioned on the timeline. Common uses: cut black bars off b-roll before compositing; isolate the centre column of a 16:9 clip when stacking it into a 9:16 short; zoom into one quadrant of a motion graphic. Omit x/y/width/height (or pass identity {0,0,1,1}) to clear the crop entirely. The renderer clamps out-of-range values so a malformed crop is at worst 'whole source'.",
591
+ inputSchema: {
592
+ type: "object",
593
+ properties: {
594
+ id: { type: "string" },
595
+ path: { type: "string" },
596
+ regionId: {
597
+ type: "string",
598
+ description: "Media-overlay region id from project.read.",
599
+ },
600
+ x: { type: "number", description: "Crop x origin in [0, 1) of source width." },
601
+ y: { type: "number", description: "Crop y origin in [0, 1) of source height." },
602
+ width: { type: "number", description: "Crop width in (0, 1] of source width." },
603
+ height: { type: "number", description: "Crop height in (0, 1] of source height." },
604
+ expectedRevision: { type: "number" },
605
+ },
606
+ required: ["regionId"],
607
+ },
608
+ command: "project.set-overlay-crop",
609
+ },
569
610
  {
570
611
  name: "project_add_fx",
571
612
  description: "Drop an FX overlay (bundled fxId or custom video URL) onto the timeline.",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@writepanda/mcp",
3
- "version": "1.32.1",
3
+ "version": "1.34.0",
4
4
  "description": "Model Context Protocol server for PandaStudio. Exposes the desktop video editor's automation surface to Cursor, Continue, Cline, Claude Desktop, and any MCP-compliant client.",
5
5
  "keywords": [
6
6
  "pandastudio",