@kolbo/mcp 1.93.1 → 1.93.2

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kolbo/mcp",
3
- "version": "1.93.1",
3
+ "version": "1.93.2",
4
4
  "description": "Kolbo AI MCP Server - Generate images, videos, music, speech, and sound effects from Claude Code",
5
5
  "main": "src/index.js",
6
6
  "bin": {
@@ -1,6 +1,6 @@
1
1
  # AUTO-GENERATED — do not edit
2
2
 
3
- This tree is mirrored from kolbo-code@b066208, the single source of truth.
3
+ This tree is mirrored from kolbo-code@be5ba3e, the single source of truth.
4
4
  Canonical source: packages/opencode/skills/kolbo/
5
5
  Distribution: .github/workflows/sync-skill-to-plugin.yml
6
6
 
package/skill/SKILL.md CHANGED
@@ -104,7 +104,7 @@ For multi-scene / batch work this pairs with `generate_creative_director` (see b
104
104
  | Inspect or change a connected **Blender** scene, render, import Kolbo media, or run approved Blender Python | `references/workflows/blender.md` |
105
105
  | Inspect or edit an open **Premiere Pro / After Effects** project — timeline, Kolbo media, sequences, captions, After Effects edits and titles | `references/workflows/adobe.md` |
106
106
  | Build **motion graphics** in After Effects — shape layers, animated text, effects, expressions, logo reveals | `references/workflows/after-effects-motion.md` |
107
- | Edit, grade or render Kolbo media in **DaVinci Resolve** (Studio 21.1+, Blackmagic's MCP) | `references/workflows/davinci-resolve.md` |
107
+ | Edit, title, grade or render Kolbo media in **DaVinci Resolve** (Studio) — Kolbo Resolve plugin (`resolve_*`, any agent) or Blackmagic's MCP (local) | `references/workflows/davinci-resolve.md` |
108
108
  | Create or edit a saved **Video Editor** timeline, clips, trims, speed or captions | `references/workflows/video-editor.md` |
109
109
 
110
110
  Each `references/models/*.md` mirrors the matching skill prompt in `kolbo-api/src/config/systemPrompt.js` — same battle-tuned rules that power Kolbo's web-app help widget. Keep parity (see `packages/opencode/CLAUDE.md` "MCP & Skill Sync Rule").
@@ -163,6 +163,7 @@ Font tools (when exposed by the installed MCP): `list_fonts`, `get_font`, `uploa
163
163
  | `publish_html_artifact` | Publish HTML / SVG / Mermaid to `sites.kolbo.ai`. Server dedupes by content hash. Strict CSP. |
164
164
  | `blender_list_sessions` / `blender_get_scene` / `blender_search_docs` / `blender_capture_viewport` / `blender_apply_operations` / `blender_import_media` / `blender_render` / `blender_undo` / `blender_file_operation` / `blender_execute_python` / `blender_get_command_status` | Connected Blender control through the Kolbo extension. Every tool crosses into an external desktop host; read `workflows/blender.md` before the first call. |
165
165
  | `adobe_list_sessions` / `adobe_get_project` / `adobe_get_timeline` / `adobe_import_media` / `adobe_place_on_timeline` / `adobe_create_sequence` / `adobe_import_captions` / `adobe_edit_composition` / `adobe_run_script` / `adobe_capture_frame` / `adobe_get_command_status` | Connected Premiere Pro / After Effects control through the Kolbo panel. Every change needs the editor's approval in the panel; read `workflows/adobe.md` before the first call and `workflows/after-effects-motion.md` before any motion-graphics script. |
166
+ | `resolve_list_sessions` / `resolve_get_project` / `resolve_get_timeline` / `resolve_import_media` / `resolve_edit_timeline` / `resolve_run_script` / `resolve_capture_frame` / `resolve_get_command_status` | Connected DaVinci Resolve Studio control through the Kolbo Resolve plugin: timeline edits, Fusion titles, scripts and frame checks. Every change needs the editor's approval in the plugin; read `workflows/davinci-resolve.md` before the first call. |
166
167
 
167
168
  ## ⚠️ Edit in place — never delete+recreate (HARD RULE — always on)
168
169
 
@@ -1,19 +1,67 @@
1
1
  # DaVinci Resolve Workflow
2
2
 
3
- Use this when the user wants Kolbo media edited, graded or rendered in DaVinci Resolve. Kolbo generates and hosts the media; **Blackmagic's own DaVinci Resolve MCP server** drives Resolve. The agent uses both connectors side by side.
3
+ Use this when the user wants Kolbo media edited, cut, titled, graded or rendered in DaVinci Resolve. There are two ways to reach Resolve; pick by what is connected.
4
4
 
5
- Everything below was run against DaVinci Resolve Studio 21.1.0.17 through Blackmagic's server.
5
+ | Path | Works from | Use it for |
6
+ |---|---|---|
7
+ | **Kolbo Resolve plugin** (`resolve_*` tools, this server) | Any agent, including ChatGPT and claude.ai | Reading the project, importing Kolbo media, building timeline edits, titles, frame checks - every change approved by the editor |
8
+ | **Blackmagic's DaVinci Resolve MCP** (their own server) | Local agents only (Claude Desktop, Claude Code, Codex) | Deep scripting, colour, LUTs/DCTLs, rendering |
6
9
 
7
- ## Requirements - check before promising anything
10
+ Both need **DaVinci Resolve Studio**; the free edition has no plugins and no external scripting. If `resolve_list_sessions` returns a session, prefer the Kolbo plugin.
11
+
12
+ ## Kolbo Resolve plugin
13
+
14
+ Everything in this section was run end to end through Kolbo MCP against DaVinci Resolve Studio 21.1.
15
+
16
+ ### Connect and target safely
17
+
18
+ 1. Call `resolve_list_sessions` before the first Resolve action.
19
+ 2. If no session is listed, ask the user to open **Workspace → Workflow Integrations → Kolbo AI** in Resolve Studio and sign in with the same Kolbo account as this connector. **AI agents** in the plugin header connects automatically; if its dot is not green, ask them to click it.
20
+ 3. One session: `session_id` may be omitted. Several: show each and ask. Keep the chosen `session_id` on every later call; re-list after Resolve or the plugin restarts.
21
+
22
+ Every tool except `resolve_list_sessions` and `resolve_get_command_status` returns a command record. Poll `resolve_get_command_status` until `succeeded`, `failed`, `denied` or `canceled`. Reads run without approval; everything else waits for **Allow once / Allow for this session / Deny** in the plugin window. `awaiting_approval` is not a polling state: tell the user to approve in the Kolbo AI window (it may be behind Resolve), then check again. `denied` is final.
23
+
24
+ ### Tools
25
+
26
+ | Goal | Tool |
27
+ |---|---|
28
+ | Project name, timelines, frame rate, resolution, playhead | `resolve_get_project` |
29
+ | Clips on every track (position, start/end seconds), markers | `resolve_get_timeline` |
30
+ | Kolbo media into the Media Pool only | `resolve_import_media` |
31
+ | Build or change an edit | `resolve_edit_timeline` |
32
+ | Anything else in Resolve's scripting API | `resolve_run_script` |
33
+ | See the result | `resolve_capture_frame` → look at the returned `url` |
34
+
35
+ ### Timeline edits (`resolve_edit_timeline`)
36
+
37
+ - Up to 100 operations run in order and stop at the first failure; earlier operations stay applied. Fix the failing one and continue - do not replay the batch.
38
+ - Start new work with `timeline.create` so the user's existing timelines stay untouched. It uses the project's frame rate and resolution.
39
+ - Times are seconds from the timeline start. `clip.append`: `record_seconds` = where it lands (default: end of that track), `trim_start_seconds` = seconds skipped at the head of the source, `duration_seconds` = length on the timeline (stills default to 5 s). media_type "video" keeps a clip's audio off the timeline; audio files always go to audio tracks. Missing tracks are added.
40
+ - Clips are addressed by track plus position (1 = leftmost media clip on that track; transitions do not count) or exact clip name. Clip names are file names, and a file imported again gets a short prefix, so prefer positions. Positions change after inserts and deletes - re-read with `resolve_get_timeline` when unsure.
41
+ - `clip.transition` needs handles: trim the head of the next shot (`trim_start_seconds` ≥ half the transition) or the transition will be refused.
42
+ - `audio.fade` is for clips on audio tracks. `title.add` builds the title inside that clip's Fusion comp (`position` [0.5, 0.5] = centre, y grows upward) with a fade in and out; keep it inside title-safe (x and y between 0.1 and 0.9).
43
+ - `clip.delete` is destructive; only delete what the user asked for.
44
+ - The Kolbo AI window must stay open while you work; it can sit behind Resolve.
45
+
46
+ ### Scripts (`resolve_run_script`)
47
+
48
+ - `code` is an **async JavaScript function body** with `resolve`, `project`, `timeline` and `log(...)` in scope. Every Resolve call returns a promise - `await` each one - and `return` a JSON-serialisable result.
49
+ - The editor reads the exact code before approving. Give a plain `purpose`. Never touch files, the network or other projects unless the user asked for exactly that.
50
+
51
+ ## Blackmagic's DaVinci Resolve MCP
52
+
53
+ Verified against DaVinci Resolve Studio 21.1.0.17.
54
+
55
+ ### Requirements - check before promising anything
8
56
 
9
57
  - **DaVinci Resolve Studio 21.1 or later.** The free edition has no MCP server and no external scripting.
10
- - A **local** agent: Claude Desktop, Claude Code or Codex on the same computer as Resolve. Browser ChatGPT and claude.ai can generate media with Kolbo but cannot reach Resolve.
58
+ - A **local** agent: Claude Desktop, Claude Code or Codex on the same computer as Resolve. Browser ChatGPT and claude.ai cannot reach this server; use the Kolbo Resolve plugin from there.
11
59
  - Connect Resolve's server from **File → Setup AI Assistants** in Resolve, and set **Preferences → System → General → External scripting using** to **Local**.
12
60
  - Resolve must be running; the server's `launch_resolve` tool can start it.
13
61
 
14
- If the Resolve tools are missing from the conversation, say so and give these steps. Do not try to control Resolve any other way.
62
+ If neither the Kolbo plugin session nor Blackmagic's tools are available, say so and give the setup steps for the path that fits the user. Do not try to control Resolve any other way.
15
63
 
16
- ## Blackmagic's tools (not Kolbo's)
64
+ ### Blackmagic's tools (not Kolbo's)
17
65
 
18
66
  | Tool | Use |
19
67
  |---|---|
@@ -26,7 +74,7 @@ If the Resolve tools are missing from the conversation, say so and give these st
26
74
 
27
75
  Scripts get `resolve` and the current `project` pre-injected and return data by assigning `result`.
28
76
 
29
- ## Workflow
77
+ ### Workflow
30
78
 
31
79
  1. **Generate or find media with Kolbo** (`generate_video`, `generate_music`, `list_media`, …) and wait for success.
32
80
  2. **Get the files onto disk.** In Claude Code or Codex, download the Kolbo URLs with the shell. In Claude Desktop, download inside `run_script_unsafe` with `urllib.request`. Only download Kolbo-hosted URLs.
@@ -35,7 +83,7 @@ Scripts get `resolve` and the current `project` pre-injected and return data by
35
83
  5. **Verify visually.** Set the playhead and call `project.ExportCurrentFrameAsStill(path)` at representative times, then look at the stills before reporting.
36
84
  6. Optionally render (`AddRenderJob` / `StartRendering`) and upload the result back to Kolbo with `upload_media` so it lands in the user's library.
37
85
 
38
- ## Verified gotchas
86
+ ### Verified gotchas
39
87
 
40
88
  - **`MediaPool.ImportMedia` needs plain path strings.** The dict form in the 21.1 stubs (`[{"FilePath": ...}]`) returned `None`. On Windows, backslash paths worked.
41
89
  - **File import fails in `run_script`**; use `run_script_unsafe` for anything that touches files.
@@ -43,7 +91,7 @@ Scripts get `resolve` and the current `project` pre-injected and return data by
43
91
  - `AppendToTimeline` `startFrame` / `endFrame` are **source frames** at the clip's own frame rate (`GetClipProperty("FPS")`). `recordFrame` is a timeline frame; timelines start at `timeline.GetStartFrame()` (86400 = 01:00:00:00 at 24 fps).
44
92
  - New projects default to 24 fps and UHD output.
45
93
 
46
- ## Recipe: cut, transition, music fade, title
94
+ ### Recipe: cut, transition, music fade, title
47
95
 
48
96
  ```python
49
97
  pm = resolve.GetProjectManager()
@@ -109,7 +157,7 @@ resolve.GetProjectManager().LoadProject("<original project name>")
109
157
  result = {"still": ok}
110
158
  ```
111
159
 
112
- ## Completion proof
160
+ ### Completion proof
113
161
 
114
162
  - Look at exported stills at the title, the transition and the end before reporting.
115
163
  - Report which project and timeline you built, that the original project was saved and restored, and where any render landed.