Back to MCP Servers

macOS MCP MCP Server

Lightweight open-source MCP server for macOS computer use, exposing keyboard, mouse, window, shell, and accessibility tools to AI agents.

Automation by CursorTouch Bearer Token active
Overview

macOS-MCP is a lightweight, open-source Model Context Protocol server that bridges AI agents and macOS, allowing models like Claude, GPT, and Gemini to drive the desktop without computer vision or specialized vision models. It uses the native macOS Accessibility API to introspect UI state, click, type, manage windows, and run shell or AppleScript commands, giving any MCP-compatible client full desktop automation capabilities.

The server exposes a focused tool surface covering pointer input (Click, Move, Scroll), keyboard input (Type, Shortcut), application and window control (App), shell execution including AppleScript (Shell), webpage extraction to Markdown (Scrape), and timed pauses (Wait). It is designed to be small, dependency-light, and run locally via uvx, with optional background-service installation.

Beyond the basic stdio transport for local clients, macOS-MCP supports SSE and Streamable HTTP transports for remote access, with bearer token authentication, IP allowlisting, TLS, and OAuth 2.0 + PKCE for compatible clients. The project is MIT licensed and runs on macOS 12 (Monterey) through macOS 15 (Sequoia).

Tools

Tool Description
Click Click at screen coordinates with left, right, or double-click support.
Type Input text into the focused field, optionally clearing existing content first.
Scroll Perform vertical or horizontal scrolling.
Move Move the pointer or perform a drag operation.
Shortcut Send keyboard shortcuts such as Cmd+C or Cmd+Tab.
App Launch applications, manage windows, and switch between apps.
Shell Execute shell commands and AppleScript.
Scrape Convert webpage content to Markdown for the model to read.
Wait Pause execution for a specified duration.
Setup Guide

Prerequisites

  • macOS 12 (Monterey) or later
  • Python 3.11+
  • UV package manager (uvx)
  • Accessibility and Screen Recording permissions granted to your terminal, Python, and UV in System Settings, Privacy and Security

Install and run

Run directly via uvx:

uvx macos-mcp

Or install as a background service:

macos-mcp install

Claude Desktop config

Add to ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "macos-mcp": {
      "command": "uvx",
      "args": ["macos-mcp"]
    }
  }
}

Transport options

  • stdio (default): --transport stdio for local MCP clients
  • SSE: --transport sse --host HOST --port PORT
  • Streamable HTTP: --transport streamable-http --host HOST --port PORT

Optional env vars and config

Bearer token auth and other settings can be passed via flags, env vars, or ~/.macos-mcp/config.toml:

  • MACOS_MCP_AUTH_KEY: bearer token for HTTP requests
  • MACOS_MCP_IP_ALLOWLIST: comma separated IP/CIDR allowlist
  • MACOS_MCP_SSL_CERTFILE and MACOS_MCP_SSL_KEYFILE: TLS cert and key
  • ANONYMIZED_TELEMETRY: set to false to disable telemetry

Security warning

macOS-MCP runs with full Accessibility permissions and executes real, unsandboxed system operations. Use it only in isolated environments with disposable data, never on production or compliance-regulated systems (HIPAA, PCI, etc.).

Use Cases
  • Automate repetitive desktop workflows like opening apps, navigating menus, and filling forms via natural language prompts
  • Drive GUI applications that lack APIs by combining the Click, Type, and Shortcut tools to script multi-step flows
  • Run shell commands or AppleScript from an AI agent for system maintenance, scripted Finder operations, or app scripting
  • Scrape web pages to Markdown and feed them into the same agent loop that controls the local desktop
  • Expose a Mac as a remote computer-use endpoint to AI agents via Streamable HTTP with bearer token auth and IP allowlisting
Example Prompts
  • "Open Safari, go to news.ycombinator.com, and scrape the front page to Markdown."
  • "Switch to Slack, find the channel #engineering, and type a status update about today's deploy."
  • "Run brew outdated in the shell and summarize which packages need updating."
  • "Take the active Finder window, create a folder named Archive-2026, and move all PDFs older than a year into it using AppleScript."
  • "Press Cmd+Tab to switch to Notes and append today's meeting summary to the topmost note."
Pros
  • Vision-free automation: uses the macOS Accessibility API instead of screenshots, so it works with any LLM regardless of vision support
  • Small, focused tool surface (nine tools) that is easy to reason about for both humans and agents
  • Multiple transports (stdio, SSE, Streamable HTTP) with real security features: bearer token auth, IP allowlisting, TLS, and OAuth 2.0 + PKCE
  • Single-command install via uvx macos-mcp with optional background service mode
Limitations
  • macOS only and requires broad Accessibility plus Screen Recording permissions
  • Runs unsandboxed and can perform irreversible system actions; the README explicitly warns against production or compliance-regulated use
  • Community-maintained project (CursorTouch org), not an official Apple or Anthropic server
Alternatives