MCP Server for macOS Automation

Give AI agents hands on macOS

An MCP server that lets Claude control any macOS application through accessibility APIs. Structured data from the accessibility tree — not screenshots.

claude — macos-use

$ claude "Open Safari and search for MCP servers"

▸ open_application Opening Safari...

Safari launched (PID 1847)

▸ click_and_traverse Clicking address bar at (580, 52)

Diff: +1 focused, 3 modified

▸ type_and_traverse Typing "MCP servers macOS"

14 chars typed, +8 suggestions

▸ press_key_and_traverse Pressing Return

Page loaded — 47 elements, saved to /tmp/macos-use/safari_1847.json

Tools

Six tools. Full control.

Open App

Launch any app by name, bundle ID, or path

Click

Click at precise coordinates, see what changed

Type

Type text into any field

Press Key

Keyboard shortcuts with modifier support

Scroll

Scroll in any direction

Refresh

Re-read current UI state

Why macos-use

Built different

Accessibility tree, not screenshots

Structured semantic data instead of pixels. Faster, more reliable, and uses less tokens.

File-based responses

Compact JSON summaries instead of dumping full trees into context. Your agent stays focused.

Diff tracking

See exactly what changed after each action — added, removed, and modified elements.

Works with any macOS app

Safari, Slack, Xcode, Finder, Terminal — if it has a UI, macos-use can control it.

Setup

Three steps to automation

01

Build

Clone the repo and build the Swift binary

02

Configure

Add the server to your Claude Desktop config

03

Ask Claude

Tell Claude to open apps, click buttons, fill forms — anything

Installation

Up and running in minutes

Build from sourcebash
$ git clone https://github.com/mediar-ai/mcp-server-macos-use
$ cd mcp-server-macos-use
$ swift build -c release
Claude Desktop configJSON
{
  "mcpServers": {
    "macos-use": {
      "command": "<path-to-binary>/MacosUseMCP"
    }
  }
}