premiere-pro-mcp 1.1.5 → 1.1.6

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 (56) hide show
  1. package/CHANGELOG.md +124 -102
  2. package/LICENSE +21 -21
  3. package/README.md +563 -559
  4. package/cep-plugin/.debug +8 -8
  5. package/cep-plugin/CSInterface.js +70 -70
  6. package/cep-plugin/CSXS/manifest.xml +79 -49
  7. package/cep-plugin/host.jsx +7 -7
  8. package/cep-plugin/index.html +96 -96
  9. package/cep-plugin/main.js +269 -248
  10. package/dist/bridge/file-bridge.js +57 -10
  11. package/dist/bridge/script-builder.d.ts +19 -3
  12. package/dist/bridge/script-builder.js +488 -426
  13. package/dist/index.js +26 -18
  14. package/dist/server.js +60 -60
  15. package/dist/tools/advanced.js +356 -356
  16. package/dist/tools/audio.js +62 -62
  17. package/dist/tools/captions.js +10 -10
  18. package/dist/tools/clipboard.js +209 -209
  19. package/dist/tools/discovery.js +288 -288
  20. package/dist/tools/effects.js +262 -262
  21. package/dist/tools/export.js +196 -196
  22. package/dist/tools/health.js +10 -10
  23. package/dist/tools/inspection.js +885 -885
  24. package/dist/tools/keyframes.js +292 -292
  25. package/dist/tools/markers.js +87 -87
  26. package/dist/tools/media.js +143 -143
  27. package/dist/tools/metadata.js +93 -93
  28. package/dist/tools/playback.js +15 -15
  29. package/dist/tools/playhead.js +49 -49
  30. package/dist/tools/project-manager.js +21 -21
  31. package/dist/tools/project.js +120 -120
  32. package/dist/tools/scripting.js +307 -307
  33. package/dist/tools/selection.js +202 -202
  34. package/dist/tools/sequence.d.ts +1 -0
  35. package/dist/tools/sequence.js +213 -129
  36. package/dist/tools/source-monitor.js +68 -68
  37. package/dist/tools/text.js +71 -71
  38. package/dist/tools/timeline.js +198 -198
  39. package/dist/tools/track-targeting.js +600 -600
  40. package/dist/tools/tracks.js +44 -44
  41. package/dist/tools/transitions.js +161 -161
  42. package/dist/tools/utility.js +626 -626
  43. package/dist/tools/workspace.js +12 -12
  44. package/package.json +65 -65
  45. package/scripts/build-chat-dmg.sh +210 -210
  46. package/scripts/build-chat-zip.sh +291 -291
  47. package/scripts/install-cep.ps1 +68 -0
  48. package/scripts/install-cep.sh +66 -66
  49. package/scripts/install-chat-plugin.bat +67 -67
  50. package/scripts/install-chat-plugin.sh +85 -85
  51. package/dist/prompts/index.d.ts +0 -25
  52. package/dist/prompts/index.js +0 -243
  53. package/dist/resources/live.d.ts +0 -35
  54. package/dist/resources/live.js +0 -114
  55. package/dist/tools/registry.d.ts +0 -17
  56. package/dist/tools/registry.js +0 -66
package/CHANGELOG.md CHANGED
@@ -1,112 +1,134 @@
1
- # Changelog
2
-
3
- All notable changes to this project will be documented in this file.
4
-
1
+ # Changelog
2
+
3
+ All notable changes to this project will be documented in this file.
4
+
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
6
6
 
