@clipwright/mcp-server 0.12.0 → 0.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.
Files changed (2) hide show
  1. package/CHANGELOG.md +39 -0
  2. package/package.json +3 -3
package/CHANGELOG.md CHANGED
@@ -10,6 +10,45 @@ on the client side. Entries marked *Server-side* changed the API itself: every
10
10
  client version sees them from the day the API was deployed, not from the package
11
11
  release they are listed under.
12
12
 
13
+ ## [0.13.0] - 2026-09-13
14
+
15
+ ### Changed
16
+
17
+ - `listVoices()`, MCP `list_voices` and `clipwright voices` accept a voice name
18
+ outside the five presets, a `gender` other than `female` or `male`, a voice
19
+ without `language`, and the new optional fields `kind`, `locale`, `accent`,
20
+ `age`, `use_case`, `supported_models` and `verified_models`, plus a top-level
21
+ `models` list. Unknown keys are dropped, as before. Until now the first such
22
+ voice made all three fail. (clipwright#164)
23
+ - A voice name the client does not know goes to the API, which decides.
24
+ `clipwright make --voice` checks only the form of the name: letters, digits,
25
+ `_` and `-`, up to 64 characters. The SDK and MCP `make_ugc` no longer refuse
26
+ such a name before sending it. In `tools/list`, `voice` is a string with a
27
+ pattern instead of an enum of preset names. The API itself is unchanged: a
28
+ name that is not a preset still gets 400 `invalid_request` with the same
29
+ message, before any charge. (clipwright#164)
30
+ - In `VoiceCatalogEntry`, `name` and `gender` are typed `string`, and
31
+ `language` is optional. In `MakeUgcInputArgs`, `voice` is typed `string`.
32
+ (clipwright#164)
33
+ - *Server-side:* quote and run accept a voice from the catalog by its name, as
34
+ well as a preset. A catalog voice speaks `eleven_v3` unless `tts_model` names
35
+ another model, and its script limit follows that model: 5,001 characters
36
+ without `tts_model` get 400 before any charge, as with a preset. A name that
37
+ is neither a preset nor a catalog voice gets 400 `invalid_request` that says
38
+ the voice is unknown; a voice retired from the catalog gets 400 that says it
39
+ was retired. Both point to `list_voices`. The language of a voice limits
40
+ nothing: any catalog voice speaks any language. A run already stored with a
41
+ voice that was later retired still reads, with its warnings.
42
+ (clipwright#164)
43
+
44
+ ### Added
45
+
46
+ - `@clipwright/core` exports `VOICE_NAME_PATTERN`, `isVoicePresetName`,
47
+ `serverUgcInputWith` and `voiceModelEntry`. The subpath
48
+ `@clipwright/core/voice-admission` exports `serverUgcInput`, which checks a
49
+ voice name against the catalog, and `catalogVoiceRefusal`. The catalog stays
50
+ out of the main entry point. (clipwright#164)
51
+
13
52
  ## [0.12.0] - 2026-09-13
14
53
 
15
54
  ### Changed
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@clipwright/mcp-server",
3
- "version": "0.12.0",
3
+ "version": "0.13.0",
4
4
  "description": "MCP server for Clipwright: generate UGC videos from your coding agent",
5
5
  "keywords": [
6
6
  "mcp",
@@ -29,8 +29,8 @@
29
29
  "dependencies": {
30
30
  "@modelcontextprotocol/sdk": "^1.29.0",
31
31
  "zod": "^4.4.3",
32
- "@clipwright/core": "0.12.0",
33
- "@clipwright/sdk": "0.12.0"
32
+ "@clipwright/core": "0.13.0",
33
+ "@clipwright/sdk": "0.13.0"
34
34
  },
35
35
  "devDependencies": {
36
36
  "@types/node": "^26.1.1"