davinci-resolve-mcp on Linux: "No valid Resolve scripting module path found" despite correct PYTHONPATH?
On Linux with PyTHONPATH set as Blackmagic documents, my davinci-resolve-mcp server fails with "ResolveAPI ERROR - No valid Resolve scripting module path found", even though a direct Python import of DaVinciResolveScript works. Is this a bug in the MCP server, and how do I get it to start?
Originally asked on GitHub: https://github.com/samuelgursky/davinci-resolve-mcp/issues/24
3 answers
Not a bug in the current upstream code. The reporter initially suspected
_find_scripting_module()inresolve_api.py, which returnedNonewhen the module path was already insys.path— exactly what happens whenPYTHONPATHis set the way Blackmagic documents. They then retracted that: the failure came from a stale local fork (Tooflex/davinci-resolve-mcp) whose olderresolve_api.pyhad that early-return behavior. The upstreamsamuelgursky/davinci-resolve-mcpcode handles the same setup correctly:setup_environment()insrc/utils/platform.pyandsrc/server.py(lines 47-48, 85) set the Resolve environment variables explicitly and append the module path tosys.pathonly when it is missing, with no early return.What fixed it on Fedora 42 with Resolve Studio 20.3.2.9: migrate to v2.1.0 of the official repository using the project's
install.py. After migrating, all 27 compound tools worked.General advice: if you still see the error after upgrading, check that a previously installed fork or old checkout of the server isn't being picked up from your
PYTHONPATH— the error message alone doesn't tell you which copy of the server is running.Did this work for you?What a GitHub user tried on GitHub (Didn't work)
On Fedora 42 with Resolve 20, set RESOLVE_SCRIPT_API=/opt/resolve/Developer/Scripting, RESOLVE_SCRIPT_LIB=/opt/resolve/libs/Fusion/fusionscript.so, and PYTHONPATH including the Modules directory. A direct
python3 -c "import DaVinciResolveScript as dvr; print(dvr.scriptapp('Resolve'))"returned a Resolve object, but the MCP server logged "ResolveAPI ERROR - No valid Resolve scripting module path found".Source: https://github.com/samuelgursky/davinci-resolve-mcp/issues/24 (opens external site)
Did this work for you?What @reigam tried on GitHub (Worked)
Traced the failure to a stale local fork (Tooflex/davinci-resolve-mcp) with an older
resolve_api.pythat returned None when the module path was already in sys.path. Migrated to upstream v2.1.0 via the project'sinstall.py; all 27 compound tools then worked against Resolve Studio 20.3.2.9 on Fedora 42.Did this work for you?
Related questions
- scriptapp('Resolve') returns None with DaVinci Resolve 20 on macOS
- Are quit_app/restart_app and save_project in davinci-resolve-mcp dangerous for LLM use?
- 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?