@synthetic-ai/premiere-mcp 2.3.4 → 2.3.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 (3) hide show
  1. package/CHANGELOG.md +186 -180
  2. package/dist/license.js +6 -2
  3. package/package.json +68 -68
package/CHANGELOG.md CHANGED
@@ -1,180 +1,186 @@
1
- # Changelog
2
-
3
- ## [v2.3.4] — The "Reload panel" button no longer reloads in place
4
-
5
- v2.3.3's `stopBridge()`-before-`location.reload()` fix wasn't enough —
6
- confirmed live, twice, on a clean install + full Premiere Pro restart, that
7
- `location.reload()` doesn't reliably re-run `init()` in this CEP host. Root
8
- cause found: each reload leaks the old page's `CEPHtmlEngine` subprocesses
9
- instead of terminating them — 37 orphaned processes were found accumulated
10
- from repeated testing today, versus ~6 for one cleanly opened panel. Rather
11
- than keep guessing at ways to make an in-place reload work, the ⟳ button no
12
- longer calls `location.reload()` at all — it stops the bridge and tells the
13
- user to restart Premiere Pro, the one path confirmed to always leave the
14
- panel correct.
15
-
16
- ## [v2.3.3] — Fixed the "Reload panel" button
17
-
18
- It called a bare `location.reload()`, which could leave the old poll
19
- interval running underneath the fresh page and race with `init()`
20
- re-running — the panel could get stuck showing the raw HTML placeholder
21
- badge, an empty temp dir field, and a spurious "Please set a temp
22
- directory" error, all while the actually-installed files were fine. Now
23
- stops the bridge (clearing the interval) before reloading, same fix class
24
- as Photoshop MCP's `wss.close()`-before-reload.
25
-
26
- ## [v2.3.2] — Reverted the license.json USER_DATA change
27
-
28
- v2.3.1 (panel side, unreleased separately from the npm tag) moved
29
- `getLicensePath()` from `SystemPath.EXTENSION` to `SystemPath.USER_DATA` to
30
- fix license saves failing with EPERM under a system-wide install. Live
31
- testing found a deeper issue: the CEP panel's embedded Node
32
- `fs.writeFileSync` can report success without the write actually landing on
33
- disk on this Premiere Pro version — confirmed by writing the target file
34
- directly and watching Premiere's own "successful" save leave it untouched.
35
- Reverted back to `SystemPath.EXTENSION` (pre-fix behavior) until this CEP
36
- Node.js reliability issue is understood; the original EPERM bug is still
37
- open, to be investigated outside production.
38
-
39
- ## [v2.3.1] — macOS example paths in tool descriptions
40
-
41
- `create_sequence`'s description and example calls only showed Windows
42
- `C:\Program Files\...` preset paths, even though the actual runtime preset
43
- lookup already searched macOS `/Applications/...` locations too — now the
44
- description and both examples (Windows + macOS) match what the code
45
- actually does, so the LLM doesn't suggest a Windows-only path to a Mac
46
- user. No runtime/behavior change.
47
-
48
- ## [v2.2.0] — `--doctor` diagnostic command
49
-
50
- `premiere-pro-mcp --doctor` runs a standalone setup check — no MCP client or
51
- Premiere Pro needs to be running: Node version, Premiere Pro install
52
- detected on disk, license key present + live-validated against
53
- synthetic.com.ar, and the CEP bridge temp directory is writable. Prints a
54
- pass/warn/fail summary and exits 1 if anything failed, so it's scriptable.
55
- Fixed a real crash found while building this: forcing `process.exit()`
56
- right after the live license check's `fetch()` call could crash with a
57
- libuv assertion on Windows (`UV_HANDLE_CLOSING`, src/win/async.c) — now
58
- sets `process.exitCode` and lets the event loop drain naturally instead.
59
-
60
- ## [v2.1.0] — CRITICAL: correct the version line, ship everything since 2.0.0
61
-
62
- `@synthetic-ai/premiere-mcp@2.0.0` (published 2026-06-10, the npm rename
63
- from unscoped `premiere-pro-mcp`) has been the only version ever actually
64
- published to the registry — `npm view` confirms `dist-tags.latest` and the
65
- full `versions` list both show only `2.0.0`, right up until this release.
66
- Six commits after the rename (v1.1.2 through v1.1.8, including v1.1.7's
67
- **server-side license enforcement**) bumped `package.json`'s version
68
- *backward* into a stale pre-rename 1.1.x line instead of continuing from
69
- 2.0.0, and were committed/tested but never `npm publish`ed under that
70
- wrong version number. Net effect: every customer running
71
- `npx @synthetic-ai/premiere-mcp` has been getting the unmodified 2.0.0
72
- tarball — with **zero license checking on any of the 437 tools** — for
73
- over three months, discovered 2026-09-23 while shipping the macOS preset
74
- fix below. This release corrects the version line (2.0.0 → 2.1.0, a real
75
- semver increase) and ships every accumulated fix at once:
76
- - License enforcement (was v1.1.7): every tool except `ping` /
77
- `get_version_info` now validates `PREMIERE_PRO_MCP_LICENSE`.
78
- - In-panel auto-update + local license storage (was v1.1.2).
79
- - ExtendScript obfuscation breaking `evalFile()` (was v1.1.4).
80
- - Bridge could wedge forever after a single failed command read (was v1.1.5).
81
- - macOS default sequence-preset paths (was v1.1.8, see below).
82
-
83
- ## [v1.1.8] — macOS default preset paths (superseded by v2.1.0, never actually reached "latest" — see above)
84
-
85
- `create_sequence`, `create_sequence_from_clip`, and `get_default_sequence_presets`
86
- only ever probed Windows install paths for the default `.sqpreset` (and, for
87
- `create_sequence`, only a single hardcoded PP 2026 path with no probing at
88
- all). All three now check both Windows and macOS locations across PP
89
- 2026/2025/2024/CC 2023, matching the pattern `export_sequence` already used
90
- for AME presets. When nothing is found, the tools return a clear error
91
- asking for an explicit `preset_path` instead of silently using a
92
- definitely-wrong fallback. Found via a site-wide macOS-compatibility audit
93
- of every Synthetic product (2026-09-23) — this was the one confirmed gap in
94
- an otherwise genuinely cross-platform architecture (no launch step to
95
- break, unlike ae-mcp). Unverified on real macOS hardware — no Mac available
96
- to test against yet.
97
-
98
- ## [v1.1.7] — License enforcement
99
-
100
- The MCP server itself (all 437 tools) never actually validated
101
- `PREMIERE_PRO_MCP_LICENSE` — the CEP panel had a license field for its own
102
- auto-update, but the server side was wide open. Added the same
103
- `checkLicense()` gate ae-mcp and photoshop-mcp already have: every tool
104
- except `ping` / `get_version_info` now requires a valid license, validated
105
- against `https://synthetic.com.ar/api/v1/license/validate` and cached for an
106
- hour.
107
-
108
- ---
109
-
110
- All notable changes to this MCP server. Every fix below was discovered via
111
- **static audit + live runtime testing against Premiere Pro 2026.2.2 on
112
- Spanish-localized Windows**.
113
-
114
- The audit started at **31/100 sellability score** (22% green tools) and
115
- finished at **~78/100** (~75% green) after the rounds below.
116
-
117
- ---
118
-
119
- ## [v1.2.0] — PP 2026 compatibility + locale resilience
120
-
121
- ### Round 6 — Live runtime validation
122
- - `6f20892` capture_frame: honest error for PP 2026 host limitation
123
- - `8152021` bridge: sanitize NaN and Infinity to null
124
- - `a74ce33` Round 5: 8 more fixes from full smoke test (137 tools tested)
125
- - `45fdaba` track-targeting: locale-resilient set_clip_position/scale/rotation
126
- - `f9589cb` premiere.jsx: locale-resilient fadeIn/fadeOut/crossFadeClips
127
- - `29e941d` graceful fallbacks for setSpeed signature + track volume
128
- - `0533162` Live-test fixes: setSpeed signature, locale prop names, audio clip volume
129
- - `084ef49` Live-test fixes: set_clip_opacity locale, color_correct Lumetri name
130
-
131
- ### Round 5 — Bridge JSON sanitization
132
- - `f3d83d7` Fix bridge JSON: ExtendScript ignores replacer; sanitize tree pre-stringify
133
-
134
- ### Round 4 — premiere.jsx loading (single highest-impact fix)
135
- - `366f325` Fix premiere.jsx SyntaxError that broke ALL JSX helpers
136
- - **1-char fix, ~30+ tools unblocked**
137
- - `premiere.jsx` (22k lines) had `package:` as bare property name at line
138
- 22006. ExtendScript is strict ES3 where `package` is reserved → entire
139
- file fails to parse → every JSX-helper-backed tool returns
140
- `ReferenceError: <fn> is not a function`. Quoting fixes everything.
141
- - `b12a0d8` Round 4: bridge JSON-parse failure + locale-resilient transition lookup
142
-
143
- ### Round 3 — Concrete code bugs from re-audit
144
- - `21bf821` Round 3 part 2: fix remaining 9 files
145
- - `e4534d5` Round 3: fix 32 concrete code bugs from re-audit
146
- - ticks/Time correctness (markers, source-monitor, scripting, clipboard, audio)
147
- - property-vs-method (media.check_offline_media)
148
- - QE-only methods routed correctly (timeline.move_clip/speed_change, transitions)
149
- - missing `app.enableQE()` guards
150
- - nested Lumetri prop lookup via `__findProp`
151
-
152
- ### Round 2 — Locale-resilient helpers
153
- - `bdaebaa` Round 2: guard QE multicam enumeration and proxy detach
154
- - `48d3648` Round 2 part 2: fix remaining 8 files
155
- - `2b718b3` Round 2 part 1: locale-resilient helpers + fix 13 tool files
156
- - Added `__findIntrinsic(clip, key)` with matchName-first lookup
157
- - Added `__findComponent`, `__findProp`, `__readMaybe`, `__findTransition`
158
-
159
- ### Round 1 — Property-vs-method bugs
160
- - `ffe6931` Fix 21 red tools: property-vs-method bugs, missing APIs, stub handlers
161
- - `35ecbfa` Fix PP 2026 compatibility: sequence creation, tracks, audio, effects, export
162
-
163
- ---
164
-
165
- ## Validated tool inventory
166
-
167
- ### ✅ 66 tools confirmed working in runtime (PP 2026.2.2 es-ES)
168
- Inspection, transform, audio/video FX, timeline editing, selection, markers,
169
- sequence ops, project/bins, captions, source monitor, track management,
170
- metadata, scripting, export. Full list in [README.md](README.md).
171
-
172
- ### ⚠️ Honest errors (PP 2026 host limitations, not bugs)
173
- - `set_track_volume`, `speed_change`, `capture_frame`, Lumetri-when-not-applied
174
- - All return clear errors with the recommended UI workaround
175
-
176
- ### Validated against
177
- - Premiere Pro 2026.2.2 on Windows
178
- - Spanish (es-ES) locale — names like "Opacidad", "Movimiento", "Escala",
179
- "Posición", "Disolvencia cruzada" all handled
180
- - 15-item test project with multi-track timeline, transitions, fades, Lumetri
1
+ # Changelog
2
+
3
+ ## [v2.3.6] — License check no longer locks the MCP out for an hour
4
+
5
+ A failed license check (slow server answer, hiccup) is now remembered for 30 seconds instead of an hour, and the validation
6
+ timeout went from 5 s to 15 s. Before, one slow answer left every tool answering "License server unreachable" until the MCP
7
+ was restarted, even after the server was back.
8
+
9
+ ## [v2.3.4] — The "Reload panel" button no longer reloads in place
10
+
11
+ v2.3.3's `stopBridge()`-before-`location.reload()` fix wasn't enough —
12
+ confirmed live, twice, on a clean install + full Premiere Pro restart, that
13
+ `location.reload()` doesn't reliably re-run `init()` in this CEP host. Root
14
+ cause found: each reload leaks the old page's `CEPHtmlEngine` subprocesses
15
+ instead of terminating them — 37 orphaned processes were found accumulated
16
+ from repeated testing today, versus ~6 for one cleanly opened panel. Rather
17
+ than keep guessing at ways to make an in-place reload work, the ⟳ button no
18
+ longer calls `location.reload()` at all — it stops the bridge and tells the
19
+ user to restart Premiere Pro, the one path confirmed to always leave the
20
+ panel correct.
21
+
22
+ ## [v2.3.3] — Fixed the "Reload panel" button
23
+
24
+ It called a bare `location.reload()`, which could leave the old poll
25
+ interval running underneath the fresh page and race with `init()`
26
+ re-running — the panel could get stuck showing the raw HTML placeholder
27
+ badge, an empty temp dir field, and a spurious "Please set a temp
28
+ directory" error, all while the actually-installed files were fine. Now
29
+ stops the bridge (clearing the interval) before reloading, same fix class
30
+ as Photoshop MCP's `wss.close()`-before-reload.
31
+
32
+ ## [v2.3.2] — Reverted the license.json USER_DATA change
33
+
34
+ v2.3.1 (panel side, unreleased separately from the npm tag) moved
35
+ `getLicensePath()` from `SystemPath.EXTENSION` to `SystemPath.USER_DATA` to
36
+ fix license saves failing with EPERM under a system-wide install. Live
37
+ testing found a deeper issue: the CEP panel's embedded Node
38
+ `fs.writeFileSync` can report success without the write actually landing on
39
+ disk on this Premiere Pro version — confirmed by writing the target file
40
+ directly and watching Premiere's own "successful" save leave it untouched.
41
+ Reverted back to `SystemPath.EXTENSION` (pre-fix behavior) until this CEP
42
+ Node.js reliability issue is understood; the original EPERM bug is still
43
+ open, to be investigated outside production.
44
+
45
+ ## [v2.3.1] — macOS example paths in tool descriptions
46
+
47
+ `create_sequence`'s description and example calls only showed Windows
48
+ `C:\Program Files\...` preset paths, even though the actual runtime preset
49
+ lookup already searched macOS `/Applications/...` locations too — now the
50
+ description and both examples (Windows + macOS) match what the code
51
+ actually does, so the LLM doesn't suggest a Windows-only path to a Mac
52
+ user. No runtime/behavior change.
53
+
54
+ ## [v2.2.0] — `--doctor` diagnostic command
55
+
56
+ `premiere-pro-mcp --doctor` runs a standalone setup check — no MCP client or
57
+ Premiere Pro needs to be running: Node version, Premiere Pro install
58
+ detected on disk, license key present + live-validated against
59
+ synthetic.com.ar, and the CEP bridge temp directory is writable. Prints a
60
+ pass/warn/fail summary and exits 1 if anything failed, so it's scriptable.
61
+ Fixed a real crash found while building this: forcing `process.exit()`
62
+ right after the live license check's `fetch()` call could crash with a
63
+ libuv assertion on Windows (`UV_HANDLE_CLOSING`, src/win/async.c) — now
64
+ sets `process.exitCode` and lets the event loop drain naturally instead.
65
+
66
+ ## [v2.1.0] — CRITICAL: correct the version line, ship everything since 2.0.0
67
+
68
+ `@synthetic-ai/premiere-mcp@2.0.0` (published 2026-06-10, the npm rename
69
+ from unscoped `premiere-pro-mcp`) has been the only version ever actually
70
+ published to the registry — `npm view` confirms `dist-tags.latest` and the
71
+ full `versions` list both show only `2.0.0`, right up until this release.
72
+ Six commits after the rename (v1.1.2 through v1.1.8, including v1.1.7's
73
+ **server-side license enforcement**) bumped `package.json`'s version
74
+ *backward* into a stale pre-rename 1.1.x line instead of continuing from
75
+ 2.0.0, and were committed/tested but never `npm publish`ed under that
76
+ wrong version number. Net effect: every customer running
77
+ `npx @synthetic-ai/premiere-mcp` has been getting the unmodified 2.0.0
78
+ tarball — with **zero license checking on any of the 437 tools** — for
79
+ over three months, discovered 2026-09-23 while shipping the macOS preset
80
+ fix below. This release corrects the version line (2.0.0 → 2.1.0, a real
81
+ semver increase) and ships every accumulated fix at once:
82
+ - License enforcement (was v1.1.7): every tool except `ping` /
83
+ `get_version_info` now validates `PREMIERE_PRO_MCP_LICENSE`.
84
+ - In-panel auto-update + local license storage (was v1.1.2).
85
+ - ExtendScript obfuscation breaking `evalFile()` (was v1.1.4).
86
+ - Bridge could wedge forever after a single failed command read (was v1.1.5).
87
+ - macOS default sequence-preset paths (was v1.1.8, see below).
88
+
89
+ ## [v1.1.8] — macOS default preset paths (superseded by v2.1.0, never actually reached "latest" — see above)
90
+
91
+ `create_sequence`, `create_sequence_from_clip`, and `get_default_sequence_presets`
92
+ only ever probed Windows install paths for the default `.sqpreset` (and, for
93
+ `create_sequence`, only a single hardcoded PP 2026 path with no probing at
94
+ all). All three now check both Windows and macOS locations across PP
95
+ 2026/2025/2024/CC 2023, matching the pattern `export_sequence` already used
96
+ for AME presets. When nothing is found, the tools return a clear error
97
+ asking for an explicit `preset_path` instead of silently using a
98
+ definitely-wrong fallback. Found via a site-wide macOS-compatibility audit
99
+ of every Synthetic product (2026-09-23) — this was the one confirmed gap in
100
+ an otherwise genuinely cross-platform architecture (no launch step to
101
+ break, unlike ae-mcp). Unverified on real macOS hardware — no Mac available
102
+ to test against yet.
103
+
104
+ ## [v1.1.7] — License enforcement
105
+
106
+ The MCP server itself (all 437 tools) never actually validated
107
+ `PREMIERE_PRO_MCP_LICENSE` — the CEP panel had a license field for its own
108
+ auto-update, but the server side was wide open. Added the same
109
+ `checkLicense()` gate ae-mcp and photoshop-mcp already have: every tool
110
+ except `ping` / `get_version_info` now requires a valid license, validated
111
+ against `https://synthetic.com.ar/api/v1/license/validate` and cached for an
112
+ hour.
113
+
114
+ ---
115
+
116
+ All notable changes to this MCP server. Every fix below was discovered via
117
+ **static audit + live runtime testing against Premiere Pro 2026.2.2 on
118
+ Spanish-localized Windows**.
119
+
120
+ The audit started at **31/100 sellability score** (22% green tools) and
121
+ finished at **~78/100** (~75% green) after the rounds below.
122
+
123
+ ---
124
+
125
+ ## [v1.2.0] — PP 2026 compatibility + locale resilience
126
+
127
+ ### Round 6 — Live runtime validation
128
+ - `6f20892` capture_frame: honest error for PP 2026 host limitation
129
+ - `8152021` bridge: sanitize NaN and Infinity to null
130
+ - `a74ce33` Round 5: 8 more fixes from full smoke test (137 tools tested)
131
+ - `45fdaba` track-targeting: locale-resilient set_clip_position/scale/rotation
132
+ - `f9589cb` premiere.jsx: locale-resilient fadeIn/fadeOut/crossFadeClips
133
+ - `29e941d` graceful fallbacks for setSpeed signature + track volume
134
+ - `0533162` Live-test fixes: setSpeed signature, locale prop names, audio clip volume
135
+ - `084ef49` Live-test fixes: set_clip_opacity locale, color_correct Lumetri name
136
+
137
+ ### Round 5 — Bridge JSON sanitization
138
+ - `f3d83d7` Fix bridge JSON: ExtendScript ignores replacer; sanitize tree pre-stringify
139
+
140
+ ### Round 4 — premiere.jsx loading (single highest-impact fix)
141
+ - `366f325` Fix premiere.jsx SyntaxError that broke ALL JSX helpers
142
+ - **1-char fix, ~30+ tools unblocked**
143
+ - `premiere.jsx` (22k lines) had `package:` as bare property name at line
144
+ 22006. ExtendScript is strict ES3 where `package` is reserved → entire
145
+ file fails to parse → every JSX-helper-backed tool returns
146
+ `ReferenceError: <fn> is not a function`. Quoting fixes everything.
147
+ - `b12a0d8` Round 4: bridge JSON-parse failure + locale-resilient transition lookup
148
+
149
+ ### Round 3 — Concrete code bugs from re-audit
150
+ - `21bf821` Round 3 part 2: fix remaining 9 files
151
+ - `e4534d5` Round 3: fix 32 concrete code bugs from re-audit
152
+ - ticks/Time correctness (markers, source-monitor, scripting, clipboard, audio)
153
+ - property-vs-method (media.check_offline_media)
154
+ - QE-only methods routed correctly (timeline.move_clip/speed_change, transitions)
155
+ - missing `app.enableQE()` guards
156
+ - nested Lumetri prop lookup via `__findProp`
157
+
158
+ ### Round 2 — Locale-resilient helpers
159
+ - `bdaebaa` Round 2: guard QE multicam enumeration and proxy detach
160
+ - `48d3648` Round 2 part 2: fix remaining 8 files
161
+ - `2b718b3` Round 2 part 1: locale-resilient helpers + fix 13 tool files
162
+ - Added `__findIntrinsic(clip, key)` with matchName-first lookup
163
+ - Added `__findComponent`, `__findProp`, `__readMaybe`, `__findTransition`
164
+
165
+ ### Round 1 — Property-vs-method bugs
166
+ - `ffe6931` Fix 21 red tools: property-vs-method bugs, missing APIs, stub handlers
167
+ - `35ecbfa` Fix PP 2026 compatibility: sequence creation, tracks, audio, effects, export
168
+
169
+ ---
170
+
171
+ ## Validated tool inventory
172
+
173
+ ### ✅ 66 tools confirmed working in runtime (PP 2026.2.2 es-ES)
174
+ Inspection, transform, audio/video FX, timeline editing, selection, markers,
175
+ sequence ops, project/bins, captions, source monitor, track management,
176
+ metadata, scripting, export. Full list in [README.md](README.md).
177
+
178
+ ### ⚠️ Honest errors (PP 2026 host limitations, not bugs)
179
+ - `set_track_volume`, `speed_change`, `capture_frame`, Lumetri-when-not-applied
180
+ - All return clear errors with the recommended UI workaround
181
+
182
+ ### Validated against
183
+ - Premiere Pro 2026.2.2 on Windows
184
+ - Spanish (es-ES) locale — names like "Opacidad", "Movimiento", "Escala",
185
+ "Posición", "Disolvencia cruzada" all handled
186
+ - 15-item test project with multi-track timeline, transitions, fades, Lumetri
package/dist/license.js CHANGED
@@ -11,6 +11,10 @@ import { t } from "./i18n.js";
11
11
  const LICENSE_KEY = process.env.PREMIERE_PRO_MCP_LICENSE;
