@clipwright/mcp-server 0.8.0 → 0.10.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/README.md CHANGED
@@ -7,12 +7,13 @@ the agent gets a `run_id` and polls until a video URL is ready.
7
7
  ## Install
8
8
 
9
9
  ```bash
10
- claude mcp add clipwright \
11
- -e CLIPWRIGHT_API_KEY="cw_your_token" \
12
- -e CLIPWRIGHT_CLIENT_ID="$(uuidgen | tr -d '-')" \
13
- -- npx -y @clipwright/mcp-server
10
+ claude mcp add clipwright -e CLIPWRIGHT_API_KEY=cw_... -- npx -y -p @clipwright/mcp-server clipwright-mcp
14
11
  ```
15
12
 
13
+ Put your own key in place of `cw_...`. The command is one line and gives the
14
+ shell nothing to expand, so bash, zsh and PowerShell run it alike. It needs
15
+ Node.js 20 or newer.
16
+
16
17
  Any MCP host works — the server speaks JSON-RPC over stdio.
17
18
 
18
19
  ## Environment
@@ -20,13 +21,15 @@ Any MCP host works — the server speaks JSON-RPC over stdio.
20
21
  | Variable | Required | Meaning |
21
22
  |---|---|---|
22
23
  | `CLIPWRIGHT_API_KEY` | yes | Your `cw_*` token. The process exits immediately without it. |
23
- | `CLIPWRIGHT_CLIENT_ID` | yes | Identifies this **installation**. It is mixed into the idempotency key, so two installations never collapse into one run. Falls back to `~/.clipwright/client-id`, and fails loudly rather than inventing a throwaway value. |
24
+ | `CLIPWRIGHT_CLIENT_ID` | recommended | Identifies this **installation** and enters the idempotency key, so two installations never collapse into one run. Left unset, the server keeps one in `~/.clipwright/client-id`, which suits a single laptop. Set it yourself where a home directory is shared, cloned or read-only — containers, CI, copied images — as `SKILL.md` §2 explains. |
24
25
  | `CLIPWRIGHT_API_URL` | no | Defaults to the hosted API. |
25
26
 
26
27
  ## Tools
27
28
 
28
29
  - `list_voices` — voice catalog. Free, spends no credits.
29
- - `quote_ugc` — estimated duration and price. Free.
30
+ - `quote_ugc` — estimated duration and price, plus a warning when `make_ugc`
31
+ with the same input would be refused for money or access. Free.
32
+ - `get_account` — balance, debt and holds of the account. Free.
30
33
  - `make_ugc` — **renders a clip; this is the call that costs money.** Returns a
31
34
  `run_id` immediately instead of blocking, because a render takes minutes.
32
35
  - `get_run` — status of a run. Free; poll it every few seconds.
package/SKILL.md CHANGED
@@ -160,7 +160,7 @@ Environment variables:
160
160
  | `CLIPWRIGHT_CLIENT_ID` | YES (see section 2) | Unique identifier of this INSTALLATION. |
161
161
 
162
162
  After connecting, restart or reopen the MCP host and confirm that `tools/list`
163
- returns six tools: `make_ugc`, `get_run`, `quote_ugc`, `list_actors`, `list_voices`, `upload_image`.
163
+ returns seven tools: `make_ugc`, `get_run`, `quote_ugc`, `list_actors`, `list_voices`, `upload_image`, `get_account`.
164
164
 
165
165
  ## 2. `CLIPWRIGHT_CLIENT_ID` — required, and WHY
166
166
 
@@ -243,8 +243,8 @@ every start — a silent fallback would disable deduplication entirely
243
243
 
244
244
  **The server does NOT die in that case, and this is verified by a test run.** The
245
245
  identity resolves lazily — only on the first `make_ugc`. In an environment where
246
- `~/.clipwright` is not writable the server starts, `tools/list` returns all four
247
- tools, and `quote_ugc`, `get_run` and `list_voices` work: they do not need the
246
+ `~/.clipwright` is not writable the server starts, `tools/list` returns every
247
+ tool, and `quote_ugc`, `get_run` and `list_voices` work: they do not need the
248
248
  identity. Only `make_ugc` refuses, and its refusal names the variable that fixes
249
249
  it. So the action to take is to set `CLIPWRIGHT_CLIENT_ID` explicitly — not to
250
250
  hunt for a bug and not to reinstall the package.
@@ -293,7 +293,7 @@ frame could only come from the vendor's centre crop, which we do not do silently
293
293
  To get `1:1`, select an actor with a verified square variant or pass an `image`
294
294
  with a square public https source. An unavailable actor format is refused before payment.
295
295
 
296
- ## 4. The six tools
296
+ ## 4. The seven tools
297
297
 
298
298
  Schemas come from the single source of truth `@clipwright/core`
299
299
  (`packages/core/src/skills.ts`, barrel `packages/core/src/index.ts`); MCP does not
@@ -458,14 +458,41 @@ Returns the curated preset catalog for the `voice` field of `make_ugc`
458
458
  (`inputSchema: {}` — it takes no arguments). Costs nothing and creates no run.
459
459
 
460
460
  There is still a network call: the tool hits OUR `/v1/voices` and needs a working
