Skip to main content

Drew's Mac Control MCP Server

An MCP server that lets an LLM inspect and drive macOS apps and the iOS Simulator through the Accessibility API — click, type, read the element hierarchy, capture screenshots, pick menu items, drive the Simulator.

This package is a thin wrapper. The server itself is a signed, notarized macOS app; the wheel carries that bundle and installs it to ~/Applications on first run, then hands off to the MacControlRelay binary inside it. Later releases replace the installed app automatically, so uvx upgrades keep the app in step with the wrapper.

Install

uvx drews-mac-control-mcp --setup

That installs the app, opens it so macOS prompts for permissions, and prints the client registration command.

Two approvals are needed, and both are easy to miss:

  1. A new background item. Registering the host creates a login item, and macOS asks about it. Dismissing that prompt leaves the agent unapproved, so the host never starts and every tool call fails with nothing to explain why. If you dismissed it, enable MacControlMCP under System Settings ▸ General ▸ Login Items & Extensions.
  2. Accessibility — and Screen Recording if you want screenshots — in System Settings ▸ Privacy & Security.

Then register this wrapper as the MCP server command:

claude mcp add --scope user maccontrol -- "$(command -v uvx)" drews-mac-control-mcp
codex  mcp add maccontrol -- "$(command -v uvx)" drews-mac-control-mcp

That is what keeps it current. On every launch the wrapper checks the app installed in ~/Applications against the version this wheel carries and replaces it if they differ, and uvx re-checks PyPI for a newer wheel. Pointing a client straight at ~/Applications/MacControlMCP.app/Contents/Helpers/MacControlRelay also works, but it pins you to whatever is installed today and silently forfeits every future update.

Requirements

macOS 14 or later. The wheel is tagged macosx_14_0_universal2, so pip and uv decline to install it anywhere else.

Source

https://github.com/drewster99/drews-mac-control-mcp — including how to build and install from a checkout instead, which needs Xcode and your own Developer ID.

License

Apache License 2.0.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

drews_mac_control_mcp-0.2.43-py3-none-macosx_14_0_universal2.whl (3.9 MB view details)

Uploaded Python 3macOS 14.0+ universal2 (ARM64, x86-64)

File details

Details for the file drews_mac_control_mcp-0.2.43-py3-none-macosx_14_0_universal2.whl.

File metadata

File hashes

Hashes for drews_mac_control_mcp-0.2.43-py3-none-macosx_14_0_universal2.whl
Algorithm Hash digest
SHA256 881f04e94529d5d92b87a0ecef0fffaf5f9646cb413fe2ff07b90050cbad10ef
MD5 bc62eb5b1b5201002c9caf20f6016fdc
BLAKE2b-256 f5c6d249a799c22238ed16118756917afa27b03de265e76d87c4232d7d226dd8

See more details on using hashes here.

Release history Release notifications | RSS feed

0.2.44

1 file

This release

0.2.43 This release

1 file

0.2.39

1 file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page