@writepanda/mcp 1.191.0 → 1.194.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 +142 -2
- package/package.json +1 -1
package/bin/server.mjs
CHANGED
|
@@ -1973,6 +1973,141 @@ const TOOLS = [
|
|
|
1973
1973
|
},
|
|
1974
1974
|
command: "project.remove-mute-region",
|
|
1975
1975
|
},
|
|
1976
|
+
{
|
|
1977
|
+
name: "project_add_bleep",
|
|
1978
|
+
description:
|
|
1979
|
+
"Bleep words instead of cutting them: audio silenced, a tone of exactly their length plays, captions mask them (d***). wordIds from transcript.get (adjacent words = one bleep; stays on those words through later cuts) or startMs/endMs edited ms. Overlaps merge. Returns bleepIds.",
|
|
1980
|
+
inputSchema: {
|
|
1981
|
+
type: "object",
|
|
1982
|
+
properties: {
|
|
1983
|
+
id: { type: "string" },
|
|
1984
|
+
path: { type: "string" },
|
|
1985
|
+
wordIds: { type: "array", items: { type: "string" } },
|
|
1986
|
+
startMs: { type: "number" },
|
|
1987
|
+
endMs: { type: "number" },
|
|
1988
|
+
sound: {
|
|
1989
|
+
type: "string",
|
|
1990
|
+
enum: ["tv", "low", "high", "retro", "silence"],
|
|
1991
|
+
description: "Default tv (1 kHz).",
|
|
1992
|
+
},
|
|
1993
|
+
volume: { type: "number", description: "0-1, default 0.5." },
|
|
1994
|
+
mask: {
|
|
1995
|
+
type: "string",
|
|
1996
|
+
enum: ["stars", "none"],
|
|
1997
|
+
description: "Caption masking, default stars.",
|
|
1998
|
+
},
|
|
1999
|
+
padMs: { type: "number", description: "Padding each side, default 30." },
|
|
2000
|
+
padStartMs: { type: "number" },
|
|
2001
|
+
padEndMs: { type: "number" },
|
|
2002
|
+
expectedRevision: { type: "number" },
|
|
2003
|
+
},
|
|
2004
|
+
},
|
|
2005
|
+
command: "project.add-bleep",
|
|
2006
|
+
},
|
|
2007
|
+
{
|
|
2008
|
+
name: "project_update_bleep",
|
|
2009
|
+
description:
|
|
2010
|
+
"Change a bleep's sound, volume or caption mask, or its edges: nudgeStartMs (+ = earlier start), nudgeEndMs (+ = later end), or padStartMs/padEndMs.",
|
|
2011
|
+
inputSchema: {
|
|
2012
|
+
type: "object",
|
|
2013
|
+
properties: {
|
|
2014
|
+
id: { type: "string" },
|
|
2015
|
+
path: { type: "string" },
|
|
2016
|
+
bleepId: { type: "string" },
|
|
2017
|
+
sound: { type: "string", enum: ["tv", "low", "high", "retro", "silence"] },
|
|
2018
|
+
volume: { type: "number" },
|
|
2019
|
+
mask: { type: "string", enum: ["stars", "none"] },
|
|
2020
|
+
padStartMs: { type: "number" },
|
|
2021
|
+
padEndMs: { type: "number" },
|
|
2022
|
+
nudgeStartMs: { type: "number" },
|
|
2023
|
+
nudgeEndMs: { type: "number" },
|
|
2024
|
+
expectedRevision: { type: "number" },
|
|
2025
|
+
},
|
|
2026
|
+
required: ["bleepId"],
|
|
2027
|
+
},
|
|
2028
|
+
command: "project.update-bleep",
|
|
2029
|
+
},
|
|
2030
|
+
{
|
|
2031
|
+
name: "project_remove_bleep",
|
|
2032
|
+
description: "Remove a bleep (bleepId) or un-bleep specific words (wordIds).",
|
|
2033
|
+
inputSchema: {
|
|
2034
|
+
type: "object",
|
|
2035
|
+
properties: {
|
|
2036
|
+
id: { type: "string" },
|
|
2037
|
+
path: { type: "string" },
|
|
2038
|
+
bleepId: { type: "string" },
|
|
2039
|
+
wordIds: { type: "array", items: { type: "string" } },
|
|
2040
|
+
expectedRevision: { type: "number" },
|
|
2041
|
+
},
|
|
2042
|
+
},
|
|
2043
|
+
command: "project.remove-bleep",
|
|
2044
|
+
},
|
|
2045
|
+
{
|
|
2046
|
+
name: "project_plan_broll",
|
|
2047
|
+
description:
|
|
2048
|
+
"B-roll, the LAST step of an edit: the moments where a picture of what's said would help, plus imageConnector (connected generator or null). Never makes images: show the user the moments and ASK: their own images, generate on their connector (uses their credits), or no B-roll. No one to ask: skip it and say so.",
|
|
2049
|
+
inputSchema: {
|
|
2050
|
+
type: "object",
|
|
2051
|
+
properties: {
|
|
2052
|
+
id: { type: "string" },
|
|
2053
|
+
path: { type: "string" },
|
|
2054
|
+
maxBeats: { type: "number" },
|
|
2055
|
+
minGapMs: { type: "number" },
|
|
2056
|
+
},
|
|
2057
|
+
},
|
|
2058
|
+
command: "project.plan-broll",
|
|
2059
|
+
},
|
|
2060
|
+
{
|
|
2061
|
+
name: "project_add_broll",
|
|
2062
|
+
description:
|
|
2063
|
+
"Place a B-roll beat on a word: the picture (user's own, or generated after they agreed) for ~2 s with a slow push, shutter click and a transition on both edges; moves / deletes / follows cuts as one (brollId).",
|
|
2064
|
+
inputSchema: {
|
|
2065
|
+
type: "object",
|
|
2066
|
+
properties: {
|
|
2067
|
+
id: { type: "string" },
|
|
2068
|
+
path: { type: "string" },
|
|
2069
|
+
imagePath: { type: "string" },
|
|
2070
|
+
wordId: { type: "string" },
|
|
2071
|
+
atMs: { type: "number" },
|
|
2072
|
+
durationMs: { type: "number", description: "1400-4000, default 2000." },
|
|
2073
|
+
endWordId: { type: "string" },
|
|
2074
|
+
layout: { type: "string", enum: ["full", "inset"] },
|
|
2075
|
+
transition: {
|
|
2076
|
+
type: "string",
|
|
2077
|
+
enum: ["flash", "light-sweep", "film-burn", "fade-white", "glitch", "none"],
|
|
2078
|
+
},
|
|
2079
|
+
sound: { type: "string", enum: ["shutter", "click", "none"] },
|
|
2080
|
+
push: { type: "string", enum: ["in", "out", "none"] },
|
|
2081
|
+
expectedRevision: { type: "number" },
|
|
2082
|
+
},
|
|
2083
|
+
required: ["imagePath"],
|
|
2084
|
+
},
|
|
2085
|
+
command: "project.add-broll",
|
|
2086
|
+
},
|
|
2087
|
+
{
|
|
2088
|
+
name: "project_list_broll",
|
|
2089
|
+
description: "The project's B-roll beats (brollId, picture, span, overlay ids).",
|
|
2090
|
+
inputSchema: {
|
|
2091
|
+
type: "object",
|
|
2092
|
+
properties: { id: { type: "string" }, path: { type: "string" } },
|
|
2093
|
+
},
|
|
2094
|
+
command: "project.list-broll",
|
|
2095
|
+
},
|
|
2096
|
+
{
|
|
2097
|
+
name: "project_remove_broll",
|
|
2098
|
+
description: "Remove a B-roll beat (picture + transitions) by brollId.",
|
|
2099
|
+
inputSchema: {
|
|
2100
|
+
type: "object",
|
|
2101
|
+
properties: {
|
|
2102
|
+
id: { type: "string" },
|
|
2103
|
+
path: { type: "string" },
|
|
2104
|
+
brollId: { type: "string" },
|
|
2105
|
+
expectedRevision: { type: "number" },
|
|
2106
|
+
},
|
|
2107
|
+
required: ["brollId"],
|
|
2108
|
+
},
|
|
2109
|
+
command: "project.remove-broll",
|
|
2110
|
+
},
|
|
1976
2111
|
{
|
|
1977
2112
|
name: "project_add_spotlight",
|
|
1978
2113
|
description:
|
|
@@ -3641,7 +3776,7 @@ const TOOLS = [
|
|
|
3641
3776
|
{
|
|
3642
3777
|
name: "media_generate_image",
|
|
3643
3778
|
description:
|
|
3644
|
-
"Generate one image on the user's own image connector (auto: Replicate, else Higgsfield; their credits). Returns { imagePath, provider, model, transparent }. transparent=true: trimmed PNG sticker. No connector: code NO_IMAGE_CONNECTOR, so ask the user for their own images. Each call is a paid generation.",
|
|
3779
|
+
"Generate one image on the user's own image connector (auto: Replicate, else Higgsfield; their credits). Only after the user agreed to generating (ask first; B-roll: project_plan_broll, then ask). Returns { imagePath, provider, model, transparent }. transparent=true: trimmed PNG sticker. No connector: code NO_IMAGE_CONNECTOR, so ask the user for their own images. Each call is a paid generation.",
|
|
3645
3780
|
inputSchema: {
|
|
3646
3781
|
type: "object",
|
|
3647
3782
|
properties: {
|
|
@@ -4394,6 +4529,10 @@ const TOOLS = [
|
|
|
4394
4529
|
description: "Omit for the template's natural mode.",
|
|
4395
4530
|
},
|
|
4396
4531
|
outputName: { type: "string" },
|
|
4532
|
+
durationMs: {
|
|
4533
|
+
type: "number",
|
|
4534
|
+
description: "Length for templates with a durationRangeMs (clamped); ignored otherwise.",
|
|
4535
|
+
},
|
|
4397
4536
|
},
|
|
4398
4537
|
required: ["templateId", "slots"],
|
|
4399
4538
|
},
|
|
@@ -5041,7 +5180,8 @@ Before an editing pass, read the skill's "Which tool for which moment" section (
|
|
|
5041
5180
|
5. transcript_remove_silences.
|
|
5042
5181
|
6. audio_clean clips not yet cleaned.
|
|
5043
5182
|
7. Captions (caption_toggle; template glowStack unless a recipe says otherwise), motion graphics, emphasis zooms: only after steps 2-5, which shift the timeline.
|
|
5044
|
-
8.
|
|
5183
|
+
8. B-roll, last: project_plan_broll, show the user the moments and ASK: their own images, generated on their image connector (only if one is connected; it uses their credits), or no B-roll. Never generate or invent images without their answer. Place what they give with project_add_broll. Nobody to ask: skip it and say so.
|
|
5184
|
+
9. llm_generate_title / description / timestamps, then preview_show and ask before export_start. Never export before the user has seen the preview.
|
|
5045
5185
|
Report the real count each step returned. Never add music, intro/outro cards or FX overlays unless asked.
|
|
5046
5186
|
|
|
5047
5187
|
Style defaults when the user names no style, recipe or creator (their choice or a saved memory wins):
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@writepanda/mcp",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.194.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",
|