premiere-pro-mcp 1.9.0 → 1.9.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/CHANGELOG.md CHANGED
@@ -6,6 +6,31 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/).
6
6
 
7
7
  ## [Unreleased]
8
8
 
9
+ ## [1.9.2] - 2026-08-04
10
+
11
+ ### Fixed
12
+
13
+ - Changed the CEP Premiere host declaration to a minimum-only supported version
14
+ so Adobe Developer Distribution does not reject the signed ZXP for claiming
15
+ an unsupported future maximum.
16
+ - Updated transitive URL, HTTP middleware, and IP-address parsing dependencies
17
+ to patched versions after newly disclosed security advisories.
18
+
19
+ ### Added
20
+
21
+ - Added a public privacy policy covering local media processing, optional MCP
22
+ operational telemetry, website analytics, retention, and user choices.
23
+
24
+ ## [1.9.1] - 2026-08-02
25
+
26
+ ### Security
27
+
28
+ - Added a production HTTP header baseline for the landing site, health route,
29
+ and remote MCP responses: CSP, HSTS, MIME sniffing protection, frame denial,
30
+ referrer and permissions policies, and cross-origin opener isolation.
31
+ - Restricted the browser connection policy to the application, configured
32
+ analytics endpoints, and the bounded PostHog host.
33
+
9
34
  ## [1.9.0] - 2026-08-02
10
35
 
11
36
  ### Added
