goatedit-mcp 1.1.10 → 1.1.11

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.
@@ -19858,6 +19858,11 @@ var HIDE_CLIP_IDS = {
19858
19858
  items: { type: "string" },
19859
19859
  description: "Render as if these clips were not there. The timeline is not changed."
19860
19860
  };
19861
+ var TEXT_BOX_PROPS = {
19862
+ wrapWidth: num("Widest a line may run before it wraps, as a fraction of the frame width (0.05\u20131). Defaults to about 0.86. Set it to keep body copy inside a column or a card."),
19863
+ anchorX: num("Which point of the text block posX places: 0 its left edge, 0.5 its centre (default), 1 its right edge. Use 0 for left-aligned text so its left edge stays put when the words change."),
19864
+ anchorY: num("Which point of the text block posY places: 0 its top, 0.5 its middle (default), 1 its bottom.")
19865
+ };
19861
19866
  var TEXT_STYLE_PROPS = {
19862
19867
  fontSize: num("Font size in pixels, authored against a 1080p-tall frame."),
19863
19868
  fontFamily: str("Font family name."),
@@ -19885,6 +19890,8 @@ var TEXT_STYLE_PROPS = {
19885
19890
  textAccentColor: str("Colour for accent words. Mark an accent word in the text as *word*."),
19886
19891
  textAccentFontFamily: str(`Font for accent words, e.g. "'Great Vibes', cursive" for a script word inside heavy caps.`),
19887
19892
  textAccentScale: num("Size of accent words relative to the rest, e.g. 1.8."),
19893
+ textAccentFontWeight: { type: ["number", "string"], description: `Weight of accent words, 100\u2013900, "normal" or "bold". Default: bold with an accent font, else the text's own weight.` },
19894
+ textAccentFontStyle: { type: "string", enum: ["normal", "italic"], description: "Slant of accent words. Default: italic with an accent font, else the text's own style." },
19888
19895
  textAccentGradientStart: str("Gradient start colour for accent words."),
19889
19896
  textAccentGradientEnd: str("Gradient end colour for accent words."),
19890
19897
  textSwooshUnderline: bool("Hand-drawn swoosh under the last line."),
@@ -19930,7 +19937,8 @@ var BASE_TOOLS = [
19930
19937
  mediaFileId: str("Media bin file id. Omit to list every source that has a transcript."),
19931
19938
  startTime: num("Only return segments overlapping at or after this source time, in seconds."),
19932
19939
  endTime: num("Only return segments overlapping before this source time, in seconds."),
19933
- includeWords: bool("Include per-word timings. Defaults to true; set false for a much smaller payload.")
19940
+ includeWords: bool("Include per-word timings. Defaults to true; set false for a much smaller payload."),
19941
+ onTimeline: bool("Return the words as they fall on the open sequence, through every cut and trim, in timeline seconds \u2014 what to time captions and shots against after the footage is edited. mediaFileId and the time range are ignored.")
19934
19942
  }
19935
19943
  },
19936
19944
  method: "getTranscript"
@@ -20053,6 +20061,18 @@ var BASE_TOOLS = [
20053
20061
  inputSchema: { type: "object", properties: {} },
20054
20062
  method: "listSequences"
20055
20063
  },
20064
+ {
20065
+ name: "export_design",
20066
+ description: "A sequence as design JSON \u2014 the format the Designs panel saves and inserts, with every sequence nested in it. Text, HTML and shape layers travel whole; media files are listed under files and not included. Read-only.",
20067
+ inputSchema: {
20068
+ type: "object",
20069
+ properties: {
20070
+ sequenceId: str("The sequence to export. Default: the open one."),
20071
+ name: str("Name to give the design. Default: the sequence name.")
20072
+ }
20073
+ },
20074
+ method: "exportDesign"
20075
+ },
20056
20076
  {
20057
20077
  name: "create_sequence",
20058
20078
  description: "Make a new, empty sequence. It takes the project's frame size and rate unless width, height or fps say otherwise, and can be given a fixed length. By default it opens, so the edits that follow build it; pass open: false to stay where you are and place it later with add_sequence_clip. Returns its id.",
@@ -20267,7 +20287,8 @@ var BASE_TOOLS = [
20267
20287
  duration: num("How long the card stays on screen, in seconds."),
20268
20288
  startTime: num("Where it starts on the timeline, in seconds. Defaults to 0."),
20269
20289
  trackId: str("Target video track. Defaults to the topmost one that is free across the card\u2019s span, creating a new track above everything if none is free."),
20270
- ...TEXT_STYLE_PROPS
20290
+ ...TEXT_STYLE_PROPS,
20291
+ ...TEXT_BOX_PROPS
20271
20292
  },
20272
20293
  required: ["text", "duration"]
20273
20294
  },
@@ -20281,7 +20302,8 @@ var BASE_TOOLS = [
20281
20302
  properties: {
20282
20303
  clipId: CLIP_ID,
20283
20304
  text: str("New text. Omit to change only the styling."),
20284
- ...TEXT_STYLE_PROPS
20305
+ ...TEXT_STYLE_PROPS,
20306
+ ...TEXT_BOX_PROPS
20285
20307
  },
20286
20308
  required: ["clipId"]
20287
20309
  },
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "goatedit-mcp",
3
- "version": "1.1.10",
3
+ "version": "1.1.11",
4
4
  "description": "Local MCP server for the GoatEdit video editor: drive your open editor tab from Claude Code or any MCP client",
5
5
  "license": "UNLICENSED",
6
6
  "type": "module",