@writepanda/mcp 1.12.0 → 1.13.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 +56 -0
- package/package.json +1 -1
package/bin/server.mjs
CHANGED
|
@@ -1002,6 +1002,62 @@ const TOOLS = [
|
|
|
1002
1002
|
},
|
|
1003
1003
|
command: "motion.render-html",
|
|
1004
1004
|
},
|
|
1005
|
+
{
|
|
1006
|
+
name: "motion_screenshot",
|
|
1007
|
+
description:
|
|
1008
|
+
"Capture a single PNG frame of an HTML composition at a given timestamp — no FFmpeg, sub-second. Use this to validate layout, font sizes, and element positions BEFORE committing to a full motion_render_html render. Returns { outputPath } directly (no jobId polling needed).",
|
|
1009
|
+
inputSchema: {
|
|
1010
|
+
type: "object",
|
|
1011
|
+
properties: {
|
|
1012
|
+
html: {
|
|
1013
|
+
type: "string",
|
|
1014
|
+
description: "Inline HTML string (mutually exclusive with htmlPath).",
|
|
1015
|
+
},
|
|
1016
|
+
htmlPath: {
|
|
1017
|
+
type: "string",
|
|
1018
|
+
description: "Absolute path to .html file (mutually exclusive with html).",
|
|
1019
|
+
},
|
|
1020
|
+
aspectRatio: {
|
|
1021
|
+
type: "string",
|
|
1022
|
+
description: "16:9 (default) | 9:16 | 1:1. Ignored if width+height supplied.",
|
|
1023
|
+
},
|
|
1024
|
+
width: { type: "number" },
|
|
1025
|
+
height: { type: "number" },
|
|
1026
|
+
atMs: {
|
|
1027
|
+
type: "number",
|
|
1028
|
+
description:
|
|
1029
|
+
"Milliseconds into the animation to screenshot. Waits this long after page load. Default 0 (first visible frame). Max 30000. Use e.g. 2000 to preview the animation mid-way.",
|
|
1030
|
+
},
|
|
1031
|
+
assets: {
|
|
1032
|
+
type: "array",
|
|
1033
|
+
items: { type: "string" },
|
|
1034
|
+
description:
|
|
1035
|
+
"Absolute paths to local files to stage alongside inline HTML — same as motion_render_html.",
|
|
1036
|
+
},
|
|
1037
|
+
outputName: { type: "string", description: "Optional PNG filename stem." },
|
|
1038
|
+
},
|
|
1039
|
+
},
|
|
1040
|
+
command: "motion.screenshot",
|
|
1041
|
+
},
|
|
1042
|
+
{
|
|
1043
|
+
name: "motion_concat",
|
|
1044
|
+
description:
|
|
1045
|
+
"Concatenate multiple MP4s into one final video using a lossless stream copy (no re-encode — fast). All clips must share the same resolution and codec; all motion_render_html / motion_generate outputs qualify automatically. Use this after rendering individual scenes to assemble the final promo. Returns { outputPath, clipCount } directly.",
|
|
1046
|
+
inputSchema: {
|
|
1047
|
+
type: "object",
|
|
1048
|
+
required: ["clips"],
|
|
1049
|
+
properties: {
|
|
1050
|
+
clips: {
|
|
1051
|
+
type: "array",
|
|
1052
|
+
items: { type: "string" },
|
|
1053
|
+
description:
|
|
1054
|
+
"Ordered array of absolute paths to MP4 files to join. Minimum 2. The output plays them in the order given.",
|
|
1055
|
+
},
|
|
1056
|
+
outputName: { type: "string", description: "Optional filename stem for the output MP4." },
|
|
1057
|
+
},
|
|
1058
|
+
},
|
|
1059
|
+
command: "motion.concat",
|
|
1060
|
+
},
|
|
1005
1061
|
|
|
1006
1062
|
// ── assets ──────────────────────────────────────────────────────
|
|
1007
1063
|
{
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@writepanda/mcp",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.13.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",
|