scriptapp('Resolve') returns None with DaVinci Resolve 20 on macOS
I'm using the daVinci Resolve MCP server on macOS with DaVinci Resolve 20, and scriptapp("Resolve") always returns None even though Resolve is running and listening on a TCP port. My virtual environment was created with Python 3.14. What causes this and how do I fix it?
Originally asked on GitHub: https://github.com/samuelgursky/davinci-resolve-mcp/issues/16
3 answers
Status: Addressed in v2.0.0 with a startup warning and updated README. The thread identified two separate causes for
scriptapp("Resolve")returningNone.Original reporter's case: They created their venv with the system Python 3.14 and found that
scriptapp("Resolve")silently returnedNone. After recreating the venv with Python 3.10 or Python 3.11, it worked. They suspected an ABI incompatibility with Python 3.14, but that was not proven in the thread. A later reporter with Python 3.11 saw the sameNoneresult, so the version alone is not the whole story. Maintainer's v2.0.0 change: the server now warns at startup if you're on Python 3.13+ and recommends 3.10–3.12.Free edition limitation: A second reporter on Resolve 20 Free (macOS, Apple Silicon, Python 3.11) confirmed that
DaVinciResolveScriptandfusionscriptimport correctly and Resolve is running, butscriptapp("Resolve")still returnsNone.GetResolve()was not present, and the "External scripting using local network" preference no longer appears in Resolve 20 Free. They concluded that external scripting from outside the Resolve process is disabled in the Free edition, so the MCP server cannot connect regardless of configuration. The maintainer updated the README to state that DaVinci Resolve Studio is required and added the recommendation to enable the Local scripting preference.Action: Use Python 3.10–3.12 for your MCP venv, verify you have Resolve Studio (not Free), and check that the Local scripting preference is enabled in Resolve. The v2.0.0
get_resolve()error message lists all these common causes.Did this work for you?What a GitHub user tried on GitHub (Worked)
Reporter recreated the venv with Python 3.10 or 3.11 instead of system Python 3.14; scriptapp("Resolve") then worked correctly.
Source: https://github.com/samuelgursky/davinci-resolve-mcp/issues/16 (opens external site)
Did this work for you?What @power-del tried on GitHub (Didn't work)
Commenter tested Resolve 20 Free with Python 3.11, confirmed the modules import and Resolve is listening, but scriptapp still returned None; they concluded the Free edition disables external scripting.
Did this work for you?
Related questions
- Are quit_app/restart_app and save_project in davinci-resolve-mcp dangerous for LLM use?
- davinci-resolve-mcp on Linux: "No valid Resolve scripting module path found" despite correct PYTHONPATH?
- Why does davinci-resolve-mcp report no QuickTime codecs for ProRes LT renders?
- Automate Fusion rectangle masks and title text in davinci-resolve-mcp? Audio conversion is an API gap
- Set Source Track Selector for Text+ inserts in DaVinci Resolve API or MCP?