12
12
  const LICENSE_VALIDATION_URL = "https://synthetic.com.ar/api/v1/license/validate";
13
13
  const LICENSE_CACHE_TTL_MS = 60 * 60 * 1000; // 1 hour
14
+ // A FAILED check (timeout, server error, invalid) is only remembered briefly: caching it for an hour made one slow
15
+ // answer lock the MCP out until restart (2-oct-2026: server took ~5 s, the 5 s timeout fired, and every tool kept
16
+ // answering "License server unreachable" for an hour even after the server was fast again).
17
+ const LICENSE_FAIL_TTL_MS = 30 * 1000;
14
18
  // Device identity (for the 2-device license cap) — shared across all
15
19
  // Synthetic MCP packages on purpose: one physical machine should count as
16
20
  // ONE device against the cap, not one per product installed on it. See
@@ -47,7 +51,7 @@ let cache = null;
47
51
  async function postJson(url, body) {
48
52
  try {
49
53
  const controller = new AbortController();
50
- const timeout = setTimeout(() => controller.abort(), 5000);
54
+ const timeout = setTimeout(() => controller.abort(), 15000);
51
55
  const res = await fetch(url, {
52
56
  method: "POST",
53
57
  headers: { "Content-Type": "application/json" },
@@ -62,7 +66,7 @@ async function postJson(url, body) {
62
66
  }
63
67
  }
64
68
  export async function checkLicense() {
65
- if (cache && Date.now() - cache.checkedAt < LICENSE_CACHE_TTL_MS) {
69
+ if (cache && Date.now() - cache.checkedAt < (cache.valid ? LICENSE_CACHE_TTL_MS : LICENSE_FAIL_TTL_MS)) {
66
70
  return cache;
67
71
  }
68
72
  if (!LICENSE_KEY) {
package/package.json CHANGED
@@ -1,68 +1,68 @@
1
- {
2
- "name": "@synthetic-ai/premiere-mcp",
3
- "version": "2.3.4",
4
- "description": "MCP server for controlling Adobe Premiere Pro via CEP/ExtendScript \u00e2\u20ac\u201d 437 tools for AI-driven video editing",
5
- "main": "dist/index.js",
6
- "type": "module",
7
- "bin": {
8
- "premiere-mcp": "dist/index.js"
9
- },
10
- "files": [
11
- "dist/**/*.js",
12
- "dist/**/*.d.ts",
13
- "i18n",
14
- "cep-plugin",
15
- "scripts",
16
- "README.md",
17
- "LICENSE",
18
- "CHANGELOG.md"
19
- ],
20
- "scripts": {
21
- "build": "tsc",
22
- "dev": "tsc --watch",
23
- "start": "node dist/index.js",
24
- "start:http": "node dist/http-server.js",
25
- "test": "vitest run",
26
- "test:watch": "vitest",
27
- "test:coverage": "vitest run --coverage",
28
- "install-cep": "bash scripts/install-cep.sh",
29
- "sync-i18n": "node scripts/sync-i18n.mjs"
30
- },
31
- "repository": {
32
- "type": "git",
33
- "url": "git+https://github.com/matiasEltrece/premiere-pro-mcp.git"
34
- },
35
- "homepage": "https://synthetic.com.ar",
36
- "bugs": {
37
- "url": "https://synthetic.com.ar"
38
- },
39
- "author": "Synthetic",
40
- "keywords": [
41
- "mcp",
42
- "model-context-protocol",
43
- "adobe",
44
- "premiere-pro",
45
- "video-editing",
46
- "ai",
47
- "extendscript",
48
- "cep",
49
- "claude",
50
- "windsurf",
51
- "cursor",
52
- "automation"
53
- ],
54
- "license": "MIT",
55
- "engines": {
56
- "node": ">=18.0.0"
57
- },
58
- "dependencies": {
59
- "@modelcontextprotocol/sdk": "^1.12.1",
60
- "zod": "^3.23.0"
61
- },
62
- "devDependencies": {
63
- "@types/node": "^22.10.0",
64
- "javascript-obfuscator": "^4.2.2",
65
- "typescript": "^5.7.0",
66
- "vitest": "^4.0.18"
67
- }
68
- }
1
+ {
2
+ "name": "@synthetic-ai/premiere-mcp",
3
+ "version": "2.3.6",
4
+ "description": "MCP server for controlling Adobe Premiere Pro via CEP/ExtendScript — 437 tools for AI-driven video editing",
5
+ "main": "dist/index.js",
6
+ "type": "module",
7
+ "bin": {
8
+ "premiere-mcp": "dist/index.js"
9
+ },
10
+ "files": [
11
+ "dist/**/*.js",
12
+ "dist/**/*.d.ts",
13
+ "i18n",
14
+ "cep-plugin",
15
+ "scripts",
16
+ "README.md",
17
+ "LICENSE",
18
+ "CHANGELOG.md"
19
+ ],
20
+ "scripts": {
21
+ "build": "tsc",
22
+ "dev": "tsc --watch",
23
+ "start": "node dist/index.js",
24
+ "start:http": "node dist/http-server.js",
25
+ "test": "vitest run",
26
+ "test:watch": "vitest",
27
+ "test:coverage": "vitest run --coverage",
28
+ "install-cep": "bash scripts/install-cep.sh",
29
+ "sync-i18n": "node scripts/sync-i18n.mjs"
30
+ },
31
+ "repository": {
32
+ "type": "git",
33
+ "url": "git+https://github.com/SyntheticArtOk/premiere-pro-mcp.git"
34
+ },
35
+ "homepage": "https://synthetic.com.ar",
36
+ "bugs": {
37
+ "url": "https://synthetic.com.ar"
38
+ },
39
+ "author": "Synthetic",
40
+ "keywords": [
41
+ "mcp",
42
+ "model-context-protocol",
43
+ "adobe",
44
+ "premiere-pro",
45
+ "video-editing",
46
+ "ai",
47
+ "extendscript",
48
+ "cep",
49
+ "claude",
50
+ "windsurf",
51
+ "cursor",
52
+ "automation"
53
+ ],
54
+ "license": "MIT",
55
+ "engines": {
56
+ "node": ">=18.0.0"
57
+ },
58
+ "dependencies": {
59
+ "@modelcontextprotocol/sdk": "^1.12.1",
60
+ "zod": "^3.23.0"
61
+ },
62
+ "devDependencies": {
63
+ "@types/node": "^22.10.0",
64
+ "javascript-obfuscator": "^4.2.2",
65
+ "typescript": "^5.7.0",
66
+ "vitest": "^4.0.18"
67
+ }
68
+ }