Fix vc3d-mcp AppImage auto-launch on Linux - #1276
Open
AlexeyDrobkovStrikesBack wants to merge 1 commit into
Open
Fix vc3d-mcp AppImage auto-launch on Linux#1276AlexeyDrobkovStrikesBack wants to merge 1 commit into
AlexeyDrobkovStrikesBack wants to merge 1 commit into
Conversation
AlexeyDrobkovStrikesBack
requested a review
from hendrikschilling
as a code owner
July 28, 2026 16:32
|
@AlexeyDrobkovStrikesBack is attempting to deploy a commit to the scroll Team on Vercel. A member of the Team first needs to authorize it. |
A VC3D AppImage is a multitool dispatcher (scripts/appimage/AppRun) that selects the bundled executable from argv[1]. _launch_command() passed --agent-bridge as argv[1], so AppRun rejected it as an unknown tool and exited 2; the MCP server never saw the agent-bridge handshake and auto-launch (--launch <AppImage>) never came up on Linux. Insert an explicit "VC3D" subcommand for *.AppImage targets so the argv becomes [AppImage, "VC3D", "--agent-bridge", ...]. Plain executables (Linux dev build, macOS .app binary, Windows .exe) are unchanged and still take the flags directly. Add test_appimage_needs_explicit_gui_subcommand covering the AppImage argv with and without --volpkg; existing non-AppImage cases are unchanged.
AlexeyDrobkovStrikesBack
force-pushed
the
fix/vc3d-mcp-appimage-launch-linux
branch
from
July 28, 2026 16:44
c4e76bf to
95fa7dd
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fix vc3d-mcp auto-launch of a VC3D AppImage on Linux
Repo:
ScrollPrize/villaPath:
volume-cartographer/tools/vc3d-mcpBranch:
fix/vc3d-mcp-appimage-launch-linuxSummary
On Linux the MCP server's
--launchauto-start is broken when the targetbinary is a
*.AppImage._launch_command()builds the argv as[binary, "--agent-bridge", ...], i.e. it passes--agent-bridgeasargv[1]. A VC3D AppImage is a multitool dispatcher (scripts/appimage/AppRun)whose
argv[1]selects which bundled executable to run. With--agent-bridgein that slot, AppRun treats it as a tool name, fails to find it, prints an
"unknown tool" error and exits 2. The MCP server never sees the
VC3D-AGENT-BRIDGE: listening ...handshake and auto-launch never comes up.The AppImage must be invoked with an explicit
VC3Dsubcommand first:Fix
Teach
_launch_command()to insert theVC3Dsubcommand when the binary is anAppImage, and pass the GUI flags directly for every other target (Linux dev
build, macOS
.appbinary, Windows.exe) exactly as before.The change is behavior-preserving for all non-AppImage paths: the resulting
argv is byte-for-byte identical to before for those cases.
Test
Added
test_appimage_needs_explicit_gui_subcommandtotests/test_runtime.py, asserting that:[appimage, "VC3D", "--agent-bridge"], and[appimage, "VC3D", "--agent-bridge", "--volpkg", <path>].The existing
AutoLaunchTestcases already cover the non-AppImage paths(
/tmp/VC3D, Windows.exe, volpkg option) and are unchanged, so they doubleas the regression guard that plain executables still take the flags directly.
Evidence
vc3d-mcpsuite: 164 passed, 2 skipped (skips are the live-bridgetests that need a running VC3D).
test_runtime.py: 22 passed, including the new case.server.pyto the pristine upstream versionmakes the new test fail with exactly the broken argv
['/tmp/VC3D-x86_64.AppImage', '--agent-bridge'](missing theVC3Dsubcommand), confirming the test actually exercises the bug.
Verified end-to-end on Linux: a freshly built
VC3D-bridge.AppImagenowauto-launches from the MCP server and reaches the
listeninghandshake, wherebefore it exited 2 on an unknown-tool error.