macOS-MCP server
io.github.Jeomon/macos-mcp·v0.3.6·186 starsMCP server for macOS desktop automation via the Accessibility API.
186 stars
Reviews
Write oneNobody has reviewed macOS-MCP yet.
If you have run it, two minutes of your experience saves the next person an afternoon.
macOS-MCP tools (11, 3 write)
write = sends, deletes, buys or postsRead from the package source without running it. The installed server may list more.
AppManages macOS applications with four modes: 'launch' (opens the application), 'resize' (adjusts active window size), 'move' (repositions active window), 'switch' (brings specific app into focus).
ClickPerforms mouse clicks at specified coordinates [x, y]. Supports button types: 'left' for selection/activation, 'right' for context menus, 'middle'. Supports clicks: 0=hover only, 1=single click, 2=double click.
MoveMoves mouse cursor to coordinates [x, y]. Set drag=True to perform a drag-and-drop operation from current position to target coordinates.
Notificationwrite actionSends a macOS notification banner with a message, title, optional subtitle, and optional sound.
ScrapeFetch content from a URL. Performs a lightweight HTTP request and returns the page content as text.
ScrollScrolls at coordinates [x, y] or current mouse position if loc=None. Type: vertical (default) or horizontal. Direction: up/down for vertical, left/right for horizontal. wheel_times controls scroll amount.
Shellwrite actionExecute commands on macOS. Modes: 'shell' (default) for bash/zsh commands, 'osascript' for AppleScript. Use for file system, process management, system operations, and automation scripts. SECURITY WARNING: Commands are executed with the same permissions as the terminal/application running this server. Review and understand all actions before execution, especially those involving file operations, s
Shortcutwrite actionExecutes keyboard shortcuts using key combinations separated by +. Examples: "command+c" (copy), "command+v" (paste), "command+tab" (switch apps), "command+space" (Spotlight). Note: Use "command" instead of "ctrl" on macOS.
SnapshotCaptures complete desktop state including: focused window, open applications, interactive elements (buttons, text fields, links, menus with coordinates), and scrollable areas. Set use_vision=True to include screenshot with numbered annotations on interactive elements. Always call this first to understand the current desktop state before taking actions.
TypeTypes text at specified coordinates [x, y]. Set clear=True to clear existing text first. Set press_enter=True to submit after typing. Set caret_position to 'start', 'end', or 'idle' (default).
WaitPauses execution for specified duration in seconds. Use when waiting for: applications to launch, UI animations to complete, content to load. Helps ensure UI is ready before next interaction.
Public scan report
scanner v0.1.9 · 2026-09-27 · same rubric, same numbers if you re-run it
- Code scan33 source files scanned25/25
- –Live reliabilityno gateway calls yet and no remote to proben/a
- –Tool poisoningtools not inspected (local package is not executed); not countedn/a
- Auth qualitylocal package, no credentials required12/15
- Maintenancelast push 19 days ago15/15
- Maintainer identityregistry namespace matches repository owner; GitHub account older than a year9/10
How macOS-MCP compares
Against every graded MCP server, from our own scans and uptime checks. Updated after each scan run.
- Safety score
- 94/100
- higher than 96% of 48,255 servers
- Tools
- 11
- the typical server has 7
- Tools that change things
- 27%
- typical: 0%. Fewer write tools means less an agent can break
- GitHub stars
- 186
- more than 95% of 28,688 servers
What its tools let an agent do: 7 read · 3 change · 1 run or deploy
Install macOS-MCP in Claude Code, Cursor or VS Code
claude mcp add macos-mcp -- uvx macos-mcp
What the publisher says
From the macOS-MCP repository's README, as published. We do not edit it. Read it on GitHub
<!-- mcp-name: io.github.Jeomon/macos-mcp --> 🍎 macOS-MCP
Overview
macOS-MCP is a lightweight, open-source Model Context Protocol server that bridges AI agents and the macOS operating system. It enables seamless automation of macOS through LLMs via tasks such as file navigation, application control, UI interaction, browser automation, and system operations.
Supported Operating Systems
- macOS 12 (Monterey)
- macOS 13 (Ventura)
- macOS 14 (Sonoma)
- macOS 15 (Sequoia)
- macOS 26 (Tahoe)
Key Features
Unlike traditional automation tools, macOS-MCP doesn't require computer vision, fine-tuned models, or specialized setup. Works seamlessly with any LLM—Claude, GPT, Gemini, or others.
- Works with Any LLM (Vision Optional)
Interacts natively with macOS UI elements using the Accessibility API. Opens apps, controls windows, simulates user input, and captures desktop state without workarounds.
- Native macOS Integration
Complete toolkit for keyboard/mouse operations, window management, UI state capture, interactive element extraction from the accessibility tree, and AppleScript execution.
- Rich Toolset for Automation
Minimal dependencies with full source code available under MIT license. Easy setup and deployment.
- Lightweight and Open-Source
Automatically detects application state (Launchpad, Control Center, Spotlight). Scans menu bar, dock, desktop, and system UI elements intelligently.
- Smart Context Awareness
Easily extend with custom tools or modify behavior to suit your specific automation needs.
- Customizable and Extensible
Installation
Prerequisites
- Python: 3.11 or later
- UV Package Manager: Install with pip install uv or curl -LsSf https://astral.sh/uv/install.sh | sh
- macOS: 12 (Monterey) or later
- Accessibility Permissions: Required for UI element interaction
Quick Start
Run the server directly:
uvx macos-mcp
# Or with SSE/Streamable HTTP for network access
uvx macos-mcp --transport sse --host localhost --port 8000
uvx macos-mcp --transport streamable-http --host localhost --port 8000Run it as a background service that starts now and at every login:
macos-mcp install
# Or choose the HTTP transport and bind address explicitly
macos-mcp install --transport sse --host 127.0.0.1 --port 8000This installs a launchd Launch Agent at ~/Library/LaunchAgents/com.macos-mcp.server.plist. Use macos-mcp uninstall to remove it. Logs are written to ~/.macos-mcp/server.log and ~/.macos-mcp/server.error.log.
Transport Options
Grant Required Permissions
macOS-MCP requires Accessibility and Screen Recording permissions to function properly.
Accessibility Permissions
Shortened. The full README is on GitHub.
Nothing above is checked by us. What we check is on the safety report.
macOS-MCP: common questions
- Is macOS-MCP server safe?
- Yes, by our scan: it is graded A (94/100). Read the macOS-MCP safety report
- How do I install macOS-MCP?
- It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
- Does macOS-MCP need an API key?
- Not as far as the registry entry and our scan can tell: no credentials are declared or required.
- Is macOS-MCP maintained?
- The last commit was 56 days ago (2026-09-09). The latest release is v0.3.6.
- How does macOS-MCP compare with other MCP servers?
- safety score 94/100 (higher than 96% of 48,255 servers); tools 11 (the typical server has 7); tools that change things 27% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.