@writepanda/mcp 1.106.0 → 1.110.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 +75 -2
- package/package.json +1 -1
package/bin/server.mjs
CHANGED
|
@@ -1287,7 +1287,7 @@ const TOOLS = [
|
|
|
1287
1287
|
outline: {
|
|
1288
1288
|
type: "boolean",
|
|
1289
1289
|
description:
|
|
1290
|
-
"
|
|
1290
|
+
"Person OUTLINE (colored keyline + drop shadow) around the cutout — the VOX magazine-cutout look. DEFAULTS ON for mode 'remove'; pass outline:false to remove the background with no keyline. For 'blur' it's off unless set true.",
|
|
1291
1291
|
},
|
|
1292
1292
|
outlineWidth: {
|
|
1293
1293
|
type: "number",
|
|
@@ -1299,7 +1299,8 @@ const TOOLS = [
|
|
|
1299
1299
|
},
|
|
1300
1300
|
outlineShadow: {
|
|
1301
1301
|
type: "boolean",
|
|
1302
|
-
description:
|
|
1302
|
+
description:
|
|
1303
|
+
"Whether the outline casts a drop shadow (lifted-sticker look). Default true.",
|
|
1303
1304
|
},
|
|
1304
1305
|
matteContract: {
|
|
1305
1306
|
type: "number",
|
|
@@ -1925,6 +1926,46 @@ const TOOLS = [
|
|
|
1925
1926
|
},
|
|
1926
1927
|
command: "project.set-focal-point",
|
|
1927
1928
|
},
|
|
1929
|
+
{
|
|
1930
|
+
name: "project_auto_reframe",
|
|
1931
|
+
description:
|
|
1932
|
+
"ACTIVE-SPEAKER AUTO-REFRAME — a tracked virtual camera (Opus-Clip style) for director-cut footage (talk shows, interviews, multi-cam) reframed into a vertical/square canvas. Detects shot cuts, then densely tracks faces (MediaPipe, bundled offline, with tiling for small/far faces) and, on multi-person shots, frames WHOEVER IS TALKING (mouth-open × audio speech-energy) rather than the biggest face. The crop smoothly PANS to follow the subject within a shot and CUTS at shot boundaries, with a safe-zone clamp so the face never leaves frame. This is the right tool (not project_set_focal_point) when a landscape source with multiple/alternating people is cut to 9:16 — set-focal-point sets one static point for the whole clip. Async: opens a renderer for the dense pass (allow a couple minutes for a few-minute source). Optional zoom = fixed punch-in (omit for adaptive). Skips clips already matching the canvas aspect. clear=true reverts to the static crop. Preview and export render the crop identically, per frame.",
|
|
1933
|
+
inputSchema: {
|
|
1934
|
+
type: "object",
|
|
1935
|
+
properties: {
|
|
1936
|
+
id: { type: "string" },
|
|
1937
|
+
path: { type: "string" },
|
|
1938
|
+
clipId: {
|
|
1939
|
+
type: "string",
|
|
1940
|
+
description:
|
|
1941
|
+
"Target one clip (from project.read clipStates). Omit to reframe every landscape clip.",
|
|
1942
|
+
},
|
|
1943
|
+
threshold: {
|
|
1944
|
+
type: "number",
|
|
1945
|
+
description: "Scene-cut sensitivity 0-1 (default 0.3). Lower = more cuts.",
|
|
1946
|
+
},
|
|
1947
|
+
minShotMs: {
|
|
1948
|
+
type: "number",
|
|
1949
|
+
description: "Minimum shot length ms (default 500); closer cuts are merged.",
|
|
1950
|
+
},
|
|
1951
|
+
samplesPerShot: {
|
|
1952
|
+
type: "number",
|
|
1953
|
+
description: "Frames sampled per shot for the focal median (default 3).",
|
|
1954
|
+
},
|
|
1955
|
+
zoom: {
|
|
1956
|
+
type: "number",
|
|
1957
|
+
description:
|
|
1958
|
+
"Fixed punch-in (≥1) for every shot. Omit for the default ADAPTIVE zoom that sizes each speaker's face to a consistent fraction of the frame. Pass e.g. 1.3 to force a uniform punch-in.",
|
|
1959
|
+
},
|
|
1960
|
+
clear: {
|
|
1961
|
+
type: "boolean",
|
|
1962
|
+
description: "Remove the auto-reframe track(s), reverting to the static cover-crop.",
|
|
1963
|
+
},
|
|
1964
|
+
expectedRevision: { type: "number" },
|
|
1965
|
+
},
|
|
1966
|
+
},
|
|
1967
|
+
command: "project.auto-reframe",
|
|
1968
|
+
},
|
|
1928
1969
|
{
|
|
1929
1970
|
name: "project_set_export_settings",
|
|
1930
1971
|
description:
|
|
@@ -2502,6 +2543,11 @@ const TOOLS = [
|
|
|
2502
2543
|
description:
|
|
2503
2544
|
"Font size in REM, e.g. '2.6rem'. Clamped to 1.0–5.0rem (the editor's slider range).",
|
|
2504
2545
|
},
|
|
2546
|
+
uppercase: {
|
|
2547
|
+
type: "boolean",
|
|
2548
|
+
description:
|
|
2549
|
+
"Force ALL-CAPS caption text. true uppercases every caption word; false restores the template's own casing (use false to turn OFF a template that ships uppercase, e.g. 'editorial').",
|
|
2550
|
+
},
|
|
2505
2551
|
expectedRevision: { type: "number" },
|
|
2506
2552
|
},
|
|
2507
2553
|
},
|
|
@@ -2958,6 +3004,33 @@ const TOOLS = [
|
|
|
2958
3004
|
inputSchema: { type: "object", properties: {} },
|
|
2959
3005
|
command: "export.list",
|
|
2960
3006
|
},
|
|
3007
|
+
{
|
|
3008
|
+
name: "export_set_details",
|
|
3009
|
+
description:
|
|
3010
|
+
"Set an export's YouTube-facing details — title, description, and/or chapter timestamps (the fields in the export's Content tab). Pass only what you want to change. Call this when the user asks to update the title/description of an export. `id` is the export-library entry id; when the user is on the export page it is available to the agent as exportPage.entryId in the editor context (else call export_list to find it).",
|
|
3011
|
+
inputSchema: {
|
|
3012
|
+
type: "object",
|
|
3013
|
+
properties: {
|
|
3014
|
+
id: { type: "string", description: "Export-library entry id." },
|
|
3015
|
+
title: { type: "string", description: "New video title." },
|
|
3016
|
+
description: { type: "string", description: "New video description." },
|
|
3017
|
+
timestamps: {
|
|
3018
|
+
type: "array",
|
|
3019
|
+
description:
|
|
3020
|
+
"Chapter timestamps as an array of { timeMs, label } objects, sorted ascending. Omit to leave unchanged.",
|
|
3021
|
+
items: {
|
|
3022
|
+
type: "object",
|
|
3023
|
+
properties: {
|
|
3024
|
+
timeMs: { type: "number" },
|
|
3025
|
+
label: { type: "string" },
|
|
3026
|
+
},
|
|
3027
|
+
},
|
|
3028
|
+
},
|
|
3029
|
+
},
|
|
3030
|
+
required: ["id"],
|
|
3031
|
+
},
|
|
3032
|
+
command: "export.set-details",
|
|
3033
|
+
},
|
|
2961
3034
|
{
|
|
2962
3035
|
name: "export_generate_thumbnail",
|
|
2963
3036
|
description:
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@writepanda/mcp",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.110.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",
|