CursorTouch

MacOS-MCP: Automate macOS with AI Agents

MacOS-MCP is a Model Context Protocol server for AI agents to control macOS apps, windows and interface elements. Built on PyObjC, FastMCP and the macOS Accessibility API, it supports native desktop automation on macOS 12 and later.

Stars
216
Forks
33
Stars, last 16 days
+28
Last commit
9 days ago
Contributors
8

Our take

Activeregular commits and releases

Health score

60/100

How it is scored
Activity
80
Community
28
Issues
61
Pull requests
70

+28 stars in the last 16 days

  • Releases more often than 75% of the projects we track

MacOS-MCP is an actively maintained, feature-rich option for agent-driven Mac automation, but its reliance on broad system permissions and highly concentrated contributions call for careful evaluation.

Good fit if

  • You need an MCP server for automating macOS apps and UI elements through native accessibility interfaces.
  • Your client supports MCP and you can provide a Mac running macOS 12 or later with the required permissions.
  • You want transport and access-control options, and can review the project’s security guidance before enabling network access.

Look elsewhere if

  • You need automation on Windows or Linux, or your target apps do not expose usable Accessibility API information.
  • Your workflow must interact with system authentication dialogs or reliably type into specialized input fields, which the project lists as limitations.
  • You need a project whose maintenance is broadly distributed across contributors, rather than one where most contributions come from a single person.
All health signals
Last commit2026-10-12 (9 days ago)
Commits, last 90 days100+
Releases, last 12 months20 (latest v0.4.6, 2026-09-08)
Contributors8 (top contributor: 91% of commits)
Issues closed, last 90 days4 (typically closed in 2 days)
Pull requests merged, last 90 days28 (typically merged in 0 days)
Project age7 months

Checked on 2026-10-21 with the GitHub API.

Overview

MacOS-MCP is a Model Context Protocol server that lets AI agents operate a Mac through tools for UI interaction, application control, browser tasks and system operations. It is built on PyObjC, FastMCP and the macOS Accessibility API, using native macOS interfaces rather than requiring a vision model. The project supports macOS 12 and later.

It is intended for people connecting MCP-capable clients to a Mac they want to automate. Clients can use it over stdio or, when network access is needed, through SSE or Streamable HTTP. UI automation requires macOS Accessibility permission, and screenshot capture also requires Screen Recording permission.

Key Features

  • Interact with interface elements using the macOS Accessibility API.
  • Click, type, scroll, move the pointer and send keyboard shortcuts.
  • Launch apps and switch, move or resize windows.
  • Capture desktop state and extract interactive elements from the accessibility tree.
  • Run AppleScript and shell commands, and scrape webpages into Markdown.
  • Connect through stdio, SSE or Streamable HTTP transports.
  • Configure access controls including bearer authentication, IP allowlists, TLS and OAuth 2.0 with PKCE for HTTP use.

Use Cases

  • An MCP client user can automate routine Mac tasks such as opening apps, navigating windows and entering text.
  • An AI agent developer can give an agent native macOS UI tools when accessibility data is more useful than screenshot-only interaction.
  • A team managing several local agent sessions can run one persistent HTTP server and connect clients through a bridge such as mcp-remote.
  • A developer can build macOS workflows that combine UI interaction with AppleScript or shell commands, while reviewing actions that affect real system state.

What you need

Detected in the repository

  • Node.js (from package.json)
  • Python >=3.11 (from pyproject.toml)
  • A test suite and automated checks on GitHub Actions

License in plain words

MITpermissive

  • Commercial use: yes
  • Modify and redistribute: yes
  • You must keep: the copyright and license notice
  • Share your changes: no

A summary, not legal advice: the LICENSE file is what applies.

Getting Started

Install and run the server with UV:

uvx macos-mcp

This starts the default stdio transport. See the README for client setup, permissions and HTTP transport configuration.

Alternatives

  • mcp-remote-macos-use: It controls a remote Mac through Screen Sharing, rather than providing native local macOS automation through the Accessibility API.
  • open-codex-computer-use: It offers accessibility-based desktop automation across macOS, Linux, and Windows, rather than focusing on native macOS control.
  • Open-Interface: It uses an LLM to interpret tasks and act through keyboard, mouse, and screenshots across three operating systems.
  • Agent-S: It is a cross-platform Python agent framework that operates desktops through screenshots and mouse and keyboard actions.
ProjectLanguageLicenseStarsStatus
MacOS-MCPPythonMIT216Active
mcp-remote-macos-usePythonMIT490Inactive
open-codex-computer-useSwiftMIT2.3kNew
Open-InterfacePythonGPL-3.02.7kQuiet
Agent-SPythonApache-2.012.6kActive

Considerations

  • The server operates with Accessibility permissions and can execute shell commands with the user’s privileges. The project warns that actions can be irreversible and advises against use on production systems or systems with irreplaceable data.
  • Accessibility access is required for UI interaction, and Screen Recording access is needed for screenshots. Some apps offer limited accessibility support, and complex interfaces can take longer to traverse.
  • The project is actively maintained, with recent commits and releases and ongoing issue and pull request handling. However, contribution activity is highly concentrated in one contributor, which is a maintenance-dependency risk.
  • Python 3.11 or later and Node.js are listed as requirements. The README’s quick start uses UV to run the package.
  • Network transports should be secured appropriately. The project provides authentication, IP allowlisting and TLS options, and documents OAuth support and SSRF protections for its Scrape tool.

Found this useful?

Share it with someone who would like MacOS-MCP.

Comparisons