davinci-resolve-mcp 2.212.3 → 2.212.4

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
@@ -2,6 +2,45 @@
2
2
 
3
3
  Release history for the DaVinci Resolve MCP Server. The latest release is summarized in the root README; older entries live here to keep the README focused.
4
4
 
5
+ ## What's New in v2.212.4 — both dependency manifests move together again
6
+
7
+ ### Changed
8
+
9
+ - **The root `package.json` had lagged `resolve-advanced/package.json` since
10
+ July.** The advanced manifest was brought to zero advisories on 2026-08-30;
11
+ the root one still carried the SDK at 1.27, adm-zip 0.5, sharp 0.33, zod 3
12
+ and uuid 9, so `npm audit` on the root read nine advisories (five high)
13
+ while the advanced package read one. Both manifests now agree:
14
+ `@modelcontextprotocol/sdk` 1.30, `fast-xml-parser` 5.11, `adm-zip` 0.6,
15
+ `sharp` 0.35, `zod` 4, `js-yaml` 4.3, `pg` 8.23, `better-sqlite3` held on
16
+ the 11.x line. Contributed in #193 by @federicosada-pixel.
17
+ - **`uuid` is gone from the root manifest.** Nothing under `bin/`, `src/` or
18
+ `scripts/` imports it — the code uses `crypto.randomUUID` — so rather than
19
+ carry the bump to 14.x it was removed on landing.
20
+ - **Python floor for the MCP SDK is now `mcp[cli]>=1.30,<2`** in
21
+ `requirements.txt` and the installer; the `<2` pin stays because the 2.x
22
+ SDK dropped `mcp.server.fastmcp`. `pyaaf2` floor moves to 1.7.1.
23
+
24
+ ### What was checked
25
+
26
+ - **zod 3 → 4 is a major bump the advanced server takes directly.** Its two
27
+ single-argument `z.record()` sites (a documented zod 4 removal) were probed
28
+ on zod 4.5.4 for both parsing and JSON-schema conversion, and a real stdio
29
+ `tools/list` returns the same 18 tools before and after.
30
+ - **The five remaining root advisories are all transitive under the MCP
31
+ SDK** — hono, @hono/node-server, ajv → fast-uri, express-rate-limit →
32
+ ip-address, express → qs — and `npm audit fix --dry-run` reports the same
33
+ five, so they clear only when the SDK bumps its own dependencies.
34
+ - The Python suite was also run with the 1.30.0 SDK wheel shadowing the venv
35
+ before the venv itself was upgraded.
36
+
37
+ ### Validation
38
+
39
+ - Full offline Python suite, the drift guards (including the lockfile-sync
40
+ guard), `npm ci` from both lockfiles, the advanced Node suite, the CLI
41
+ smoke and pack checks, and pip-audit on the upgraded venv. No Resolve
42
+ behavior changed; live test not required.
43
+
5
44
  ## What's New in v2.212.3 — a cached update prompt is re-judged against the version actually running
6
45
 
7
46
  ### Fixed
package/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  English | [简体中文](README.zh-CN.md)
4
4
 
