Repository navigation
MCP launcher: dist/mcp.js only hands over to the app's own server (#237) - #256
Merged
Merged
Conversation
The Node MCP server is gone. desktop-tools-mcp from npm finds the server beside the client the app links in its state folder, or beside the client --client names, passes --socket and --name on, and hands stdin and stdout over; --wire 2 is accepted and ignored. With no server to run, it exits with a message: no linked client, a Desktop Tools from before 0.17.0 (named with its version and the release to install), or an embedder's app that ships no desktop-tools-mcp. version-skew.test.mjs, whose subject was the Node server, gives way to launcher tests that run anywhere. parity, both bench scripts and live-check default to the app's own server; a command that names an existing file runs whole, since the app's path has spaces. docs/mcp.md leads with the app path. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
An embedding app's --client without a server of its own now says to bundle desktop-tools-mcp from the same native build beside its client, linking docs/embed.md, instead of pointing at Desktop Tools.app. docs/mcp.md gets a section on serving another app's grants. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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.
Step 4 of the plan in #237 (#237 (comment)). The Node MCP server is gone.
Launcher
desktop-tools-mcpfrom npm (dist/mcp.js) finds the app's own Swift server, either beside the client the app links in its state folder or beside the client--clientnames. It passes--socketand--nameon and hands stdin and stdout over, so no MCP traffic passes through Node.--wire 2is accepted and ignored;--wire 1is refused.desktop-tools-mcp: names the app and says to bundledesktop-tools-mcpfrom the same native build beside its client, signed with the client's identifier, linking docs/embed.md.--clientsetup that docs/mcp.md showed: it used to run the Node server through Ace's client. Agreed with the user, Ace will shipdesktop-tools-mcpbeside its client.Checks and scripts
test/version-skew.test.mjstested the Node server, so it is replaced bytest/mcp-launcher.test.mjs(6 tests, using fake app bundles; they run on any OS). They cover:--client, with--socketand--namepassed on;--wire 1.native2/scripts/parity.mjs --baseline, both bench scripts andscripts/live-check.mjsnow default to the app's own server instead ofnode dist/mcp.js. A command that names an existing file runs whole, since the app's path has spaces.Docs
desktop-tools-mcp, see docs/embed.md) and an "npx setups" section.<state>/desktop-clientinto its bundle, which old pinned launchers rely on;--servemode must keep working, sincecreateDesktopand pinned v0.17–v0.20 launchers with options use it.Checks run:
npm run check,npm test(26 pass),node scripts/contract.mjs --check. No live check: the dev app has no grants.🤖 Generated with Claude Code