@writepanda/mcp 1.217.0 → 1.218.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 +16 -6
  2. package/package.json +1 -1
package/bin/server.mjs CHANGED
@@ -4318,7 +4318,7 @@ const TOOLS = [
4318
4318
  {
4319
4319
  name: "audio_enhance",
4320
4320
  description:
4321
- "Enhance voice: THE audio cleanup step (one call). Runs the studio chain on speech, per source (a podcast's host and each guest separately): noise removal, coughs/bumps out of pauses, mouth-click repair, broadcast tone, boom control, level riding (lifts very quiet speech too), de-esser, quieter pauses, -16 LUFS / -1 dBTP. strength: natural (default), light (gentle tidy), strong (assertive broadcast). keepBackground true for vlogs / ambience where the room is part of the video (no noise removal, event remover or pause expander; level, EQ and loudness still run). echo true only when the user mentions echo / reverb or the room is bare. restore true = Restore voice quality (TF-Restormer) for thin, muffled or call-quality mics only (Apple silicon; slow; never on a good mic). reference = a clip id or file whose voice tone to match. off true restores the original audio. The noise-removal engine is automatic. Every run processes the original media, so running again replaces the result (never stacks). ASYNC: { jobId }, job_wait; the result reports before/after loudness (LUFS, LRA, true peak, speech over pauses, tone deviation) and the engine per source: tell the user.",
4321
+ "Enhance voice: THE audio cleanup step (one call). Runs the studio chain on speech, per source (a podcast's host and each guest separately): noise removal, coughs/bumps out of pauses, mouth-click repair, broadcast tone, boom control, level riding (lifts very quiet speech too), de-esser, quieter pauses, -16 LUFS / -1 dBTP. strength: natural (default), light (gentle tidy), strong (assertive broadcast). keepBackground true for vlogs / ambience where the room is part of the video (no noise removal, event remover or pause expander; level, EQ and loudness still run). Enhance voice already removes room echo with the Studio AI model; only use echo when the result reports the model did not run (fallback) (denoiser deepfilternet3, or keepBackground); when the model runs, echo is skipped and the result says echoSkipped: ai-model-removes-echo (relay echoSkippedReason, do not retry). restore true = Restore voice quality (TF-Restormer) for thin, muffled or call-quality mics only (Apple silicon; slow; never on a good mic). reference = a clip id or file whose voice tone to match. off true restores the original audio. The noise-removal engine is automatic. Every run processes the original media, so running again replaces the result (never stacks). ASYNC: { jobId }, job_wait; the result reports before/after loudness (LUFS, LRA, true peak, speech over pauses, tone deviation) and the engine per source: tell the user.",
4322
4322
  inputSchema: {
4323
4323
  type: "object",
4324
4324
  properties: {
@@ -4339,7 +4339,12 @@ const TOOLS = [
4339
4339
  default: false,
4340
4340
  description: "Keep the room sound (vlogs, ambience).",
4341
4341
  },
4342
- echo: { type: "boolean", default: false, description: "Reduce room echo." },
4342
+ echo: {
4343
+ type: "boolean",
4344
+ default: false,
4345
+ description:
4346
+ "Reduce room echo. Enhance voice already removes room echo with the Studio AI model; only use echo when the result reports the model did not run (fallback). Skipped (echoSkipped) whenever the model runs.",
4347
+ },
4343
4348
  restore: {
4344
4349
  type: "boolean",
4345
4350
  default: false,
@@ -4359,14 +4364,18 @@ const TOOLS = [
4359
4364
  {
4360
4365
  name: "audio_clean",
4361
4366
  description:
4362
- "Deprecated alias of audio_enhance strength light (noise removal, gentle level and tone, -16 LUFS), echo true adds Reduce echo; clips already enhanced are skipped unless clipId is given. Prefer audio_enhance. ASYNC: { jobId }, job_wait.",
4367
+ "Deprecated alias of audio_enhance strength light (noise removal, gentle level and tone, -16 LUFS), echo true adds Reduce echo only when the Studio AI model does not run (it already removes room echo; the result then says echoSkipped); clips already enhanced are skipped unless clipId is given. Prefer audio_enhance. ASYNC: { jobId }, job_wait.",
4363
4368
  inputSchema: {
4364
4369
  type: "object",
4365
4370
  properties: {
4366
4371
  id: { type: "string" },
4367
4372
  path: { type: "string" },
4368
4373
  clipId: { type: "string" },
4369
- echo: { type: "boolean", description: "Only when the user mentions echo / reverb." },
4374
+ echo: {
4375
+ type: "boolean",
4376
+ description:
4377
+ "Enhance voice already removes room echo with the Studio AI model; only use echo when the result reports the model did not run (fallback).",
4378
+ },
4370
4379
  normalize: { type: "boolean", description: "Ignored (quiet speech is always lifted)." },
4371
4380
  },
4372
4381
  },
@@ -5717,7 +5726,8 @@ const TOOLS = [
5717
5726
  },
5718
5727
  {
5719
5728
  name: "llm_generate_timestamps",
5720
- description: "Generate YouTube chapter timestamps from the transcript.",
5729
+ description:
5730
+ "Generate YouTube chapter timestamps for the edited video: edited-timeline times from the words that survive the cuts (first 0:00, each >= 10 s, all before the end); the local LLM only writes labels.",
5721
5731
  inputSchema: {
5722
5732
  type: "object",
5723
5733
  properties: {
@@ -6233,7 +6243,7 @@ Before an editing pass, read the skill's "Which tool for which moment" section (
6233
6243
  3. Fix misheard names / brands with transcript_find_replace (transcript_insert_words for dropped words).
6234
6244
  4. transcript_find_issues, then transcript_delete_words on each duplicate take / false start (keep the LAST take; keep severity "low" ones).
6235
6245
  5. transcript_remove_silences.
6236
- 6. audio_enhance (Enhance voice) on clips not yet enhanced: strength natural; keepBackground true for vlogs / ambience; echo only when the room is echoey.
6246
+ 6. audio_enhance (Enhance voice) on clips not yet enhanced: strength natural; keepBackground true for vlogs / ambience; no echo (Enhance voice already removes room echo with the Studio AI model; only use echo when the result reports the model did not run (fallback)).
6237
6247
  7. The style, after steps 2-5 (they shift the timeline). The user's named style, recipe, creator or a saved memory wins. Otherwise call recipe_pick: it returns the recipes that fit this project's format and footage, each with pickWhen, plus defaultId. Read the transcript, choose the ONE candidate whose pickWhen matches what is said (defaultId when none clearly fits), do its "before" step if any, then recipe_apply_style + recipe_render and follow the prompt: the recipe decides the style (captions, pacing, kinds of moves, music, transitions). Graphics inside it are designed by you: a named template is the reference look; author your own (motion_render_html, same palette and type) when a beat needs something the template can't show. (An app without recipe_pick, 2.0.5 and older: recipe_list with format short or long, and choose by description and footage.) Tell the user which recipe and why in one line and name one or two alternatives. Only when no candidate exists or the user asked for a plain clean-up: captions (caption_toggle, template glowStack), a few motion graphics, emphasis zooms.
6238
6248
  8. B-roll, last: pick the moments yourself from what's said (any language), check them with project_check_broll, show the user your 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.
6239
6249
  9. llm_generate_title / description / timestamps, then preview_show and ask before export_start. Never export before the user has seen the preview.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@writepanda/mcp",
3
- "version": "1.217.0",
3
+ "version": "1.218.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",