@writepanda/mcp 1.56.0 → 1.57.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 +25 -4
  2. package/package.json +1 -1
package/bin/server.mjs CHANGED
@@ -1193,7 +1193,7 @@ const TOOLS = [
1193
1193
  {
1194
1194
  name: "project_set_webcam_layout",
1195
1195
  description:
1196
- "Set the webcam layout preset and optional position/scale for the current project. Use 'none' to hide the webcam overlay entirely. Use 'podcast' for a two-speaker composite (host + guest as co-equal tiles).",
1196
+ "Set the PROJECT-LEVEL webcam layout preset and optional position/scale. Use 'none' to hide the webcam. 'podcast' = two co-equal speaker tiles (host + guest). 'podcast-host-full'/'podcast-guest-full' = a single speaker full-frame (host=mediaPath/speaker 1, guest=webcamPath/speaker 2). To vary the layout PER SECTION of a podcast, split the clip and use project_set_clip_layout instead.",
1197
1197
  inputSchema: {
1198
1198
  type: "object",
1199
1199
  properties: {
@@ -1202,7 +1202,7 @@ const TOOLS = [
1202
1202
  preset: {
1203
1203
  type: "string",
1204
1204
  description:
1205
- "picture-in-picture | vertical-stack | side-by-side | podcast | none. 'podcast' shows two co-equal speaker tiles; 'none' hides the webcam.",
1205
+ "picture-in-picture | vertical-stack | side-by-side | podcast | podcast-host-full | podcast-guest-full | none",
1206
1206
  },
1207
1207
  cx: {
1208
1208
  type: "number",
@@ -1477,6 +1477,27 @@ const TOOLS = [
1477
1477
  },
1478
1478
  command: "project.set-webcam-offset",
1479
1479
  },
1480
+ {
1481
+ name: "project_set_clip_layout",
1482
+ description:
1483
+ "Set ONE clip's webcam layout — the per-section override for a podcast. preset: podcast | podcast-host-full | podcast-guest-full | picture-in-picture | side-by-side | vertical-stack | none (none clears the override so the clip inherits the project layout). 'podcast-host-full' shows only speaker 1 (host=mediaPath) full-frame; 'podcast-guest-full' shows only speaker 2 (guest=webcamPath). Speaker-driven editing flow: transcript_get returns each word's `speaker` ('host'/'guest') for podcast clips; project_split_clip at the points where the active speaker changes; then call this per section to cut to whoever is talking. Honored in preview + export.",
1484
+ inputSchema: {
1485
+ type: "object",
1486
+ properties: {
1487
+ id: { type: "string" },
1488
+ path: { type: "string" },
1489
+ clipId: { type: "string", description: "Clip id of the section to set" },
1490
+ preset: {
1491
+ type: "string",
1492
+ description:
1493
+ "podcast | podcast-host-full | podcast-guest-full | picture-in-picture | side-by-side | vertical-stack | none",
1494
+ },
1495
+ expectedRevision: { type: "number" },
1496
+ },
1497
+ required: ["clipId", "preset"],
1498
+ },
1499
+ command: "project.set-clip-layout",
1500
+ },
1480
1501
 
1481
1502
  // ── transcript-based editing ────────────────────────────────────
1482
1503
  {
@@ -1496,7 +1517,7 @@ const TOOLS = [
1496
1517
  {
1497
1518
  name: "transcript_get",
1498
1519
  description:
1499
- "Return the merged edited-time transcript: every word with id, text, startMs, endMs in EDITED-TIMELINE coordinates. Use word IDs as input to transcript_delete_words.",
1520
+ "Return the merged edited-time transcript: every word with id, text, startMs, endMs in EDITED-TIMELINE coordinates. Use word IDs as input to transcript_delete_words. For a PODCAST composite, each word also carries `speaker` ('host' = speaker 1 / mediaPath, 'guest' = speaker 2 / webcamPath) — use these spans to drive project_set_clip_layout (cut to whoever is talking).",
1500
1521
  inputSchema: {
1501
1522
  type: "object",
1502
1523
  properties: {
@@ -2250,7 +2271,7 @@ const TOOLS = [
2250
2271
  const server = new Server(
2251
2272
  {
2252
2273
  name: "pandastudio",
2253
- version: "1.56.0",
2274
+ version: "1.57.0",
2254
2275
  },
2255
2276
  {
2256
2277
  capabilities: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@writepanda/mcp",
3
- "version": "1.56.0",
3
+ "version": "1.57.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",