5
- [![Version](https://img.shields.io/badge/version-2.212.3-blue.svg)](https://github.com/samuelgursky/davinci-resolve-mcp/releases)
5
+ [![Version](https://img.shields.io/badge/version-2.212.4-blue.svg)](https://github.com/samuelgursky/davinci-resolve-mcp/releases)
6
6
  [![npm](https://img.shields.io/npm/v/davinci-resolve-mcp.svg?label=npm&color=CB3837)](https://www.npmjs.com/package/davinci-resolve-mcp)
7
7
  [![API Coverage](https://img.shields.io/badge/API%20Coverage-100%25-brightgreen.svg)](docs/reference/api-coverage.md)
8
8
  [![Tools](https://img.shields.io/badge/MCP%20Tools-36%20(353%20full)-blue.svg)](#server-modes)
package/README.zh-CN.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  [English](README.md) | 简体中文
4
4
 
5
- [![Version](https://img.shields.io/badge/version-2.212.3-blue.svg)](https://github.com/samuelgursky/davinci-resolve-mcp/releases)
5
+ [![Version](https://img.shields.io/badge/version-2.212.4-blue.svg)](https://github.com/samuelgursky/davinci-resolve-mcp/releases)
6
6
  [![npm](https://img.shields.io/npm/v/davinci-resolve-mcp.svg?label=npm&color=CB3837)](https://www.npmjs.com/package/davinci-resolve-mcp)
7
7
  [![API Coverage](https://img.shields.io/badge/API%20Coverage-100%25-brightgreen.svg)](docs/reference/api-coverage.md)
8
8
  [![Tools](https://img.shields.io/badge/MCP%20Tools-36%20(353%20full)-blue.svg)](#服务器模式)
@@ -12,7 +12,7 @@
12
12
  [![Python](https://img.shields.io/badge/python-3.10+-green.svg)](https://www.python.org/downloads/)
13
13
  [![License](https://img.shields.io/badge/license-MIT-blue.svg)](https://opensource.org/licenses/MIT)
14
14
 
15
- > 本翻译对应 v2.212.3 版 README。如与英文原版有出入,以 [英文原版](README.md) 为准。
15
+ > 本翻译对应 v2.212.4 版 README。如与英文原版有出入,以 [英文原版](README.md) 为准。
16
16
 
17
17
  一个 Model Context Protocol (MCP) 服务器,让 AI 助手通过官方脚本 API 控制 DaVinci Resolve Studio(达芬奇)。它提供完整的 API 覆盖,外加带护栏的工作流助手,涵盖剪辑、媒体池整理、渲染设置、审阅标记、调色、Fusion、Fairlight、项目生命周期任务、扩展开发,以及不碰源媒体的媒体分析。
18
18
 
package/install.py CHANGED
@@ -37,7 +37,7 @@ from src.utils.update_check import (
37
37
 
38
38
  # ─── Version ──────────────────────────────────────────────────────────────────
39
39
 
40
- VERSION = "2.212.3"
40
+ VERSION = "2.212.4"
41
41
  # Only hard floor: mcp[cli] requires Python 3.10+. There is no upper bound —
42
42
  # Resolve's scripting bridge loads into newer interpreters on recent builds
43
43
  # (Python 3.14 verified against Resolve Studio 20.3.2). Older Resolve builds
@@ -1385,7 +1385,7 @@ def install_dependencies(venv_path, project_dir):
1385
1385
  # downgrade it, and the fix does not depend on install ordering. Lift both
1386
1386
  # together when server.py is ported to the 2.x layout.
1387
1387
  subprocess.run(
1388
- [str(pip), "install", "-q", "mcp[cli]>=1.29,<2"],
1388
+ [str(pip), "install", "-q", "mcp[cli]>=1.30,<2"],
1389
1389
  check=True, capture_output=True
1390
1390
  )
1391
1391
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "davinci-resolve-mcp",
3
- "version": "2.212.3",
3
+ "version": "2.212.4",
4
4
  "description": "NPM bootstrapper for the DaVinci Resolve MCP Server.",
5
5
  "license": "MIT",
6
6
  "author": "Samuel Gursky <samgursky@gmail.com>",
@@ -18,20 +18,19 @@
18
18
  "davinci-resolve-advanced-mcp": "./bin/davinci-resolve-advanced-mcp.mjs"
19
19
  },
20
20
  "dependencies": {
21
- "@modelcontextprotocol/sdk": "^1.27.1",
22
- "adm-zip": "^0.5.16",
23
- "fast-xml-parser": "^5.7.3",
21
+ "@modelcontextprotocol/sdk": "^1.30.0",
22
+ "adm-zip": "^0.6.0",
23
+ "fast-xml-parser": "^5.11.1",
24
24
  "fzstd": "^0.1.1",
25
25
  "jszip": "^3.10.1",
26
- "uuid": "^9.0.0",
27
- "zod": "^3.25.76",
26
+ "zod": "^4.5.4",
28
27
  "zstd-codec": "^0.1.5"
29
28
  },
30
29
  "optionalDependencies": {
31
- "better-sqlite3": "^11.0.0",
32
- "js-yaml": "^4.1.0",
33
- "pg": "^8.11.0",
34
- "sharp": "^0.33.0"
30
+ "better-sqlite3": "^11.10.0",
31
+ "js-yaml": "^4.3.2",
32
+ "pg": "^8.23.0",
33
+ "sharp": "^0.35.4"
35
34
  },
36
35
  "files": [
37
36
  "bin/",
@@ -19,18 +19,18 @@
19
19
  "LICENSE"
20
20
  ],
21
21
  "dependencies": {
22
- "@modelcontextprotocol/sdk": "^1.27.1",
22
+ "@modelcontextprotocol/sdk": "^1.30.0",
23
23
  "adm-zip": "^0.6.0",
24
- "fast-xml-parser": "^5.7.3",
24
+ "fast-xml-parser": "^5.11.1",
25
25
  "fzstd": "^0.1.1",
26
26
  "jszip": "^3.10.1",
27
- "zod": "^3.25.76",
27
+ "zod": "^4.5.4",
28
28
  "zstd-codec": "^0.1.5"
29
29
  },
30
30
  "optionalDependencies": {
31
31
  "better-sqlite3": "^11.10.0",
32
- "js-yaml": "^4.3.0",
33
- "pg": "^8.22.0",
32
+ "js-yaml": "^4.3.2",
33
+ "pg": "^8.23.0",
34
34
  "sharp": "^0.35.4"
35
35
  },
36
36
  "peerDependenciesMeta": {
@@ -87,7 +87,7 @@ if not logging.getLogger().handlers:
87
87
  handlers=[logging.StreamHandler()],
88
88
  )
89
89
 
90
- VERSION = "2.212.3"
90
+ VERSION = "2.212.4"
91
91
  logger = logging.getLogger("davinci-resolve-mcp")
92
92
  logger.info(f"Starting DaVinci Resolve MCP Server v{VERSION}")
93
93
  logger.info(f"Detected platform: {get_platform()}")
package/src/server.py CHANGED
@@ -11,7 +11,7 @@ Usage:
11
11
  python src/server.py --full # Start the 353-tool granular server instead
12
12
  """
13
13
 
14
- VERSION = "2.212.3"
14
+ VERSION = "2.212.4"
15
15
 
16
16
  import base64
17
17
  import os