@writepanda/mcp 1.55.0 → 1.56.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/bin/server.mjs +25 -5
- 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.",
|
|
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).",
|
|
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 | none. 'none' hides the webcam.",
|
|
1205
|
+
"picture-in-picture | vertical-stack | side-by-side | podcast | none. 'podcast' shows two co-equal speaker tiles; 'none' hides the webcam.",
|
|
1206
1206
|
},
|
|
1207
1207
|
cx: {
|
|
1208
1208
|
type: "number",
|
|
@@ -1443,20 +1443,40 @@ const TOOLS = [
|
|
|
1443
1443
|
{
|
|
1444
1444
|
name: "project_set_clip_kind",
|
|
1445
1445
|
description:
|
|
1446
|
-
"Stamp a clip's capture origin authoritatively: kind = camera | screen | upload. project.read returns each clip's kind (your visual-strategy signal: camera → designed segments + emphasis zooms; screen → cursor zooms). On pre-v1.28 projects kind wasn't recorded, so project.read INFERS it (flagged kindInferred:true) — and inference can be wrong. Use this to correct/lock it. `camera` = talking-head; `screen` = screen recording (maybe with webcam PiP); `upload` = imported file.",
|
|
1446
|
+
"Stamp a clip's capture origin authoritatively: kind = camera | screen | upload | podcast. project.read returns each clip's kind (your visual-strategy signal: camera → designed segments + emphasis zooms; screen → cursor zooms). On pre-v1.28 projects kind wasn't recorded, so project.read INFERS it (flagged kindInferred:true) — and inference can be wrong. Use this to correct/lock it. `camera` = talking-head; `screen` = screen recording (maybe with webcam PiP); `upload` = imported file; `podcast` = two-speaker composite (host=mediaPath, guest=webcamPath).",
|
|
1447
1447
|
inputSchema: {
|
|
1448
1448
|
type: "object",
|
|
1449
1449
|
properties: {
|
|
1450
1450
|
id: { type: "string" },
|
|
1451
1451
|
path: { type: "string" },
|
|
1452
1452
|
clipId: { type: "string", description: "Clip id from project_read mainTrack.clips[n].id" },
|
|
1453
|
-
kind: { type: "string", enum: ["camera", "screen", "upload"] },
|
|
1453
|
+
kind: { type: "string", enum: ["camera", "screen", "upload", "podcast"] },
|
|
1454
1454
|
expectedRevision: { type: "number" },
|
|
1455
1455
|
},
|
|
1456
1456
|
required: ["clipId", "kind"],
|
|
1457
1457
|
},
|
|
1458
1458
|
command: "project.set-clip-kind",
|
|
1459
1459
|
},
|
|
1460
|
+
{
|
|
1461
|
+
name: "project_set_webcam_offset",
|
|
1462
|
+
description:
|
|
1463
|
+
"Fine-tune a podcast composite's guest/host sync. offsetMs shifts the guest (webcamPath) relative to the host: positive delays the guest, negative advances it, 0 clears it (±10000). Honored in preview + export — the guest VIDEO and AUDIO shift together. Use when the two speakers look or sound slightly out of sync.",
|
|
1464
|
+
inputSchema: {
|
|
1465
|
+
type: "object",
|
|
1466
|
+
properties: {
|
|
1467
|
+
id: { type: "string" },
|
|
1468
|
+
path: { type: "string" },
|
|
1469
|
+
clipId: { type: "string", description: "Clip id of the podcast composite" },
|
|
1470
|
+
offsetMs: {
|
|
1471
|
+
type: "number",
|
|
1472
|
+
description: "Guest time nudge in ms (±10000). Positive delays guest; 0 clears.",
|
|
1473
|
+
},
|
|
1474
|
+
expectedRevision: { type: "number" },
|
|
1475
|
+
},
|
|
1476
|
+
required: ["clipId", "offsetMs"],
|
|
1477
|
+
},
|
|
1478
|
+
command: "project.set-webcam-offset",
|
|
1479
|
+
},
|
|
1460
1480
|
|
|
1461
1481
|
// ── transcript-based editing ────────────────────────────────────
|
|
1462
1482
|
{
|
|
@@ -2230,7 +2250,7 @@ const TOOLS = [
|
|
|
2230
2250
|
const server = new Server(
|
|
2231
2251
|
{
|
|
2232
2252
|
name: "pandastudio",
|
|
2233
|
-
version: "1.
|
|
2253
|
+
version: "1.56.0",
|
|
2234
2254
|
},
|
|
2235
2255
|
{
|
|
2236
2256
|
capabilities: {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@writepanda/mcp",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.56.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",
|