It is a narrow bridge and that is the point: a prompt goes over to Claude Desktop, the answer comes back to the caller, and a thread can be continued by its ID. The thing to weigh before installing is the Accessibility permission, because the server drives the desktop app through macOS automation.
A macOS-only bridge that lets Claude Code talk to Claude Desktop. It sends a prompt across using native macOS automation, polls until Desktop has answered, and returns the response; it can also list the conversations Desktop currently holds.
- A prompt sent to Claude Desktop and its reply returned, with a response timeout of up to 300 seconds
- Polling under your control, through a pollingInterval you set
- An existing Desktop conversation continued by passing its conversationId
- The conversations available in Claude Desktop, listed (get_conversations)
- Retry logic and logging around the automation
macOS, Node.js 18 or later, the Claude Desktop app installed, and Accessibility permission granted to your terminal so AppleScript can drive it: System Preferences, Security and Privacy, Privacy, Accessibility, then restart the terminal. Run it with npx mcp-claude-desktop.
One command — npx mcp-claude-desktop
