shotops-mcp 0.9.5 → 0.9.7

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
@@ -86,11 +86,14 @@ The key is never copied, printed, or sent to ShotOps, and no release tool is ins
86
86
  `text` (and a single caption's `subtitle`) is per-RENDER input (never stored — a look carries
87
87
  styling only). Captions auto-layout in a band at the top of the panel, and the device does NOT
88
88
  move to make room.
89
- - **`style.layout`** — the panel **composition** in one word: `"standard"`, `"bleed"`, or
90
- `"top-bleed"`. It settles the headline's reserved region, device placement, camera pose, and
91
- roll together. `standard` (the shipped default) puts the whole device
92
- under a 2-line region — about 36 characters — and crops nothing; `bleed` reserves 4 lines (~72
93
- characters) and runs the device 10% off the bottom edge. The region is **reserved, not fitted**:
89
+ - **`style.layout`** — the panel **composition** in one word: `"standard"`, `"bleed"`, `"top-bleed"`,
90
+ `"lean-right"`, `"lean-left"`, `"swipe"` or `"corner-bleed"`. It settles the headline's reserved
91
+ region, device placement, camera pose, and roll together. `standard` (the shipped default) puts
92
+ the whole device under a 2-line region — about 36 characters — and crops nothing; `bleed` reserves
93
+ 4 lines (~72 characters) and runs the device 10% off the bottom edge. The last four run it off a
94
+ SIDE edge instead, into the neighbouring screenshot, so the set reads as one continuous swipe —
95
+ pick one for **every** panel or none, and never mirror `lean-right` against `lean-left`, which
96
+ puts two devices into the same seam. The region is **reserved, not fitted**:
94
97
  it is held at full size whether or not the headline fills it, which is what makes every panel in
95
98
  a swiped set land on the same line. **Precedence** — the template expands *first*, then any
96
99
  explicit `shotLook` composition field or caption layout field you also pass **overrides** it
@@ -292,8 +295,8 @@ screenshot unavailable; public privacy disclosures must accurately state this re
292
295
  shown once — copy it then.
293
296
  2. **Supabase service env** (already in the repo's `.env.local` for local dev): `SUPABASE_URL`
294
297
  and `SUPABASE_SERVICE_ROLE_KEY`. The server loads `../.env.local` automatically.
295
- 3. Playwright's Chromium (installed with the package; run `npx playwright install chromium`
296
- once if it's missing).
298
+ 3. Playwright's Chromium. The first render downloads it automatically into Playwright's cache if
299
+ it's missing; run `npx playwright install chromium` first to skip that one-time wait.
297
300
 
298
301
  ## Run it
299
302
 
@@ -303,7 +306,8 @@ npm install
303
306
  npm run dev # boots on http://localhost:8788/mcp (override with MCP_PORT)
304
307
  ```
305
308
 
306
- Chromium boots lazily on the first `render_strip` / `emit_bundle` call, so startup is fast.
309
+ Chromium boots lazily on the first `render_strip` / `emit_bundle` call, so startup is fast — and
310
+ that first render also installs Chromium if it isn't cached yet, adding ~20-25s to that one call.
307
311
  `GET /health` is an unauthenticated liveness probe.
308
312
 
309
313
  ## Connect ChatGPT (Developer Mode)
@@ -419,13 +423,26 @@ the transport and a few account-shaped tools differ.
419
423
  claude mcp add shotops -- npx -y shotops-mcp
420
424
  ```
421
425
 
422
- One-time setup: Chromium isn't bundled in the npm package (it's ~150MB) — Playwright downloads
423
- it on first run, or install it explicitly:
426
+ Chromium isn't bundled in the npm package (it's ~150MB). The first render on a machine without
427
+ Playwright's Chromium installs it automatically into Playwright's cache, then renders. That first
428
+ render takes ~20-25s longer, and its result `note` says so. Install it ahead of time to skip the wait:
424
429
 
425
430
  ```bash
426
431
  npx playwright install chromium
427
432
  ```
428
433
 
434
+ Offline, that automatic download fails and the first render refuses with `upstream_unavailable`
435
+ until you're back online.
436
+
437
+ ### Claude Desktop (macOS and Windows)
438
+
439
+ The same local server ships as a Claude Desktop extension, no terminal needed. Download
440
+ **<https://shotops.dev/download/shotops.mcpb>** (always the latest version; a specific one is
441
+ `shotops-mcp-<version>.mcpb` beside it) and double-click it. Leave the **ShotOps API token**
442
+ setting empty to preview free without an account, or paste a token from the Studio app → account
443
+ menu → **API tokens** to save projects and looks. The extension bundles everything except
444
+ Chromium, which the first render downloads once as described above.
445
+
429
446
  **Screenshots are read straight off your disk** — no upload dance. Pass a local file path
430
447
  instead of `{ ref }`/`{ url }`:
431
448