@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
package/skill/GENERATED.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# AUTO-GENERATED — do not edit
|
|
2
2
|
|
|
3
|
-
This tree is mirrored from kolbo-code@
|
|
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
|
|
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.
|
|
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
|
-
|
|
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
|
-
|
|
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
|
|
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
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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.
|