@clipwright/mcp-server 0.34.0 → 0.35.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/CHANGELOG.md CHANGED
@@ -18,6 +18,113 @@ listed under.
18
18
 
19
19
  ## [Unreleased]
20
20
 
21
+ ## [0.35.0] - 2026-10-30
22
+
23
+ ### Changed
24
+
25
+ - The texts an agent reads describe the `parts-v1` tariff (#933). The `call` field says the call adds production
26
+ seconds and that a live-avatar still has its own price; the templates description and the remake plan's tariff
27
+ note drop the retired per-second rate. The MCP server's SKILL.md and the CLI README point to `list_prices` and the
28
+ quotes instead of fixed faceless prices, and the `quote_ugc` example shows `price_lines` for 12 s.
29
+ - *Dashboard:* /pricing lists only the presenter a request can get, and prints single images and clips as price
30
+ ranges per resolution without model names (#800). Two comparison pages are rewritten from the other products'
31
+ sites as read on 2026-10-30.
32
+
33
+ - *Server-side:* `make_ugc` is priced by its parts, one tariff `parts-v1` for short and long videos (#800): 12 credits
34
+ for every second a presenter take fills on HeyGen (22 on OmniHuman), plus 1 for every second of the finished video,
35
+ plus 400 for each live-avatar still of a call, at least 50 for a delivered video. A plain 35 s video costs 455
36
+ instead of 1 050. The quote itemizes it in `price_lines` and names `minimum_credits`; the terms are frozen at
37
+ admission, so a run admitted before keeps its own.
38
+ - *Server-side:* `analyze_reference` costs 70 credits (#927): held at the start and charged once the analysis
39
+ succeeds; a failed analysis costs nothing, and starting it again on the same asset answers the same analysis for
40
+ free. The analysis carries `credits_reserved`, `credits_charged` and `balance_after_credits`.
41
+ - *Server-side:* single generations are priced at ×2.5 of their cheapest route instead of ×2: an image from 6 credits,
42
+ a clip from 6 credits a second. `seedance-2.0-mini` is rendered by one route only.
43
+ - *Server-side:* `make_faceless` is priced by its parts, tariff `faceless-parts-v1` (#800): 7 credits for each picture
44
+ we generate, the opening clip's still included, 49 for the opening clip and 1 for every second of the delivered
45
+ video, at least 50. Your own pictures are not charged. The quote is the most a selection is charged: 212 at 30 s,
46
+ 356 at 90 s, instead of 350 and 420. `faceless_billing` names `images` and `imageCredits`; a run admitted before
47
+ keeps its tariff.
48
+ - *Server-side:* edits and personal actors are repriced at ×2.5 of their cost (#800): a revision's new picture 7, clip
49
+ 49, clip with a new picture 56, render 13, and a shot candidate the same unit prices; an actor's portrait 4 and each
50
+ other format 8 at `medium`, 12 and 18 at `high`. Runs admitted before keep their snapshot.
51
+
52
+ ### Added
53
+
54
+ - *Server-side:* `POST /v1/reference-analyses/quote`, the `quote_analysis` tool and `ClipwrightClient.quoteAnalysis()`
55
+ price an analysis before it starts (#927).
56
+ - *Server-side:* every settled run carries `balance_after_credits`, the account's balance read in the transaction
57
+ that settled it (#927).
58
+
59
+ - *Server-side:* `GET /v1/public/prices` lists the price of every action in credits, without a key: one entry per tool
60
+ and variant, its price as lines of credits per unit plus a minimum, or a formula; free tools are listed at 0. No price
61
+ changed (#927).
62
+ - The `list_prices` tool and `ClipwrightClient.listPrices()` read that list, and the description of every paid tool
63
+ ends with its price line, built from the same list.
64
+ - `@clipwright/core` exports `PRICE_LIST`, `priceLine` and `pricesResponse`, with the constants the list reads:
65
+ `CREDITS_PER_SECOND`, `ACTOR_UNIT_CREDITS`, `EDIT_UNIT_PRICES`, `EDIT_RENDER_PRICE`, `EDIT_ZERO_UNIT_PRICE` and the
66
+ numbers of the faceless tariff.
67
+
68
+ - *Server-side:* `GET /openapi.json` serves an OpenAPI 3.1 description of the REST API without a key: every public
69
+ route with its request and response schemas, the error envelope and `warnings[]`. The API's own tests check
70
+ their real responses against it.
71
+ - `@clipwright/core/openapi` exports `buildOpenApiDocument()` and the route marking `OPENAPI_ROUTES`;
72
+ `@clipwright/core` exports `ENDPOINT_NOTES`, `healthResponse` and `publicSkillsResponse`.
73
+ - `make_ugc` takes `voice_pace` (0.7–1.2): `eleven_flash_v2_5` and `eleven_turbo_v2_5` get it as their speed,
74
+ `gemini-3.8-flash-tts` as a "speaking rapidly" or "speaking slowly" style with a warning. `eleven_v4` has no speed
75
+ setting: it gets no speed, and a `voice_pace` other than 1 is named in `warnings[]` (#890).
76
+ - `list_voices` gives each English voice on `eleven_v4` its measured pace, `words_per_second`. On that model the voice
77
+ sets the pace, so pick the voice nearest a reference presenter's pace (#890).
78
+ - *Server-side:* all ElevenLabs speech goes to `eleven_v4`, now the model of every preset, catalog voice and raw
79
+ `voice_id`. `tts_model: "eleven_v3"` is still accepted: the run speaks `eleven_v4` and `warnings[]` says so.
80
+ `eleven_v4` gives no pause for a `<break>` tag, so the tag is cut with a warning on the default path too.
81
+ - `make_ugc` takes `pause_trim`, targets in seconds per gap class: after synthesis a pause longer than its target is cut
82
+ down to it inside silence only, with a crossfade, and word timings move with the audio. A joint that would click is
83
+ kept and named in `warnings[]`.
84
+ - *Server-side:* a reference analysis measures the presenter's voice from the words it already transcribes: pace,
85
+ pauses in three layers, hinge pauses, pitch and loudness range, in the profile's new `voice` section.
86
+ `plan_reference_remake` sets `voice_pace` from it on a model with a speed. On `eleven_v4` it sets none and, when
87
+ the voice is more than 5% off the presenter, names the measured voices nearer the presenter's pace (#890).
88
+ - `@clipwright/core` exports `referenceVoice`, the schema of that section, and `narrationPaceFromVoice`.
89
+
90
+ - *Dashboard:* a public `/captions` page plays every caption style on the same presenter and the same words, each
91
+ with the description `tools/list` gives it; the `caption_style` description links to the page.
92
+ - `SKILL.md` names every caption style and tells the agent to ask whether the user wants captions, to offer three
93
+ or four fitting styles with the gallery link, and to take the style closest to a reference video's captions.
94
+ - *Server-side:* `hormozi` now matches the canonical look: Montserrat Black uppercase, white with a thick black outline,
95
+ one yellow (`#FFD93D`) keyword per cue, up to three words. The previous look (condensed Oswald, orange keyword, no
96
+ outline) is the new style `accent`. `hormozi` stays the default; there are 24 styles.
97
+ - *Server-side:* `make_ugc` takes `edit_sounds: true` on a run with `inserts` or `layout_windows`: a low sound plays on
98
+ every cut, to or from an insert, at a full-frame template's cut in or out and at a layout window's in and out, with
99
+ its peak on the cut. `template_sounds.edit` picks it from `swell_hit` (default), `whoosh_deep`, `whoosh_low`,
100
+ `boom_low`, `sub_drop`, `riser_boom` and `riser_hit`. A cut that already plays a template's whoosh or flash gets no
101
+ second sound. Without the field a run plays no edit sounds, as before; `edit_sounds` with nothing to cut, with
102
+ `template_sounds: false`, or `template_sounds.edit` without `edit_sounds`, is refused 400 by its path before any
103
+ hold. The price does not change.
104
+ - *Server-side:* new template sounds: a `pop` (`plop`) when a `tag` or a `callout` pops in, a `hangup` (`phone`) just
105
+ before an answered `phone_call` leaves, and `money` (`cash_register`, `coins`) when a `stat` with a currency sign in
106
+ its prefix or suffix counts up. `answer` adds `pickup`, `whoosh` adds `slide_quick` and `flash` adds `swish`.
107
+ `list_template_sounds` lists them. A run frozen before them keeps its sounds.
108
+ - *Server-side:* `make_ugc` takes `framing`, presenter sizes on their words: `close` (1.18 times larger about the face)
109
+ or `medium`, each a hard cut that settles over 8 frames, or with `transition: "flash"` a warm light leak over the cut.
110
+ It needs long-form qualification, works without captions, refuses overlap with inserts, layout windows and other framing,
111
+ and names in `warnings[]` a framing wholly under full-frame templates. With `edit_sounds`, each framing cut plays the
112
+ edit sound. `plan_reference_remake` turns a `punch_in` camera into a close framing and a flash into a speaking beat
113
+ into a flashed one.
114
+ - `create_actor` takes `from_actor_id` with `framing: "wide"`, `holding` (one or two objects, each with words, an
115
+ optional image asset of the object and a hand) or `setting`: it derives a new personal actor from a library actor or
116
+ your own, with the same face checked against the source. A face that does not match costs nothing. The price is the
117
+ usual per-image units. *Server-side:* the fields are open only where `CLIPWRIGHT_ACTOR_VIEWS` is on; elsewhere they
118
+ are refused 400 `rejected_field`. A wide derived actor's 9:16 is listed with `framing: "wide"`, and `make_ugc`
119
+ renders it as a wide view. `@clipwright/core` exports `storedActorSource`, `storedHoldingItem`,
120
+ `createActorDispositions`, `createActorRejectedFields` and `isActorViewsEnabled`.
121
+
122
+ ### Changed
123
+
124
+ - *Server-side:* the template sound library is re-recorded from CC0 sounds the owner chose by ear: 25 of the 31 files
125
+ play a new recording under the same name; the rings, `glitch`, `switch_heavy` and `paper_swipe` stay as they were.
126
+ Every source is named in `THIRD_PARTY_NOTICES`.
127
+
21
128
  ## [0.34.0] - 2026-10-24
22
129
 
23
130
  ### Added
package/README.md CHANGED
@@ -151,14 +151,15 @@ switch and ring sounds come with the templates by default. We checked the prompt
151
151
  with a fresh agent on this server on 2026-10-24; the video was rendered from the
152
152
  same call.
153
153
 
154
- Price: 400 credits for 33 seconds. The quote named the price before
155
- anything was spent. [Watch it](https://clipwright.io/mcp#examples).
154
+ The quote named the price before anything was spent; list_prices names every
155
+ rate. [Watch it](https://clipwright.io/mcp#examples).
156
156
 
157
157
  ## Tools
158
158
 
159
159
  - `list_workflows` — read workflow methods and current availability. Free.
160
160
  - `get_workflow` — read one method's required inputs, script rules, evidence and limitations. Free.
161
161
  - `prepare_workflow_plan` — create with a complete document, or save with both `plan_id` and `base_version`. Free; starts no run.
162
+ - `plan_reference_remake` — the server compiles a reference ad's profile and your exact script into a new plan; its warnings name what the plan does not reproduce. Free; starts no run and generates nothing.
162
163
  - `get_workflow_plan` — read the current owned plan, revision and readiness. Free.
163
164
  - `approve_workflow_plan` — explicitly approve a chosen revision and content digest. Free; starts no run.
164
165
  - `quote_workflow_plan` — quote the approved revision without spending credits.
@@ -175,6 +176,9 @@ anything was spent. [Watch it](https://clipwright.io/mcp#examples).
175
176
  - `quote_ugc` — estimated duration and price, plus a warning when `make_ugc`
176
177
  with the same input would be refused for money or access. Free.
177
178
  - `get_account` — balance, debt and holds of the account. Free.
179
+ - `list_prices` — what every tool costs in credits: a number per unit, or a
180
+ formula where the price depends on the input; free tools are listed at 0.
181
+ Free.
178
182
  - `make_ugc` — **renders a clip; this is the call that costs money.** Returns a
179
183
  `run_id` immediately instead of blocking, because a render takes minutes.
180
184
  - `get_run` — status of a run. Free; poll it every few seconds.
@@ -224,6 +228,15 @@ anything was spent. [Watch it](https://clipwright.io/mcp#examples).
224
228
  - `update_asset` — rename an asset or change its role. Free.
225
229
  - `delete_asset` — delete an asset; a daily cleanup removes its file once 7 days
226
230
  have passed. Free.
231
+ - `quote_analysis` — price of a reference analysis of an asset: 70 credits, or 0
232
+ when the asset's analysis would answer. Free.
233
+ - `analyze_reference` — read a reference ad (an MP4 asset, up to 120 s) into a
234
+ `reference_profile`: beats, graphics in our template vocabulary, captions,
235
+ pacing and what we cannot draw. Returns at once; poll
236
+ `get_reference_analysis`. 70 credits held and charged once it succeeds; a
237
+ failed analysis costs nothing. 10 new analyses per hour.
238
+ - `get_reference_analysis` — the state of an analysis, with the profile and its
239
+ warnings once it succeeded. Free.
227
240
  - `quote_actor` — price of a personal actor before creating one. Free.
228
241
  - `create_actor` — **creates a personal actor from a description; this costs
229
242
  money.** Each requested format is a separate charged image. Returns a `run_id`
package/SKILL.md CHANGED
@@ -185,12 +185,12 @@ Environment variables:
185
185
  | `CLIPWRIGHT_CLIENT_ID` | YES (see section 2) | Unique identifier of this INSTALLATION. |
186
186
 
187
187
  After connecting, restart or reopen the MCP host and confirm that `tools/list`
188
- returns 39 tools: `make_ugc`, `get_run`, `get_run_shots`, `quote_revision`, `revise_run`, `quote_candidate`, `create_candidate`,
188
+ returns 44 tools: `make_ugc`, `get_run`, `get_run_shots`, `quote_revision`, `revise_run`, `quote_candidate`, `create_candidate`,
189
189
  `list_generation_models`, `quote_image`, `generate_image`, `quote_video`, `generate_video`, `quote_ugc`, `list_actors`,
190
190
  `list_voices`, `list_template_sounds`, `upload_image`, `create_upload`, `get_upload`, `create_asset`, `list_assets`, `get_asset`, `update_asset`,
191
- `delete_asset`, `get_account`, `create_actor`, `quote_actor`, `delete_actor`, `get_actor_defaults`,
191
+ `delete_asset`, `quote_analysis`, `analyze_reference`, `get_reference_analysis`, `get_account`, `list_prices`, `create_actor`, `quote_actor`, `delete_actor`, `get_actor_defaults`,
192
192
  `set_actor_defaults`, `quote_faceless`, `make_faceless`, `list_workflows`, `get_workflow`, `prepare_workflow_plan`,
193
- `get_workflow_plan`, `approve_workflow_plan`, `quote_workflow_plan`, `run_workflow_plan`.
193
+ `plan_reference_remake`, `get_workflow_plan`, `approve_workflow_plan`, `quote_workflow_plan`, `run_workflow_plan`.
194
194
 
195
195
  Workflow calls are explicit steps: list/read a method, prepare its complete
196
196
  document, read all readiness issues and warnings, approve the chosen revision,
@@ -448,34 +448,32 @@ is, the contract MINUS the rejected fields: they simply are not there, and listi
448
448
  them here would mean offering what the server punishes you for (section 3).
449
449
 
450
450
  `script` (required while `segments` is rejected; length is limited by the resolved
451
- TTS model, as reported by `tools/list`: `eleven_v3`, `eleven_v4` and `gemini-3.8-flash-tts`
451
+ TTS model, as reported by `tools/list`: `eleven_v4` and `gemini-3.8-flash-tts`
452
452
  allow 5000 characters, `eleven_flash_v2_5` and `eleven_turbo_v2_5` allow 10000. Spaces, audio tags and stress
453
453
  marks count; emoji may count as two characters. There is no word-count limit or fixed
454
- duration implied by it), `tts_model` (omit it and the voice decides: the Russian presets
455
- `owner_ru_clone` and `daria_ru_female` and the catalog voices named `ru_*` speak
456
- `eleven_v4`, a voice of kind `model_voice` speaks its own model `gemini-3.8-flash-tts`,
457
- every other preset and catalog voice speaks `eleven_v3`; a raw `voice_id`
458
- speaks `eleven_v4` when at least 60% of the script's Cyrillic and Latin letters are
459
- Cyrillic, and `eleven_v3` otherwise; an explicit `tts_model` always wins;
454
+ duration implied by it), `tts_model` (omit it and the voice decides: a voice of kind
455
+ `model_voice` speaks its own model `gemini-3.8-flash-tts`, every preset, catalog voice and
456
+ raw `voice_id` speaks `eleven_v4`; an explicit `tts_model` wins, except `eleven_v3`,
457
+ which is no longer spoken: a run naming it speaks `eleven_v4` and says so in `warnings[]`;
460
458
  `eleven_flash_v2_5` and `eleven_turbo_v2_5` cost less and suit
461
459
  languages other than Russian), optionally `person` OR
462
460
  `image` (a public `https` URL) with `actor_gender` (`female`/`male`, only next to
463
461
  `image`), plus `name`, `captions` (defaults to `false` —
464
- **captions are opt-in, ASK THE USER FIRST**), `caption_style`
465
- (`hormozi`/`tiktok`/`minimal`), `look` (`natural`/`commercial`/`raw_iphone`),
462
+ **captions are opt-in, ASK THE USER FIRST**), `caption_style` and
463
+ `caption_emphasis` (see *Captions* under `make_ugc`), `look` (`natural`/`commercial`/`raw_iphone`),
466
464
  `aspect_ratio` (`9:16`/`1:1`, with NO default — silence and an explicit choice
467
465
  differ), `resolution` (`720p`/`1080p`/`4k`), `voice`/`voice_id`.
468
466
 
469
467
  **Russian stress marks.** Tell a user who writes in Russian that they can fix stress:
470
468
  write the stressed vowel as a capital inside a lowercase word — `потОм`, `зАмок` — and
471
- Clipwright sends `eleven_v4`, `eleven_v3` and `gemini-3.8-flash-tts` the stress mark U+0301
469
+ Clipwright sends `eleven_v4` and `gemini-3.8-flash-tts` the stress mark U+0301
472
470
  (`пото́м`). A capital that starts a
473
471
  word stays a capital, a word with a second capital or an inner capital consonant
474
472
  (`ВУЗы`, all caps) stays as written, and a U+0301 typed directly is kept. A single
475
473
  inner capital vowel always reads as stress, so `ЯндексЕда` needs a space. Keep Russian
476
- scripts on one of those three models: the 2.5 models misread the mark, so a script
474
+ scripts on one of those two models: the 2.5 models misread the mark, so a script
477
475
  carrying it draws a warning there, and so does any Cyrillic script. With a preset, a
478
- catalog voice or `voice_id` the choice is `eleven_v4` or `eleven_v3`, because
476
+ catalog voice or `voice_id` the choice is `eleven_v4`, because
479
477
  `gemini-3.8-flash-tts` speaks only its own voices. Retrying never
480
478
  fixes stress; only the text does.
481
479
 
@@ -490,19 +488,30 @@ The exact list is always available from the tool schema itself: `tools/list` is
490
488
  generated from the same shape, and fields that are not honoured carry
491
489
  `NOT HONORED YET` right in their own `description`.
492
490
 
493
- Spends no credits. The response is the raw `quote` in full:
491
+ Spends no credits. The response is the raw `quote`; its price fields for a
492
+ 12-second script read:
494
493
 
495
494
  ```json
496
495
  {
497
496
  "skill": "make_ugc",
498
- "credits_estimate": 360,
497
+ "credits_estimate": 156,
499
498
  "duration_estimate_sec": 12,
499
+ "tariff": "parts-v1",
500
+ "price_lines": [
501
+ { "label": "presenter, HeyGen Avatar IV", "unit": "face_second", "quantity": 12, "unit_credits": 12, "credits": 144 },
502
+ { "label": "production (voice and render)", "unit": "second", "quantity": 12, "unit_credits": 1, "credits": 12 }
503
+ ],
504
+ "minimum_credits": 50,
500
505
  "warnings": []
501
506
  }
502
507
  ```
503
508
 
509
+ Show the user `credits_estimate` and the lines; prices change, so never repeat
510
+ them from this page.
511
+
504
512
  `warnings[]` IS present here (passed through unfiltered) — read it: parameters
505
- that will not be honoured (for example, `captions` ignored in this build) are
513
+ that will not be honoured (for example, a `caption_emphasis` quote spoken entirely
514
+ under a full-frame insert, where no captions are drawn) are
506
515
  declared there rather than dropped silently.
507
516
 
508
517
  **Always call `quote_ugc` first and show the user the price before `make_ugc`**
@@ -535,6 +544,32 @@ After that you MUST poll `get_run` with that `run_id` every ~5–10 seconds unti
535
544
  reaches a terminal state. Do not tell the user the video is ready until you have a
536
545
  `video_url`.
537
546
 
547
+ #### Captions (`captions`, `caption_style`, `caption_emphasis`)
548
+
549
+ `make_ugc` burns word-timed captions into the video when `captions: true`. They
550
+ are off by default and do not change the price. Whether a video has them is the
551
+ user's call:
552
+
553
+ 1. **Ask whether they want captions** before the quote. Never turn them on
554
+ unprompted.
555
+ 2. **If yes, pick a style with them.** When the user gave a reference video, take
556
+ its look: bold uppercase cues with one coloured keyword is `hormozi`, one or
557
+ two words popping in colour is `tiktok`, a sentence on a dark box is `youtube`
558
+ or `lecture`. Otherwise offer three or four styles that fit the video, one line
559
+ each, and link the gallery, which shows every style on the same clip:
560
+ https://clipwright.io/captions. Without a choice the server draws `hormozi`.
561
+ 3. **Mark key words with `caption_emphasis`**: quotes from `script` drawn larger or
562
+ in the style's accent colour. `caption_mode: "highlights"` captions only the
563
+ lines around those quotes.
564
+
565
+ The styles: `hormozi` (the default), `accent`, `tiktok`, `youtube`, `instagram`,
566
+ `minimalist`, `neon`, `genz`, `campfire`, `midnight`, `plottwist`, `headline`,
567
+ `promo`, `lecture`, `highlighter`, `studio`, `broadcast`, `arcade`, `clutch`,
568
+ `bubblegum`, `crayon`, `lyrics`, `bassdrop`, `punch`; `minimal` is an older name
569
+ for `minimalist`. Each style's description is in `caption_style` of `tools/list`:
570
+ quote that, not your memory of it. Captions are refused with `segments` and with
571
+ `gemini-3.8-flash-tts`, which returns no word timings.
572
+
538
573
  #### Choosing a voice (`voice` / `voice_id`)
539
574
 
540
575
  Two mutually exclusive optional fields in the `make_ugc` input:
@@ -585,8 +620,8 @@ Two mutually exclusive optional fields in the `make_ugc` input:
585
620
  When the user sends a photo and asks for no particular voice, pass the gender of
586
621
  the person in it as `actor_gender`. Ask the user only when you cannot tell.
587
622
 
588
- For a Russian script, leave `tts_model` out or name `eleven_v4` or `eleven_v3` — both
589
- read stress marks — and mark stress with a capital vowel (see **Russian stress marks**
623
+ For a Russian script, leave `tts_model` out or name `eleven_v4` — it reads stress
624
+ marks — and mark stress with a capital vowel (see **Russian stress marks**
590
625
  above). A Russian voice speaks `eleven_v4` on its own. A `model_voice` voice reads
591
626
  stress marks too, on its own model `gemini-3.8-flash-tts`.
592
627
 
@@ -641,8 +676,8 @@ different sentences. Pass it to the user as written when they ask how to label t
641
676
  `SUCCEEDED`, `FAILED`) carries the run's `warnings` — parameters that were not
642
677
  honoured are always declared, never dropped silently. `make_ugc` shares the
643
678
  formatter, so its first response carries them too. Read it on the terminal
644
- response without fail: for instance, missing captions in the prototype are
645
- announced exactly there.
679
+ response without fail: for instance, captions laid out evenly because the speech
680
+ model returned no word timings are announced exactly there.
646
681
 
647
682
  **An unknown terminal status on the server** (say a hypothetical `"canceled"` that
648
683
  is not in `TERMINAL_STATES`) is a deliberate degradation: `isTerminal` returns
@@ -841,6 +876,15 @@ would be refused for money or access, so a render rarely needs this call first.
841
876
  Call it when the user asks how many credits are left, or to show the numbers
842
877
  behind such a warning.
843
878
 
879
+ ### `list_prices` — free, no input
880
+
881
+ Returns the body of `GET /v1/public/prices`: one entry per tool and variant with
882
+ its price as `lines` of `credits` per `unit`, added up, and `minimum_credits`
883
+ when there is one; where the price depends on the input, `lines` is empty and
884
+ `formula` states the rule. Free tools are listed at 0. Each paid tool's description ends with
885
+ the same price line. For the exact number of one call, use the quote tool the
886
+ entry names in `quote_tool`.
887
+
844
888
  ### `quote_faceless` — free, and `make_faceless` — paid, creates a run
845
889
 
846
890
  A faceless video is narration over an opening animated clip and image scenes,
@@ -856,7 +900,7 @@ Give the narration one of two ways, and name which with `input_mode`:
856
900
  `duration_seconds` by up to a quarter, never beyond 90 seconds; a video more
857
901
  than 5 seconds longer says so in `warnings[]`. A script is accepted when its
858
902
  estimated length is 21 seconds to `duration_seconds` plus 5, at most 90. The charge follows the delivered duration and never
859
- exceeds the quote; the minimum is 200 base credits plus 150 for the opener.
903
+ exceeds the quote; `list_prices` gives the rates and the minimum.
860
904
  - `input_mode: "brief"` with `brief` — a short description; the narration is
861
905
  written from it.
862
906
 
@@ -1104,8 +1148,8 @@ run as often as you like without making a new paid call.
1104
1148
  exists.
1105
1149
  2. Generate a unique `CLIPWRIGHT_CLIENT_ID` (section 2) and put it, together with
1106
1150
  `CLIPWRIGHT_API_KEY`, into the MCP host config (section 1.3).
1107
- 3. Restart the host and confirm `tools/list` returns 4 tools (`make_ugc`,
1108
- `quote_ugc`, `get_run`, `list_voices`).
1151
+ 3. Restart the host and confirm `tools/list` returns every tool named in
1152
+ section 1.3.
1109
1153
  4. `quote_ugc` with a script → show the price AND read `source`,
1110
1154
  `resolved_aspect_ratio`, `warnings[]` (section 3).
1111
1155
  5. `make_ugc` → get a `run_id` immediately.
package/dist/format.js CHANGED
@@ -64,6 +64,7 @@ export function formatGetRun(run, receipt) {
64
64
  } : { url_check: VIDEO_URL_CHECK }),
65
65
  ...(run.final_output?.ai_disclosure === undefined ? {} : { ai_disclosure: run.final_output.ai_disclosure }),
66
66
  ...(run.final_output?.long_form_billing === undefined ? {} : { long_form_billing: run.final_output.long_form_billing }),
67
+ ...(run.final_output?.parts_billing === undefined ? {} : { parts_billing: run.final_output.parts_billing }),
67
68
  ...(run.final_output?.speech_timing_gaps === undefined ? {} : { speech_timing_gaps: run.final_output.speech_timing_gaps }),
68
69
  ...(run.generation === undefined ? {} : { generation: run.generation }),
69
70
  // A succeeded create_actor names the actor_id an agent passes to make_ugc (#778).
@@ -1 +1 @@
1
- {"version":3,"file":"format.js","sourceRoot":"","sources":["../src/format.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"format.js","sourceRoot":"","sources":["../src/format.ts"],"names":[],"mappings":"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"}
package/dist/server.d.ts CHANGED
@@ -14,6 +14,7 @@ export declare const REMOTE_ASSET_PATH_REFUSAL: string;
14
14
  export declare function putLocalClip(client: ClipwrightClient, bytes: Uint8Array<ArrayBuffer>, path: string, meta: {
15
15
  role: z.infer<typeof createAssetRequest>["role"];
16
16
  name: string;
17
+ analysis_only?: true;
17
18
  }, put?: typeof fetch): Promise<unknown>;
18
19
  /** Builds the MCP server with its tools registered but NO transport connected, */
19
20
  /** so tool registration is testable without a stdio process. */
package/dist/server.js CHANGED
@@ -5,7 +5,7 @@ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
5
5
  import { z } from "zod";
6
6
  // `mcpUgcInputShape`, not the full shape: fields the server rejects must not
7
7
  // be offered to a caller who would get a 400 for using them.
8
- import { mcpUgcInputShape, actorDefaultsInput, BROLL_POLICY_DESCRIPTION, CANDIDATE_CHARGE_TEXT, candidateRequest, CATALOG_LANGUAGES, CREATE_ACTOR_DESCRIPTION, createActorInputShape, DEFAULT_FACELESS_VOICE, FACELESS_VOICE_NAMES, generateImageRequest, generateVideoRequest, MODEL_VOICE_MODEL, MODEL_VOICE_NAMES, SCRIPT_LENGTH_DESCRIPTION, voicesQueryShape, agentRetryShape, runId, MAKE_UGC_DESCRIPTION, MAKE_UGC_AGENT_PROTOCOL, MAKE_FACELESS_DESCRIPTION, MAKE_FACELESS_AGENT_PROTOCOL, makeFacelessInput, offeredFacelessInput, REVISION_CHARGE_TEXT, revisionRequest, UPLOAD_IMAGE_DESCRIPTION, UPLOAD_MAX_BYTES, UPLOAD_MEDIA_TYPES, CREATE_UPLOAD_DESCRIPTION, GET_UPLOAD_DESCRIPTION, uploadId, sniffUploadMediaType, ASSET_KINDS, ASSET_LIST_MAX_LIMIT, ASSET_VIDEO_MAX_BYTES, pendingAssetRead, ASSET_ROLES, assetId, assetSource, CREATE_ASSET_DESCRIPTION, createAssetRequest, DELETE_ASSET_DESCRIPTION, GET_ASSET_DESCRIPTION, LIST_ASSETS_DESCRIPTION, UPDATE_ASSET_DESCRIPTION, } from "@clipwright/core";
8
+ import { mcpUgcInputShape, actorDefaultsInput, BROLL_POLICY_DESCRIPTION, CANDIDATE_CHARGE_TEXT, candidateRequest, CATALOG_LANGUAGES, CREATE_ACTOR_DESCRIPTION, createActorInputShape, DEFAULT_FACELESS_VOICE, FACELESS_VOICE_NAMES, generateImageRequest, generateVideoRequest, MODEL_VOICE_MODEL, MODEL_VOICE_NAMES, SCRIPT_LENGTH_DESCRIPTION, voicesQueryShape, agentRetryShape, runId, MAKE_UGC_DESCRIPTION, MAKE_UGC_AGENT_PROTOCOL, MAKE_FACELESS_DESCRIPTION, MAKE_FACELESS_AGENT_PROTOCOL, makeFacelessInput, offeredFacelessInput, REVISION_CHARGE_TEXT, revisionRequest, UPLOAD_IMAGE_DESCRIPTION, UPLOAD_MAX_BYTES, UPLOAD_MEDIA_TYPES, CREATE_UPLOAD_DESCRIPTION, GET_UPLOAD_DESCRIPTION, uploadId, sniffUploadMediaType, ASSET_KINDS, ASSET_LIST_MAX_LIMIT, ASSET_VIDEO_MAX_BYTES, pendingAssetRead, ASSET_ROLES, assetId, assetSource, CREATE_ASSET_DESCRIPTION, createAssetRequest, DELETE_ASSET_DESCRIPTION, GET_ASSET_DESCRIPTION, LIST_ASSETS_DESCRIPTION, UPDATE_ASSET_DESCRIPTION, ANALYZE_REFERENCE_DESCRIPTION, QUOTE_ANALYSIS_DESCRIPTION, analyzeReferenceRequest, GET_REFERENCE_ANALYSIS_DESCRIPTION, referenceAnalysisId, withPriceLine, } from "@clipwright/core";
9
9
  import { formatGetRun, withFailureReport } from "./format.js";
10
10
  import { registerWorkflowTools } from './workflow-tools.js';
11
11
  // Version from the manifest: a literal drifts, and a JSON import breaks `rootDir`.
@@ -24,7 +24,7 @@ export async function putLocalClip(client, bytes, path, meta, put = fetch) {
24
24
  throw new Error(`${path} is ${bytes.byteLength} bytes; a clip may be ${ASSET_VIDEO_MAX_BYTES}`);
25
25
  const sha256 = createHash("sha256").update(bytes).digest("hex");
26
26
  const created = await client.createAsset({ source: { put: { media_type: "video/mp4", bytes: bytes.byteLength, sha256 } },
27
- role: meta.role, name: meta.name, rights_confirmed: true });
27
+ role: meta.role, name: meta.name, ...(meta.analysis_only ? { analysis_only: true } : { rights_confirmed: true }) });
28
28
  const pending = pendingAssetRead.safeParse(created);
29
29
  const upload = pending.success ? pending.data.upload : undefined;
30
30
  if (upload === undefined)
@@ -51,7 +51,7 @@ export function createServer(client, options = { fileAccess: "local" }) {
51
51
  server.registerTool("make_ugc", {
52
52
  title: "Make a talking-actor video",
53
53
  annotations: { readOnlyHint: false, destructiveHint: false },
54
- description: `${MAKE_UGC_DESCRIPTION} ${MAKE_UGC_AGENT_PROTOCOL}`,
54
+ description: withPriceLine("make_ugc", `${MAKE_UGC_DESCRIPTION} ${MAKE_UGC_AGENT_PROTOCOL}`),
55
55
  // Flat schema: offered render input plus agent retry. The description must agree
56
56
  // with it, since an LLM reads the description before the schema.
57
57
  inputSchema: { ...mcpUgcInputShape, ...agentRetryShape },
@@ -119,7 +119,7 @@ export function createServer(client, options = { fileAccess: "local" }) {
119
119
  server.registerTool("revise_run", {
120
120
  title: "Revise a run",
121
121
  annotations: { readOnlyHint: false, destructiveHint: false },
122
- description: "Start a revision of a run made by make_faceless (paid): a NEW run that renders the video again with the " +
122
+ description: withPriceLine("revise_run", "Start a revision of a run made by make_faceless (paid): a NEW run that renders the video again with the " +
123
123
  "shots you change, by changes (a shot and what to generate for it) or by document (the whole edited " +
124
124
  "document); pass exactly one. Call quote_revision first and show the user the price. An identical request " +
125
125
  "returns the same run it started before, so a call repeated after a lost answer starts nothing new; to " +
@@ -127,7 +127,7 @@ export function createServer(client, options = { fileAccess: "local" }) {
127
127
  "original has a limit on revisions running at once and on revisions failed or unfinished, and paid edits " +
128
128
  "of it close some days after it finished; a refusal names which. While paid edits are closed it answers " +
129
129
  "editing_disabled and charges nothing. The result is a new run: poll it with get_run; once it succeeded " +
130
- "it is editable under its own run_id.",
130
+ "it is editable under its own run_id."),
131
131
  inputSchema: { ...revisionShape, ...agentRetryShape },
132
132
  }, async ({ run_id, attempt, ...request }) => withFailureReport(async () => formatGetRun(await client.startRevision(run_id, revisionOf(request), { attempt }))));
133
133
  // The candidate pair; the list stays on REST, the SDK and the CLI, since an agent polls its own candidate with get_run.
@@ -155,14 +155,14 @@ export function createServer(client, options = { fileAccess: "local" }) {
155
155
  server.registerTool("create_candidate", {
156
156
  title: "Make a shot candidate",
157
157
  annotations: { readOnlyHint: false, destructiveHint: false },
158
- description: "Make a shot candidate of a run made by make_faceless (paid): a NEW run of skill edit_shot that generates one " +
158
+ description: withPriceLine("create_candidate", "Make a shot candidate of a run made by make_faceless (paid): a NEW run of skill edit_shot that generates one " +
159
159
  "picture or clip for one shot, to keep or discard in a later revision. Call quote_candidate first and show the " +
160
160
  `user the price. ${CANDIDATE_CHARGE_TEXT} An identical request returns the same run it started before, so a ` +
161
161
  "call repeated after a lost answer starts nothing new; to make another candidate with the same request on " +
162
162
  "purpose, pass take 2. An original has a limit on candidates running at once and on candidates failed or " +
163
163
  "unfinished, apart from its revisions; a refusal names which. While shot candidates are closed it answers " +
164
164
  "editing_disabled and charges nothing. The result is a new run: poll it with get_run; once it succeeded, its " +
165
- "candidate.preview_url shows what was made.",
165
+ "candidate.preview_url shows what was made."),
166
166
  inputSchema: candidateShape,
167
167
  }, async ({ run_id, ...request }) => withFailureReport(async () => formatGetRun(await client.createCandidate(run_id, candidateOf(request)))));
168
168
  // Single generations (clipwright#724): the tools are listed while the feature is closed and relay the API's refusal.
@@ -199,9 +199,9 @@ export function createServer(client, options = { fileAccess: "local" }) {
199
199
  server.registerTool("generate_image", {
200
200
  title: "Generate an image",
201
201
  annotations: { readOnlyHint: false, destructiveHint: false },
202
- description: "Generate one image from a prompt (paid): a NEW run of skill generate_image, charged the quoted credits per image " +
202
+ description: withPriceLine("generate_image", "Generate one image from a prompt (paid): a NEW run of skill generate_image, charged the quoted credits per image " +
203
203
  "once it is delivered. Call quote_image first and show the user the price. Poll the run with get_run; once it " +
204
- "succeeded, generation.url is the image and its run_id can be a reference of a later generation. " + generationTerms,
204
+ "succeeded, generation.url is the image and its run_id can be a reference of a later generation. " + generationTerms),
205
205
  inputSchema: imageRunTool,
206
206
  }, async ({ attempt, ...request }) => withFailureReport(async () => formatGetRun(await client.generateImage(request, { attempt }))));
207
207
  server.registerTool("quote_video", {
@@ -217,10 +217,10 @@ export function createServer(client, options = { fileAccess: "local" }) {
217
217
  server.registerTool("generate_video", {
218
218
  title: "Generate a clip",
219
219
  annotations: { readOnlyHint: false, destructiveHint: false },
220
- description: "Generate one silent clip (paid): a NEW run of skill generate_video, charged unit_credits per second of duration_s " +
220
+ description: withPriceLine("generate_video", "Generate one silent clip (paid): a NEW run of skill generate_video, charged unit_credits per second of duration_s " +
221
221
  "once it is delivered. Modes: text; first_frame (first_frame, optional last_frame, of the requested aspect ratio " +
222
222
  "within 2%); reference (1 to 4 references). Call quote_video first and show the user the price. Poll the run with " +
223
- "get_run; once it succeeded, generation.url is the clip. " + generationTerms,
223
+ "get_run; once it succeeded, generation.url is the clip. " + generationTerms),
224
224
  inputSchema: videoRunTool,
225
225
  }, async ({ attempt, ...request }) => withFailureReport(async () => formatGetRun(await client.generateVideo(generateVideoRequest.parse(request), { attempt }))));
226
226
  server.registerTool("quote_ugc", {
@@ -297,19 +297,23 @@ export function createServer(client, options = { fileAccess: "local" }) {
297
297
  role: createAssetRequest.shape.role,
298
298
  name: createAssetRequest.shape.name,
299
299
  rights_confirmed: createAssetRequest.shape.rights_confirmed,
300
+ analysis_only: createAssetRequest.shape.analysis_only,
300
301
  },
301
- }, async ({ source, role, name, rights_confirmed }) => withFailureReport(async () => {
302
+ }, async ({ source, role, name, rights_confirmed, analysis_only }) => withFailureReport(async () => {
302
303
  if (!("path" in source)) {
303
- return assetText(client.createAsset({ source, role, name, ...(rights_confirmed === undefined ? {} : { rights_confirmed }) }));
304
+ return assetText(client.createAsset({ source, role, name, ...(rights_confirmed === undefined ? {} : { rights_confirmed }),
305
+ ...(analysis_only === undefined ? {} : { analysis_only }) }));
304
306
  }
305
307
  if (options.fileAccess !== "local")
306
308
  throw new Error(REMOTE_ASSET_PATH_REFUSAL);
307
- if (rights_confirmed !== true)
308
- throw new Error("A local file is your own material: pass rights_confirmed: true");
309
+ if (rights_confirmed === analysis_only) {
310
+ throw new Error("A local file is your own material: pass rights_confirmed: true, or analysis_only: true to keep it for analyze_reference alone");
311
+ }
309
312
  const bytes = new Uint8Array(await readFile(source.path));
313
+ const claim = analysis_only ? { analysis_only } : { rights_confirmed: true };
310
314
  // A clip goes by PUT (up to 100 MB), then one read hands it to processing; a picture goes as the body.
311
315
  if (Buffer.from(bytes.subarray(4, 8)).toString("latin1") === "ftyp") {
312
- return assetText(putLocalClip(client, bytes, source.path, { role, name }));
316
+ return assetText(putLocalClip(client, bytes, source.path, { role, name, ...(analysis_only ? { analysis_only } : {}) }));
313
317
  }
314
318
  const mediaType = sniffUploadMediaType(bytes);
315
319
  if (mediaType === null || bytes.byteLength > UPLOAD_MAX_BYTES) {
@@ -317,7 +321,7 @@ export function createServer(client, options = { fileAccess: "local" }) {
317
321
  ? `${source.path} is not a PNG or JPEG file (checked by signature, not by extension)`
318
322
  : `${source.path} is ${bytes.byteLength} bytes; the ceiling is ${UPLOAD_MAX_BYTES}`);
319
323
  }
320
- return assetText(client.createAssetFromBytes(bytes, mediaType, { role, name, rights_confirmed: true }));
324
+ return assetText(client.createAssetFromBytes(bytes, mediaType, { role, name, ...claim }));
321
325
  }));
322
326
  server.registerTool("list_assets", {
323
327
  title: "List assets",
@@ -351,6 +355,31 @@ export function createServer(client, options = { fileAccess: "local" }) {
351
355
  await client.deleteAsset(asset_id);
352
356
  return { content: [{ type: "text", text: JSON.stringify({ deleted: asset_id }) }] };
353
357
  }));
358
+ // Reference analysis (reference-to-video S1c): paid since #927; the profile is read with get_reference_analysis once it is ready.
359
+ server.registerTool("quote_analysis", {
360
+ title: "Quote a reference analysis",
361
+ annotations: { readOnlyHint: true, destructiveHint: false },
362
+ description: QUOTE_ANALYSIS_DESCRIPTION,
363
+ inputSchema: analyzeReferenceRequest.shape,
364
+ }, async (request) => withFailureReport(async () => ({
365
+ content: [{ type: "text", text: JSON.stringify(await client.quoteAnalysis(request)) }],
366
+ })));
367
+ server.registerTool("analyze_reference", {
368
+ title: "Analyse a reference ad",
369
+ annotations: { readOnlyHint: false, destructiveHint: false, idempotentHint: true },
370
+ description: withPriceLine("analyze_reference", ANALYZE_REFERENCE_DESCRIPTION),
371
+ inputSchema: analyzeReferenceRequest.shape,
372
+ }, async (request) => withFailureReport(async () => ({
373
+ content: [{ type: "text", text: JSON.stringify(await client.analyzeReference(request)) }],
374
+ })));
375
+ server.registerTool("get_reference_analysis", {
376
+ title: "Get a reference analysis",
377
+ annotations: { readOnlyHint: true, destructiveHint: false },
378
+ description: GET_REFERENCE_ANALYSIS_DESCRIPTION,
379
+ inputSchema: { analysis_id: referenceAnalysisId },
380
+ }, async ({ analysis_id }) => withFailureReport(async () => ({
381
+ content: [{ type: "text", text: JSON.stringify(await client.getReferenceAnalysis(analysis_id)) }],
382
+ })));
354
383
  server.registerTool("list_voices", {
355
384
  title: "List voices",
356
385
  annotations: { readOnlyHint: true, destructiveHint: false },
@@ -374,7 +403,8 @@ export function createServer(client, options = { fileAccess: "local" }) {
374
403
  "spoken by that voice with that model; play it to the user before a paid render instead of judging a " +
375
404
  "voice by its description. A model_voice sample is in English, or in the language you filter by. " +
376
405
  "It expires at `preview_expires_at`: call this tool again for a fresh link, " +
377
- "never store it. A voice without `preview_url` has no sample yet. Free. " + SCRIPT_LENGTH_DESCRIPTION,
406
+ "never store it. A voice without `preview_url` has no sample yet. `words_per_second` is an English voice's measured pace; " +
407
+ "eleven_v4 has no speed setting, so to match a reference presenter pick the voice nearest its pace. Free. " + SCRIPT_LENGTH_DESCRIPTION,
378
408
  inputSchema: voicesQueryShape,
379
409
  }, async (filters) => withFailureReport(async () => {
380
410
  // Relays /v1/voices: no vendor call and no vendor key on this surface.
@@ -386,6 +416,7 @@ export function createServer(client, options = { fileAccess: "local" }) {
386
416
  annotations: { readOnlyHint: true, destructiveHint: false },
387
417
  description: "List the sounds make_ugc templates play, by beat: where each beat plays, its default and every name it takes. " +
388
418
  "A run plays the defaults; template_sounds { beat: name } swaps a beat's sound, and template_sounds=false plays none. " +
419
+ "The edit beat plays on every cut only with make_ugc edit_sounds=true. " +
389
420
  "Sounds never change the price. Free.",
390
421
  inputSchema: {},
391
422
  }, async () => withFailureReport(async () => ({
@@ -420,7 +451,7 @@ export function createServer(client, options = { fileAccess: "local" }) {
420
451
  server.registerTool("create_actor", {
421
452
  title: "Create a personal actor",
422
453
  annotations: { readOnlyHint: false, destructiveHint: false },
423
- description: CREATE_ACTOR_DESCRIPTION,
454
+ description: withPriceLine("create_actor", CREATE_ACTOR_DESCRIPTION),
424
455
  inputSchema: { ...createActorInputShape, ...agentRetryShape },
425
456
  }, async (args) => withFailureReport(async () => {
426
457
  // `attempt` goes in SDK opts: inside `input` the schema would strip it,
@@ -442,7 +473,7 @@ export function createServer(client, options = { fileAccess: "local" }) {
442
473
  server.registerTool("make_faceless", {
443
474
  title: "Make a faceless video",
444
475
  annotations: { readOnlyHint: false, destructiveHint: false },
445
- description: `${MAKE_FACELESS_DESCRIPTION} ${MAKE_FACELESS_AGENT_PROTOCOL}`,
476
+ description: withPriceLine("make_faceless", `${MAKE_FACELESS_DESCRIPTION} ${MAKE_FACELESS_AGENT_PROTOCOL}`),
446
477
  inputSchema: offeredFacelessInput.extend(agentRetryShape),
447
478
  }, async (args) => withFailureReport(async () => {
448
479
  const { attempt, ...input } = args;
@@ -482,6 +513,17 @@ export function createServer(client, options = { fileAccess: "local" }) {
482
513
  }, async () => withFailureReport(async () => ({
483
514
  content: [{ type: "text", text: JSON.stringify(await client.getAccount()) }],
484
515
  })));
516
+ server.registerTool("list_prices", {
517
+ title: "List prices",
518
+ annotations: { readOnlyHint: true, destructiveHint: false },
519
+ description: "List what every Clipwright tool costs in credits. Free, spends nothing. Each entry names the tool, its REST route " +
520
+ "and its price: lines of credits per unit (call, second of video, second the presenter is in the video, image, clip, second of " +
521
+ "clip), added up, with minimum_credits when there is one; or, where the price depends on the input, a formula. " +
522
+ "Free tools cost 0. For the exact number of a paid call, use the quote tool the entry names.",
523
+ inputSchema: {},
524
+ }, async () => withFailureReport(async () => ({
525
+ content: [{ type: "text", text: JSON.stringify(await client.listPrices()) }],
526
+ })));
485
527
  return server;
486
528
  }
487
529
  //# sourceMappingURL=server.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,10 @@
1
+ import { priceLine } from '@clipwright/core';
1
2
  import { workflowToolInputs, WORKFLOW_TOOL_DESCRIPTIONS } from '@clipwright/core/workflows';
2
3
  import { formatGetRun, withFailureReport } from './format.js';
3
4
  const json = (value) => ({ content: [{ type: 'text', text: JSON.stringify(value) }] });
4
5
  const config = (name, title, readOnlyHint) => ({
5
- title, description: WORKFLOW_TOOL_DESCRIPTIONS[name], inputSchema: workflowToolInputs[name],
6
+ title, description: [WORKFLOW_TOOL_DESCRIPTIONS[name], priceLine(name)].filter((part) => part !== null).join(' '),
7
+ inputSchema: workflowToolInputs[name],
6
8
  annotations: { readOnlyHint, destructiveHint: false },
7
9
  });
8
10
  export function registerWorkflowTools(server, client) {
@@ -11,6 +13,7 @@ export function registerWorkflowTools(server, client) {
11
13
  server.registerTool('prepare_workflow_plan', config('prepare_workflow_plan', 'Create or save a workflow plan', false), async ({ document, plan_id, base_version }) => withFailureReport(async () => json(plan_id === undefined
12
14
  ? await client.createWorkflowPlan({ document })
13
15
  : await client.saveWorkflowPlan(plan_id, { document, base_version: base_version }))));
16
+ server.registerTool('plan_reference_remake', config('plan_reference_remake', 'Compile a reference remake plan', false), async (request) => withFailureReport(async () => json(await client.planReferenceRemake(request))));
14
17
  server.registerTool('get_workflow_plan', config('get_workflow_plan', 'Read a workflow plan', true), async ({ plan_id }) => withFailureReport(async () => json(await client.getWorkflowPlan(plan_id))));
15
18
  server.registerTool('approve_workflow_plan', config('approve_workflow_plan', 'Approve a workflow revision', false), async ({ plan_id, ...approval }) => withFailureReport(async () => json(await client.approveWorkflowPlan(plan_id, approval))));
16
19
  server.registerTool('quote_workflow_plan', config('quote_workflow_plan', 'Quote a workflow run', true), async ({ plan_id }) => withFailureReport(async () => json(await client.quoteWorkflowPlan(plan_id))));
@@ -1 +1 @@
1
- {"version":3,"file":"workflow-tools.js","sourceRoot":"","sources":["../src/workflow-tools.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"workflow-tools.js","sourceRoot":"","sources":["../src/workflow-tools.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@clipwright/mcp-server",
3
- "version": "0.34.0",
3
+ "version": "0.35.0",
4
4
  "description": "MCP server for Clipwright: generate UGC videos from your coding agent",
5
5
  "mcpName": "io.clipwright/mcp",
6
6
  "repository": {
@@ -53,8 +53,8 @@
53
53
  "dependencies": {
54
54
  "@modelcontextprotocol/sdk": "^1.31.0",
55
55
  "zod": "^4.6.7",
56
- "@clipwright/core": "0.34.0",
57
- "@clipwright/sdk": "0.34.0"
56
+ "@clipwright/core": "0.35.0",
57
+ "@clipwright/sdk": "0.35.0"
58
58
  },
59
59
  "devDependencies": {
60
60
  "@types/node": "^26.1.1"