Two operations, both narrow: ask Claude Desktop something and read the conversations it has. The dependency worth deciding on up front is Accessibility permission for your terminal, since that is how the automation reaches the app at all.
A Model Context Protocol server that lets Claude Code communicate with Claude Desktop. It sends a prompt through native macOS automation, polls for the answer with a configurable timeout, and returns it, and it can list the conversations Desktop currently holds.
- Prompts sent from Claude Code to Claude Desktop, and the response returned
- Automatic polling for the response, with a timeout defaulting to 30 seconds and a maximum of 300
- A pollingInterval you set, so how often the server checks for an answer is yours to decide
- A specific conversation continued by passing its conversationId
- The list of conversations available in Claude Desktop (get_conversations)
- Error handling, retry logic and logging around the automation
macOS, Node.js 18 or later, Claude Desktop installed, and Accessibility permission granted to your terminal app so AppleScript can control it, followed by a terminal restart. Install with npx mcp-claude-desktop, or build locally and point the client at dist/index.js.
One command — npx mcp-claude-desktop