package/README.md CHANGED
@@ -29,7 +29,20 @@ An [MCP (Model Context Protocol)](https://modelcontextprotocol.io) server that l
29
29
 
30
30
  The AI handles the entire workflow through 280 core tools spanning the supported ExtendScript, QE DOM, local media analysis, safe edit-planning, and connection-verification surfaces. A compatible, authenticated UXP panel adds 19 documented, capability-gated workflows without replacing the production CEP bridge.
31
31
 
32
- ### What's new in 1.9.0
32
+ ### What's new in 1.9.2
33
+
34
+ - **Adobe Marketplace compatibility:** the signed CEP connector now declares a
35
+ minimum supported Premiere version without an artificial future maximum.
36
+ - **Clear privacy disclosure:** the public site now documents local processing,
37
+ optional operational telemetry, site analytics, retention, and user choices.
38
+
39
+ ### Previous release: 1.9.1
40
+
41
+ - **Production browser hardening:** every HTTP response includes CSP, HSTS,
42
+ MIME sniffing protection, frame denial, bounded permissions, and explicit
43
+ referrer and cross-origin policies.
44
+
45
+ ### Earlier release: 1.9.0
33
46
 
34
47
  - **Assistant-first setup:** Claude Desktop users start with a validated MCPB
35
48
  bundle, while npm and manual JSON configuration stay under Advanced setup.
@@ -73,9 +86,9 @@ The AI handles the entire workflow through 280 core tools spanning the supported
73
86
 
74
87
  ### Easiest supported path: Claude Desktop
75
88
 
76
- 1. Download the current [Claude Desktop bundle (`.mcpb`)](https://github.com/leancoderkavy/premiere-pro-mcp/releases/download/v1.9.0/premiere-pro-mcp-1.9.0.mcpb).
89
+ 1. Download the current [Claude Desktop bundle (`.mcpb`)](https://github.com/leancoderkavy/premiere-pro-mcp/releases/download/v1.9.2/premiere-pro-mcp-1.9.2.mcpb).
77
90
  2. In Claude Desktop, open **Settings > Extensions > Advanced settings > Install Extension**, select the downloaded bundle, and restart Claude Desktop.
78
- 3. Download the separate [signed Premiere connector (`.zxp`)](https://github.com/leancoderkavy/premiere-pro-mcp/releases/download/v1.9.0/MCPBridgeCEP.zxp). Open it with your trusted ZXP installer. If your computer has no ZXP installer, use the npm connector installer in **Advanced setup** below.
91
+ 3. Download the separate [signed Premiere connector (`.zxp`)](https://github.com/leancoderkavy/premiere-pro-mcp/releases/download/v1.9.2/MCPBridgeCEP.zxp). Open it with your trusted ZXP installer. If your computer has no ZXP installer, use the npm connector installer in **Advanced setup** below.
79
92
  4. Restart Premiere, open a project, then open **Window > Extensions > MCP Bridge**.
80
93
  5. In Claude, enter: `Safely check my Premiere connection with verify_premiere_connection. Make no changes.`
81
94
 
@@ -299,11 +312,11 @@ From a clone of this repository:
299
312
  ```bash
300
313
  codex plugin marketplace add .
301
314
  codex plugin add premiere-pro@premiere-pro-mcp
302
- npx -y premiere-pro-mcp@1.9.0 --install-cep
315
+ npx -y premiere-pro-mcp@1.9.2 --install-cep
303
316
  ```
304
317
 
305
318
  Restart Premiere Pro and start a new Codex session after installation. The plugin
306
- launches `premiere-pro-mcp@1.9.0` through `npx`; the separate CEP installation is
319
+ launches `premiere-pro-mcp@1.9.2` through `npx`; the separate CEP installation is
307
320
  required because the MCP server communicates with the running Premiere host through
308
321
  the local bridge.
309
322
 
@@ -323,7 +336,7 @@ For Claude Code, add this repository as a marketplace and install the plugin:
323
336
  Then install the Premiere bridge and start a new Claude Code session:
324
337
 
325
338
  ```bash
326
- npx -y premiere-pro-mcp@1.9.0 --install-cep
339
+ npx -y premiere-pro-mcp@1.9.2 --install-cep
327
340
  ```
328
341
 
329
342
  The Claude Code package lives in
Binary file
@@ -1,12 +1,12 @@
1
1
  <?xml version="1.0" encoding="UTF-8"?>
2
- <ExtensionManifest Version="7.0" ExtensionBundleId="com.mcp.premiere.bridge" ExtensionBundleVersion="1.9.0" ExtensionBundleName="MCP Bridge">
2
+ <ExtensionManifest Version="7.0" ExtensionBundleId="com.mcp.premiere.bridge" ExtensionBundleVersion="1.9.2" ExtensionBundleName="MCP Bridge">
3
3
  <ExtensionList>
4
- <Extension Id="com.mcp.premiere.bridge.panel" Version="1.9.0"/>
5
- <Extension Id="com.mcp.premiere.bridge.headless" Version="1.9.0"/>
4
+ <Extension Id="com.mcp.premiere.bridge.panel" Version="1.9.2"/>
5
+ <Extension Id="com.mcp.premiere.bridge.headless" Version="1.9.2"/>
6
6
  </ExtensionList>
7
7
  <ExecutionEnvironment>
8
8
  <HostList>
9
- <Host Name="PPRO" Version="[14.0,99.9]"/>
9
+ <Host Name="PPRO" Version="14.0"/>
10
10
  </HostList>
11
11
  <LocaleList>
12
12
  <Locale Code="All"/>
@@ -81,7 +81,7 @@
81
81
  <section class="update-section" aria-live="polite">
82
82
  <div class="update-copy">
83
83
  <span class="section-label">Connector updates</span>
84
- <strong id="updateTitle">Version 1.9.0</strong>
84
+ <strong id="updateTitle">Version 1.9.2</strong>
85
85
  <span id="updateDetail">Checking for updates…</span>
86
86
  </div>
87
87
  <button id="btnUpdate" class="button button-update" onclick="handleUpdateClick()" type="button" disabled>
@@ -7,7 +7,7 @@
7
7
  })(this, function () {
8
8
  "use strict";
9
9
 
10
- var CURRENT_VERSION = "1.9.0";
10
+ var CURRENT_VERSION = "1.9.2";
11
11
  var LATEST_RELEASE_API =
12
12
  "https://api.github.com/repos/leancoderkavy/premiere-pro-mcp/releases/latest";
13
13
  var RELEASES_URL =
@@ -0,0 +1,12 @@
1
+ import type http from "node:http";
2
+ export declare const HTTP_SECURITY_HEADERS: Readonly<{
3
+ "Content-Security-Policy": string;
4
+ "Strict-Transport-Security": "max-age=31536000; includeSubDomains";
5
+ "X-Content-Type-Options": "nosniff";
6
+ "X-Frame-Options": "DENY";
7
+ "Referrer-Policy": "strict-origin-when-cross-origin";
8
+ "Permissions-Policy": "camera=(), microphone=(), geolocation=()";
9
+ "Cross-Origin-Opener-Policy": "same-origin";
10
+ }>;
11
+ export declare function applyHttpSecurityHeaders(res: http.ServerResponse): void;
12
+ //# sourceMappingURL=http-security.d.ts.map
@@ -0,0 +1,28 @@
1
+ export const HTTP_SECURITY_HEADERS = Object.freeze({
2
+ "Content-Security-Policy": [
3
+ "default-src 'self'",
4
+ "base-uri 'self'",
5
+ "frame-ancestors 'none'",
6
+ "object-src 'none'",
7
+ "form-action 'self'",
8
+ "img-src 'self' data: https:",
9
+ "media-src 'self'",
10
+ "font-src 'self'",
11
+ "style-src 'self' 'unsafe-inline'",
12
+ "script-src 'self' 'unsafe-inline' https://www.googletagmanager.com",
13
+ "connect-src 'self' https://www.google-analytics.com https://www.googletagmanager.com https://us.i.posthog.com https://*.posthog.com",
14
+ "upgrade-insecure-requests",
15
+ ].join("; "),
16
+ "Strict-Transport-Security": "max-age=31536000; includeSubDomains",
17
+ "X-Content-Type-Options": "nosniff",
18
+ "X-Frame-Options": "DENY",
19
+ "Referrer-Policy": "strict-origin-when-cross-origin",
20
+ "Permissions-Policy": "camera=(), microphone=(), geolocation=()",
21
+ "Cross-Origin-Opener-Policy": "same-origin",
22
+ });
23
+ export function applyHttpSecurityHeaders(res) {
24
+ for (const [name, value] of Object.entries(HTTP_SECURITY_HEADERS)) {
25
+ res.setHeader(name, value);
26
+ }
27
+ }
28
+ //# sourceMappingURL=http-security.js.map
@@ -29,6 +29,7 @@ import { StreamableHTTPServerTransport } from "@modelcontextprotocol/sdk/server/
29
29
  import { createServer } from "./server.js";
30
30
  import { cleanupTempDir, getTempDir } from "./bridge/file-bridge.js";
31
31
  import { getTelemetry } from "./telemetry.js";
32
+ import { applyHttpSecurityHeaders } from "./http-security.js";
32
33
  const __dirname = path.dirname(fileURLToPath(import.meta.url));
33
34
  const LANDING_DIR = path.resolve(__dirname, "../landing-dist");
34
35
  const MIME = {
@@ -106,6 +107,7 @@ console.error(`[premiere-pro-mcp] Temp directory: ${tempDir}`);
106
107
  cleanupTempDir(bridgeOptions);
107
108
  // Each request gets its own transport+server instance (stateless per-request model)
108
109
  const httpServer = http.createServer(async (req, res) => {
110
+ applyHttpSecurityHeaders(res);
109
111
  // Health check
110
112
  if (req.method === "GET" && req.url === "/health") {
111
113
  res.writeHead(200, { "Content-Type": "application/json" });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "premiere-pro-mcp",
3
- "version": "1.9.0",
3
+ "version": "1.9.2",
4
4
  "description": "Adobe Premiere Pro MCP server with 280 core AI video editing tools and a capability-aware UXP bridge for supported Premiere workflows.",
5
5
  "main": "dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -97,6 +97,9 @@
97
97
  },
98
98
  "overrides": {
99
99
  "@hono/node-server": "^2.0.5",
100
- "body-parser": "^2.3.0"
100
+ "body-parser": "^2.3.0",
101
+ "fast-uri": "^3.1.5",
102
+ "hono": "^4.12.34",
103
+ "ip-address": "^10.4.0"
101
104
  }
102
105
  }
@@ -2,7 +2,7 @@
2
2
  "manifestVersion": 5,
3
3
  "id": "com.ppmcp.premiere.uxp",
4
4
  "name": "Premiere Pro MCP Bridge",
5
- "version": "1.9.0",
5
+ "version": "1.9.2",
6
6
  "main": "index.html",
7
7
  "host": { "app": "premierepro", "minVersion": "25.6.0" },
8
8
  "entrypoints": [