mac-use-mcp MCP Server

1

Add it to Claude Code

Run this in a terminal.

Run in terminal
claude mcp add mac-use-mcp -- npx mac-use-mcp
README.md

Zero-dependency macOS desktop automation for AI agents.

ant-09-banner-night-03

mac-use-mcp

demo

[!WARNING] This tool has full control over mouse, keyboard, and screen. Please use in a sandboxed environment to protect your privacy and avoid accidental data loss by your agents. You are responsible for any actions performed through this tool.

Zero-native-dependency macOS desktop automation via MCP.

Give AI agents eyes and hands on macOS — click, type, screenshot, and inspect any application.

Use Cases

  • Automated UI testing — click buttons, verify element states with get_ui_elements, validate screen content via screenshot
  • Desktop workflow automation — launch apps with open_application, fill forms with type_text, navigate menus via click_menu
  • Screenshot-based monitoring — capture screen regions periodically with screenshot for visual diffing or alerting
  • Accessibility inspection — query UI element trees with get_ui_elements for QA and compliance checks
  • AI agent computer use — give LLMs eyes and hands on macOS via screenshot, click, type_text, and more

Why mac-use-mcp?

  • Just worksnpx mac-use-mcp and grant two macOS permissions. No node-gyp, no Xcode tools, no build step.
  • 18 tools, one server — screenshots, clicks, keystrokes, window management, accessibility inspection, and clipboard.
  • macOS 13+ on Intel and Apple Silicon — no native addons, no architecture headaches.

Install

Requirements: macOS 13+ and Node.js 22+. The server communicates over stdio transport.

This package only works on macOS. It will refuse to install on other operating systems.

No build steps. No native dependencies. Just run:

npx mac-use-mcp

npx will prompt to install the package on first run. Use npx -y mac-use-mcp to skip the confirmation.

[!TIP] Model selection matters. Desktop automation involves screenshot–action loops that add up in token usage. A fast model with solid reasoning, good vision, and reliable tool calling is recommended:

Model Provider
Gemini 3 Flash Google
Claude Sonnet 4.6 Anthropic
GPT-5 mini OpenAI
MiniMax-M2.5 MiniMax
Kimi K2.5 Moonshot AI
Qwen3.5 Alibaba
GLM-4.7 Zhipu AI

Permission Setup

mac-use-mcp requires two macOS permissions to function. Grant them once and you're set.

Accessibility

Required for mouse and keyboard control.

  1. Open System Settings > Privacy & Security > Accessibility
  2. Click the + button
  3. Add your MCP client application (e.g., Claude Desktop, your terminal emulator)
  4. Ensure the toggle is enabled

Screen Recording

Required for screenshots.

  1. Open System Settings > Privacy & Security > Screen Recording
  2. Click the + button
  3. Add your MCP client application
  4. Ensure the toggle is enabled
  5. Restart the application if prompted

Verify permissions

After granting both permissions and configuring your MCP client (see next section), use the check_permissions tool to confirm everything is working:

> check_permissions
✓ Accessibility: granted
✓ Screen Recording: granted

MCP Client Configuration

Claude Code
claude mcp add mac-use-mcp -- npx mac-use-mcp
Claude Desktop

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

{
  "mcpServers": {
    "mac-use-mcp": {
      "command": "npx",
      "args": ["mac-use-mcp"]
    }
  }
}
OpenAI Codex

Add to ~/.codex/config.toml:

[mcp_servers.mac-use]
command = "npx"
args = ["-y", "mac-use-mcp"]

Or via CLI:

codex mcp add mac-use -- npx -y mac-use-mcp
Google Antigravity

Add to ~/.gemini/antigravity/mcp_config.json:

{
  "mcpServers": {
    "mac-use-mcp": {
      "command": "npx",
      "args": ["mac-use-mcp"]
    }
  }
}
Gemini CLI

Tools (6)

screenshotCapture the screen for visual inspection.
clickPerform a mouse click at specified coordinates.
type_textType text into the active window.
get_ui_elementsQuery the UI element tree for accessibility inspection.
open_applicationLaunch a specific application.
check_permissionsVerify accessibility and screen recording permissions.

Configuration

claude_desktop_config.json
{"mcpServers": {"mac-use-mcp": {"command": "npx", "args": ["mac-use-mcp"]}}}

Try it

Take a screenshot of my current desktop and tell me what applications are open.
Open the Notes app and type 'Hello from my AI agent'.
List all visible UI elements in the current window to help me find the submit button.
Click on the center of the screen to focus the active window.
Check if I have the necessary accessibility permissions for desktop automation.

Frequently Asked Questions

What are the key features of mac-use-mcp?

Zero-native-dependency macOS desktop automation. Full control over mouse, keyboard, and screen. Accessibility inspection via UI element tree querying. Support for macOS 13+ on Intel and Apple Silicon. 18 integrated tools for window management and input.

What can I use mac-use-mcp for?

Automated UI testing by clicking buttons and verifying element states. Desktop workflow automation like launching apps and filling forms. Screenshot-based monitoring for visual diffing or alerting. Accessibility inspection for QA and compliance checks. Enabling AI agents to interact with native macOS applications.

How do I install mac-use-mcp?

Install mac-use-mcp by running: npx mac-use-mcp

What MCP clients work with mac-use-mcp?

mac-use-mcp works with any MCP-compatible client including Claude Desktop, Claude Code, Cursor, and other editors with MCP support.

Turn this server into reusable context

Keep mac-use-mcp docs, env vars, and workflow notes in Conare so your agent carries them across sessions.

Need the old visual installer? Open Conare IDE.
Open Conare