7
- ## [1.1.2] - 2026-07-11
8
-
9
- The headline of this release is that the CEP 12 bridge fix from
10
- [#1](https://github.com/leancoderkavy/premiere-pro-mcp/pull/1) finally ships to npm. It has been on
11
- `main` since March but was never published, so everyone who installed with `npm install -g` still
12
- got a bridge that returned `null` for every tool call. If that was your symptom, upgrading is the
13
- whole fix.
7
+ ## [1.1.6] - 2026-07-20
14
8
 
15
9
  ### Fixed
16
10
 
17
- - **The bridge returns data again on Premiere Pro 2023+ / CEP 12.** The published `CSInterface.js`
18
- shim called `__adobe_cep__.evalScript(script)` without forwarding the callback. CEP 9+ is
19
- async-only, so every result was silently discarded and every tool answered
20
- `{"success":true,"data":null}` while the panel cheerfully logged "Result: OK". The manifest was
21
- also missing `--enable-nodejs`, leaving `require("fs")` undefined in the panel.
22
- ([#2](https://github.com/leancoderkavy/premiere-pro-mcp/issues/2),
23
- [#5](https://github.com/leancoderkavy/premiere-pro-mcp/issues/5),
24
- [#8](https://github.com/leancoderkavy/premiere-pro-mcp/issues/8))
25
-
26
- - **Markers landed at wildly wrong times.** `createMarker()` takes seconds, but was being handed
27
- ticks — a marker requested at 2.0s was placed roughly 508 billion seconds down the timeline,
28
- far past the end of any real sequence. `marker.end` had the same bug, and `list_markers` read
29
- back nonsense as a result. ([#6](https://github.com/leancoderkavy/premiere-pro-mcp/issues/6))
30
-
31
- - **`manage_proxies` and `get_encoder_presets` called ExtendScript methods that do not exist.**
32
- `ProjectItem` has no `createProxy()` and `EncoderManager` has no `getFormatList()`, so both threw
33
- every time. `manage_proxies` with `action: "create"` now queues a real proxy encode through Media
34
- Encoder instead of reporting "Proxy creation started" for work that never happened, and
35
- `get_encoder_presets` discovers presets by scanning the `.epr` files Adobe ships on disk, returning
36
- each preset's path so it can be passed straight to `export_sequence`.
37
- ([#7](https://github.com/leancoderkavy/premiere-pro-mcp/issues/7))
38
-
39
- - **`capture_frame`, `export_frame`, and `freeze_frame` threw on every call.** `exportFramePNG`
40
- exists only on the QE DOM sequence, not the public DOM one. These tools now go through the QE
41
- sequence, and — because QE's return value is unreliable — decide success by checking that a file
42
- actually exists on disk, falling back to a one-frame Media Encoder export. They can no longer
43
- report success having written nothing.
44
- ([#9](https://github.com/leancoderkavy/premiere-pro-mcp/issues/9))
11
+ - **Frame capture's Media Encoder fallback now exports exactly one frame.** The fallback passed
12
+ tick values to sequence in/out methods that require seconds, producing an invalid export range
13
+ when the undocumented QE frame-export method wrote no file. The range and its saved state are
14
+ now converted to seconds. ([#9](https://github.com/leancoderkavy/premiere-pro-mcp/issues/9))
45
15
 
46
- - **Six tools repaired for Premiere Pro 2026** via
47
- [#3](https://github.com/leancoderkavy/premiere-pro-mcp/pull/3): `add_audio_keyframes` (used a
48
- nonexistent `Property.addKeyframe`, and wrote dB into a property that stores amplitude),
49
- `color_correct` (one unsettable Lumetri property aborted the whole script and lost every other
50
- change), `add_transition` and friends (`getVideoTransitionList()` returns empty on 2026 even
51
- though by-name lookup works), `add_adjustment_layer` (`qeSeq.addAdjustmentLayer` was removed in
52
- 2026), `export_sequence` (defaulted to a hardcoded macOS-only preset path), and `add_text_overlay`
53
- (called `createCaptionTrack` with the wrong signature).
16
+ - **Windows CEP installation now enables unsigned-extension discovery correctly.** The CLI uses a
17
+ native PowerShell installer on Windows and creates `PlayerDebugMode` as the `REG_SZ` value Adobe
18
+ requires. Previous instructions incorrectly specified a DWORD, and the Bash installer never
19
+ enabled Windows debug mode. ([#14](https://github.com/leancoderkavy/premiere-pro-mcp/issues/14))
54
20
 
55
- - `manage_proxies` with `action: "toggle"` reported the inverse of the state it had just set.
21
+ - CEP bundle and extension versions now match the npm package version, with regression coverage to
22
+ prevent future drift.
56
23
 
57
- - The README described this repository as "a temporary fork" of itself — a fork banner that rode in
58
- with the [#1](https://github.com/leancoderkavy/premiere-pro-mcp/pull/1) merge.
24
+ ### Validation
59
25
 
60
- ### Notes
26
+ - TypeScript build and 315 automated tests pass. The corrected Premiere runtime paths still require
27
+ live confirmation on a machine with Premiere Pro installed.
61
28
 
62
- - The frame-export and proxy-create paths are fixed against the documented API and covered by
63
- regression tests, but have not yet been live-verified against a running Premiere Pro. If you can
64
- test them, reports on
65
- [#7](https://github.com/leancoderkavy/premiere-pro-mcp/issues/7) and
66
- [#9](https://github.com/leancoderkavy/premiere-pro-mcp/issues/9) are very welcome.
67
- - Windows users on CEP 12 may additionally need to sign the extension (`ZXPSignCmd -sign`) see
68
- [#2](https://github.com/leancoderkavy/premiere-pro-mcp/issues/2) for details. That is an Adobe
69
- signature-verification requirement, not a bug in this package.
70
-
71
- ## [1.0.0] - 2025-02-26
72
-
73
- ### Added
74
-
75
- - **269 tools** across **28 modules** covering nearly the entire Premiere Pro ExtendScript and QE DOM API surface
76
- - File-based IPC bridge for reliable communication between Node.js MCP server and CEP plugin
77
- - CEP plugin with panel UI for bridge status monitoring and configuration
78
- - Cross-platform support (macOS and Windows)
79
- - Two MCP resources for LLM context: `premiere-instructions` and `extendscript-reference`
80
- - Security validation for generated scripts (blocks eval, new Function, System.callSystem)
81
- - Automated CEP plugin installer script
82
-
83
- #### Tool Modules
84
-
85
- - **discovery** (10) — Project info, item listing, clip queries
86
- - **project** (26) Save/open, import, bins, AE comps, bars & tone, scratch disks
87
- - **media** (16) Proxy management, offline, frame rate override, XMP, color space
88
- - **sequence** (11) Create, duplicate, delete, settings, auto-reframe, unnest, captions
89
- - **timeline** (10) Add/remove/move/trim/split clips, properties, replace
90
- - **effects** (8) Apply/remove effects, color correction, LUTs, stabilization
91
- - **transitions** (5) Add transitions by name (QE DOM)
92
- - **audio** (3) — Levels, keyframes, mute
93
- - **text** (3) — Text overlays, MOGRTs
94
- - **markers** (4) Add/delete/update/list markers
95
- - **tracks** (4) Add/delete/lock/visibility
96
- - **playhead** (6)Position, work area, in/out points
97
- - **metadata** (9) — XMP, project metadata, color labels, footage interpretation
98
- - **export** (14) Sequence export, frame capture (base64), FCP XML, AAF, OMF, encoding
99
- - **advanced** (27) — QE DOM: ripple delete, roll/slide/slip edits, speed, reverse, frame blend
100
- - **keyframes** (8) — Full CRUD: add, get, remove, range remove, interpolation, value at time
101
- - **scripting** (6) Execute arbitrary ExtendScript, expression eval, DOM inspection
102
- - **inspection** (10) — Deep project/sequence/clip analysis, timeline gaps, media reports
103
- - **selection** (7) Select by name, range, color; invert; select disabled
104
- - **clipboard** (6) Copy effects, batch apply, replace media, blend modes
105
- - **source-monitor** (7) Open/close, in/out points, insert/overwrite from source
106
- - **track-targeting** (31) Target tracks, motion/transform properties, audio properties
107
- - **utility** (29) Batch rename, enable/disable, project analysis, navigation
108
- - **health** (1) Connectivity ping
109
- - **workspace** (2) — Get/set workspace layouts
110
- - **captions** (1) Create caption tracks
111
- - **playback** (4) — Timeline and source monitor playback control
112
- - **project-manager** (1)Project consolidation and transfer
29
+ ## [1.1.2] - 2026-07-11
30
+
31
+ The headline of this release is that the CEP 12 bridge fix from
32
+ [#1](https://github.com/leancoderkavy/premiere-pro-mcp/pull/1) finally ships to npm. It has been on
33
+ `main` since March but was never published, so everyone who installed with `npm install -g` still
34
+ got a bridge that returned `null` for every tool call. If that was your symptom, upgrading is the
35
+ whole fix.
36
+
37
+ ### Fixed
38
+
39
+ - **The bridge returns data again on Premiere Pro 2023+ / CEP 12.** The published `CSInterface.js`
40
+ shim called `__adobe_cep__.evalScript(script)` without forwarding the callback. CEP 9+ is
41
+ async-only, so every result was silently discarded and every tool answered
42
+ `{"success":true,"data":null}` while the panel cheerfully logged "Result: OK". The manifest was
43
+ also missing `--enable-nodejs`, leaving `require("fs")` undefined in the panel.
44
+ ([#2](https://github.com/leancoderkavy/premiere-pro-mcp/issues/2),
45
+ [#5](https://github.com/leancoderkavy/premiere-pro-mcp/issues/5),
46
+ [#8](https://github.com/leancoderkavy/premiere-pro-mcp/issues/8))
47
+
48
+ - **Markers landed at wildly wrong times.** `createMarker()` takes seconds, but was being handed
49
+ ticks — a marker requested at 2.0s was placed roughly 508 billion seconds down the timeline,
50
+ far past the end of any real sequence. `marker.end` had the same bug, and `list_markers` read
51
+ back nonsense as a result. ([#6](https://github.com/leancoderkavy/premiere-pro-mcp/issues/6))
52
+
53
+ - **`manage_proxies` and `get_encoder_presets` called ExtendScript methods that do not exist.**
54
+ `ProjectItem` has no `createProxy()` and `EncoderManager` has no `getFormatList()`, so both threw
55
+ every time. `manage_proxies` with `action: "create"` now queues a real proxy encode through Media
56
+ Encoder instead of reporting "Proxy creation started" for work that never happened, and
57
+ `get_encoder_presets` discovers presets by scanning the `.epr` files Adobe ships on disk, returning
58
+ each preset's path so it can be passed straight to `export_sequence`.
59
+ ([#7](https://github.com/leancoderkavy/premiere-pro-mcp/issues/7))
60
+
61
+ - **`capture_frame`, `export_frame`, and `freeze_frame` threw on every call.** `exportFramePNG`
62
+ exists only on the QE DOM sequence, not the public DOM one. These tools now go through the QE
63
+ sequence, and because QE's return value is unreliable decide success by checking that a file
64
+ actually exists on disk, falling back to a one-frame Media Encoder export. They can no longer
65
+ report success having written nothing.
66
+ ([#9](https://github.com/leancoderkavy/premiere-pro-mcp/issues/9))
67
+
68
+ - **Six tools repaired for Premiere Pro 2026** via
69
+ [#3](https://github.com/leancoderkavy/premiere-pro-mcp/pull/3): `add_audio_keyframes` (used a
70
+ nonexistent `Property.addKeyframe`, and wrote dB into a property that stores amplitude),
71
+ `color_correct` (one unsettable Lumetri property aborted the whole script and lost every other
72
+ change), `add_transition` and friends (`getVideoTransitionList()` returns empty on 2026 even
73
+ though by-name lookup works), `add_adjustment_layer` (`qeSeq.addAdjustmentLayer` was removed in
74
+ 2026), `export_sequence` (defaulted to a hardcoded macOS-only preset path), and `add_text_overlay`
75
+ (called `createCaptionTrack` with the wrong signature).
76
+
77
+ - `manage_proxies` with `action: "toggle"` reported the inverse of the state it had just set.
78
+
79
+ - The README described this repository as "a temporary fork" of itself a fork banner that rode in
80
+ with the [#1](https://github.com/leancoderkavy/premiere-pro-mcp/pull/1) merge.
81
+
82
+ ### Notes
83
+
84
+ - The frame-export and proxy-create paths are fixed against the documented API and covered by
85
+ regression tests, but have not yet been live-verified against a running Premiere Pro. If you can
86
+ test them, reports on
87
+ [#7](https://github.com/leancoderkavy/premiere-pro-mcp/issues/7) and
88
+ [#9](https://github.com/leancoderkavy/premiere-pro-mcp/issues/9) are very welcome.
89
+ - Windows users on CEP 12 may additionally need to sign the extension (`ZXPSignCmd -sign`) — see
90
+ [#2](https://github.com/leancoderkavy/premiere-pro-mcp/issues/2) for details. That is an Adobe
91
+ signature-verification requirement, not a bug in this package.
92
+
93
+ ## [1.0.0] - 2025-02-26
94
+
95
+ ### Added
96
+
97
+ - **269 tools** across **28 modules** covering nearly the entire Premiere Pro ExtendScript and QE DOM API surface
98
+ - File-based IPC bridge for reliable communication between Node.js MCP server and CEP plugin
99
+ - CEP plugin with panel UI for bridge status monitoring and configuration
100
+ - Cross-platform support (macOS and Windows)
101
+ - Two MCP resources for LLM context: `premiere-instructions` and `extendscript-reference`
102
+ - Security validation for generated scripts (blocks eval, new Function, System.callSystem)
103
+ - Automated CEP plugin installer script
104
+
105
+ #### Tool Modules
106
+
107
+ - **discovery** (10) — Project info, item listing, clip queries
108
+ - **project** (26) — Save/open, import, bins, AE comps, bars & tone, scratch disks
109
+ - **media** (16) — Proxy management, offline, frame rate override, XMP, color space
110
+ - **sequence** (11) — Create, duplicate, delete, settings, auto-reframe, unnest, captions
111
+ - **timeline** (10) — Add/remove/move/trim/split clips, properties, replace
112
+ - **effects** (8) — Apply/remove effects, color correction, LUTs, stabilization
113
+ - **transitions** (5) — Add transitions by name (QE DOM)
114
+ - **audio** (3) — Levels, keyframes, mute
115
+ - **text** (3) — Text overlays, MOGRTs
116
+ - **markers** (4) — Add/delete/update/list markers
117
+ - **tracks** (4) — Add/delete/lock/visibility
118
+ - **playhead** (6) — Position, work area, in/out points
119
+ - **metadata** (9) — XMP, project metadata, color labels, footage interpretation
120
+ - **export** (14) — Sequence export, frame capture (base64), FCP XML, AAF, OMF, encoding
121
+ - **advanced** (27) — QE DOM: ripple delete, roll/slide/slip edits, speed, reverse, frame blend
122
+ - **keyframes** (8) — Full CRUD: add, get, remove, range remove, interpolation, value at time
123
+ - **scripting** (6) — Execute arbitrary ExtendScript, expression eval, DOM inspection
124
+ - **inspection** (10) — Deep project/sequence/clip analysis, timeline gaps, media reports
125
+ - **selection** (7) — Select by name, range, color; invert; select disabled
126
+ - **clipboard** (6) — Copy effects, batch apply, replace media, blend modes
127
+ - **source-monitor** (7) — Open/close, in/out points, insert/overwrite from source
128
+ - **track-targeting** (31) — Target tracks, motion/transform properties, audio properties
129
+ - **utility** (29) — Batch rename, enable/disable, project analysis, navigation
130
+ - **health** (1) — Connectivity ping
131
+ - **workspace** (2) — Get/set workspace layouts
132
+ - **captions** (1) — Create caption tracks
133
+ - **playback** (4) — Timeline and source monitor playback control
134
+ - **project-manager** (1) — Project consolidation and transfer
package/LICENSE CHANGED
@@ -1,21 +1,21 @@
1
- MIT License
2
-
3
- Copyright (c) 2025 Premiere Pro MCP Contributors
4
-
5
- Permission is hereby granted, free of charge, to any person obtaining a copy
6
- of this software and associated documentation files (the "Software"), to deal
7
- in the Software without restriction, including without limitation the rights
8
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
- copies of the Software, and to permit persons to whom the Software is
10
- furnished to do so, subject to the following conditions:
11
-
12
- The above copyright notice and this permission notice shall be included in all
13
- copies or substantial portions of the Software.
14
-
15
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
- SOFTWARE.
1
+ MIT License
2
+
3
+ Copyright (c) 2025 Premiere Pro MCP Contributors
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.