----
Claude has several ways to interact with an app or service. Computer use is the broadest and slowest, so Claude tries the most precise tool first:
- If you have an MCP server for the service, Claude uses that.
- If the task is a shell command, Claude uses Bash.
- If the task is browser work and you have Claude in Chrome set up, Claude uses that.
- If none of those apply, Claude uses computer use.
----
So osa-mcp adds an MCP server with tools for every AppleScript/JXA app it can find on the host, in order to maximize the first/best case. I've verified that it works with claude code and cowork, but it should work with any other MCP client as well. It also supports Remote Login via SSH [2].
This enables some pretty cool workflows and custom skills, e.g. "Read today's inbox in Mail and give me a summary. Check to see if I should schedule any additional meetings in Calendar, and if they conflict with the plans I made with anyone in Messages let them know. Then organize my notes for each meeting, and update their descriptions." Thus the capabilities of AppleScript are made available with natural language.
Inspiration is credited to [3] and [4] but neither exposes the entirety of OSA with MCP like this in a dynamic manner. Feedback is appreciated, I think it is pretty much an unofficial preview of the inevitable agentic Siri that will be released in a future OSX update.
[1] https://code.claude.com/docs/en/computer-use
[2] https://support.apple.com/guide/mac-help/allow-a-remote-comp...