461
- `CLIPWRIGHT_API_KEY`, like the other three. Nobody calls the vendor — the list is
462
- static and lives in `packages/core/src/voices.ts`, so no vendor key is needed on
463
- this surface.
461
+ `CLIPWRIGHT_API_KEY`, like the other three. Nobody calls the vendor — the presets
462
+ live in `packages/core/src/voices.ts` and the samples in our own bucket, so this
463
+ surface needs no vendor key.
464
464
 
465
465
  Call it before `make_ugc` when the user asks for "a different voice": a preset
466
466
  name is preferable to a raw `voice_id`, because a preset survives a change of
467
467
  vendor and an identifier does not.
468
468
 
469
+ **Let the user HEAR the voice before paying for it.** Every entry carries
470
+ `preview_url`: a short sample spoken by that voice with that voice's own model,
471
+ so it matches what the render will sound like. Descriptions convey neither
472
+ diction nor accent nor pace; the owner caught a voice-face mismatch by ear, on a
473
+ finished clip. Offer the sample whenever the user asks for a different voice.
474
+
475
+ The link is signed and expires at `preview_expires_at`, an hour out. For a fresh
476
+ one call `list_voices` again; never store it. A voice with no sample carries no
477
+ `preview_url` at all — the sample does not exist, rather than having been dropped
478
+ from the answer.
479
+
480
+ ### `get_account` — free, no input
481
+
482
+ Returns the body of `GET /v1/account`: `balance_credits`, `debt_credits`,
483
+ `holds_credits` and the unexpired `grants`. It costs nothing and creates no run.
484
+
485
+ - `debt_credits` above zero blocks `make_ugc` with `debt_outstanding`, whatever
486
+ the balance, until the account buys credits.
487
+ - With no debt, `balance_credits` is what a new run can spend.
488
+ - `holds_credits` are reserved for runs in progress; they settle when those
489
+ runs finish.
490
+
491
+ `quote_ugc` already warns in `warnings[]` when `make_ugc` with the same input
492
+ would be refused for money or access, so a render rarely needs this call first.
493
+ Call it when the user asks how many credits are left, or to show the numbers
494
+ behind such a warning.
495
+
469
496
  ## 5. Retrying a failed run is NOT a permanent refusal
470
497
 
471
498
  If `get_run` returned a terminal `FAILED` and you call `make_ugc` AGAIN with the
package/dist/server.js CHANGED
@@ -101,7 +101,10 @@ export function createServer(client) {
101
101
  "of `voice`. The current avatar already has a matched default voice; do NOT change it unless the " +
102
102
  "user explicitly asks for a different one. This catalog is CURATED BY DESIGN, not the vendor's " +
103
103
  "full voice list: the paid vendor's full catalog is intentionally not proxied here, so its API " +
104
- "key does not need to leave the worker process. " + SCRIPT_LENGTH_DESCRIPTION,
104
+ "key does not need to leave the worker process. Each voice carries `preview_url` — a short-lived " +
105
+ "audio sample spoken by that voice with that model; play it to the user before a paid render " +
106
+ "instead of judging a voice by its description. It expires at `preview_expires_at`: call this " +
107
+ "tool again for a fresh link, never store it. " + SCRIPT_LENGTH_DESCRIPTION,
105
108
  inputSchema: {},
106
109
  }, async () => withFailureReport(async () => {
107
110
  // Каталог статический (US-513 core), тула лишь ретранслирует /v1/voices —
@@ -115,6 +118,17 @@ export function createServer(client) {
115
118
  }, async () => withFailureReport(async () => ({
116
119
  content: [{ type: "text", text: JSON.stringify({ actors: await client.listActors() }) }],
117
120
  })));
121
+ // Остаток счёта без траты попытки: иначе его узнают только отказом 402 (clipwright#135).
122
+ server.registerTool("get_account", {
123
+ description: "Read this account's credits. Free, spends nothing. debt_credits above zero means make_ugc " +
124
+ "is refused with debt_outstanding whatever the balance, until the account buys credits; " +
125
+ "with no debt, balance_credits is what a new run can spend. holds_credits are reserved for " +
126
+ "runs still in progress and settle when they finish. grants lists unexpired credit grants. " +
127
+ "quote_ugc already warns when make_ugc would be refused; this tool gives the numbers behind it.",
128
+ inputSchema: {},
129
+ }, async () => withFailureReport(async () => ({
130
+ content: [{ type: "text", text: JSON.stringify(await client.getAccount()) }],
131
+ })));
118
132
  return server;
119
133
  }
120
134
  //# 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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@clipwright/mcp-server",
3
- "version": "0.8.0",
3
+ "version": "0.10.0",
4
4
  "description": "MCP server for Clipwright: generate UGC videos from your coding agent",
5
5
  "keywords": [
6
6
  "mcp",
@@ -28,8 +28,8 @@
28
28
  "dependencies": {
29
29
  "@modelcontextprotocol/sdk": "^1.29.0",
30
30
  "zod": "^4.4.3",
31
- "@clipwright/core": "0.8.0",
32
- "@clipwright/sdk": "0.8.0"
31
+ "@clipwright/core": "0.10.0",
32
+ "@clipwright/sdk": "0.10.0"
33
33
  },
34
34
  "devDependencies": {
35
35
  "@types/node": "^26.1.1"