Repository navigation
MCP server: --name, defaulting to its own app, so the dev app needs no Node (#237) - #254
Merged
Merged
Conversation
…o Node (#237) The Swift server builds its instructions and tools/list from the declarations for the app it names: --name, else the app it ships in (CFBundleName), else Desktop Tools. The development app's own desktop-tools-mcp, which already found its state folder from its bundle ID, now also says Desktop Tools Dev, so an agent configured with it needs no Node; npm run dev-app prints that claude mcp add line instead of a node dist/mcp.js one. Run outside an app with no host serving, a call fails with HOST_NOT_RUNNING and the socket it tried, not the Desktop Tools 2 spike's text. 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 3 of the plan in #237 (#237 (comment)).
desktop-tools-mcpbuilds its instructions andtools/listfrom the Swift declarations for the app it names. That is--name <app>, else the app it ships in (CFBundleName), else "Desktop Tools".--socketwas already there. There is no--client: this server can only talk to its own app's host. Step 4's shim maps--clientto that app's own server.~/.local/state/desktop-tools-devfrom its.devbundle ID. It now also names Desktop Tools Dev in its instructions and rules, so an agent pointed atDesktop Tools Dev.app/Contents/MacOS/desktop-tools-mcpuses the dev app with no Node.npm run dev-appnow prints thatclaude mcp add desktop-dev -- "…/desktop-tools-mcp"line, adding-e DESKTOP_TOOLS_STATE=…only for a custom state folder. It used to print anode dist/mcp.jsline.HOST_NOT_RUNNINGand the socket it tried, in place of the old "Desktop Tools 2 host" message.Checked:
--name Ace, the first instruction line, theCALLER_NOT_APPROVEDrule anddesktop_menu's "… itself can't be targeted" all say Ace.Desktop Tools Dev.app, it says "Desktop Tools Dev" and reports that bundle's version.--socketpointing at nothing gives the newHOST_NOT_RUNNINGtext.No
npm run dev-appor live check: the fix-train thread owns the dev app, and the dev app has no grants yet.Also run:
swift test --package-path native2,npm run check,npm test,node scripts/contract.mjs --check.🤖 Generated with Claude Code