SkillTide Submit
Official description7 sourcesMCP servers8d ago
dockndevai/mcp-mac-control

dockndevai/mcp-mac-control

Full macOS control MCP server — drive a Mac like a human: shell, AppleScript, files, processes, and human-like GUI (click, drag, scroll, type). Full control by default; opt-in safe mode.
View on GitHub ↗Direct link · no redirect page
Config template (adjust for your client)
claude mcp add mcp-mac-control -- npx -y mcp-mac-control
A pasteable skeleton generated from the repository name. Check the project README for the exact package and arguments.
Star count
0 ★ · dockndevai/mcp-mac-control · read from the GitHub search API · (checked 2026-10-16 20:00:20)
Source
collected from the punkpeye/awesome-mcp-servers list · type: MCP server
Harvest history
first seen 2026-10-09 · last seen 2026-10-16 · seen 32× · listed by 7 sources
Score
score 703 · 7 sources · mcp
FAQ (answers come from our records)
How do I install it?
We did not find an install command for this repository (our install coverage is only about 4%). Check its README or releases page.
Who is it for?
We filed it under these tags: MCP 服务. The tags come from the entry itself, not a taxonomy we imposed.
Who maintains it?
repository dockndevai/mcp-mac-control;first catalogued 2026-10-09;last seen 2026-10-16。There is no official certification or quality rating here — we record sources and dates only.
Third-party quality signals

mcp-mac-control

以下摘录自该仓库的 README(片段) · 在 GitHub 读完整 README →

A Model Context Protocol server that gives an AI agent **full control of a Mac — like a person sitting at it**. Shell, AppleScript, files, processes, and **human-like GUI control**: move, click, double/right-click, **drag**, **scroll**, type, and press key combos — with a screenshot + window/screen-size perception loop.
> ⚠️ **This server is full-control by default.** It starts in admin mode with command execution, deletes, and GUI input all enabled. That is powerful and dangerous: anything the agent reads (a web page, an email, a file) could contain a prompt injection that then runs arbitrary code on your Mac. Only connect it to an agent and content you trust. Set **MACCTL_SAFE_MODE=true** to flip the whole thing to safe-by-default. If you want safe-by-default as the baseline, use the sibling @dockndevai/mcp-macos instead.
Part of the dockndevai MCP server suite.
What it gives an agent (26 tools)
**Perceive** — screenshot, get_screen_size, list_windows, get_frontmost_app, list_apps, system_info, list_directory, read_file, list_processes, get_clipboard
**Operate the desktop like a human** — move_mouse, click (left/right/double), drag, scroll, type_text, key_press (with ⌘/⌥/⌃/⇧), activate_app, quit_app, open, set_clipboard, notify, write_file
**Full power** — run_command (any program, no shell unless you ask for one), run_applescript (AppleScript/JXA — drive any scriptable app), delete_path (→ Trash), kill_process
The classic loop: screenshot → decide → click/type/drag/scroll → screenshot again.
Install
macOS only. You'll need to grant the host app (Terminal, your IDE, Claude Desktop, …) macOS permissions the first time each capability is used:
- **Screen Recording** → for screenshot
- **Accessibility** → for GUI input (click, type_text, drag, scroll, key_press) and list_windows
- **Automation** → for AppleScript / app control
- Mouse control uses **cliclick**: brew install cliclick
Configure (Claude Code)
That's it — it's full-control by default. To scope it down, add env flags (see below). See docs/CLIENTS.md for Claude Desktop / Cursor / Codex / VS Code / Windsurf, and .env.example for every variable.
Dialing the control up or down
Full control needs no configuration. Everything below is about **restricting** it:
| Variable | Default | Effect |
|---|---|---|
| MACCTL_SAFE_MODE | false | true → read-only, every power gated, confirmations on (safe-by-default) |
| MACCTL_MODE | admin | read-only / read-write / admin — caps which tools are registered |
| MACCTL_ALLOW_EXEC | true | shell / AppleScript / kill |
| MACCTL_ALLOW_DELETE | true | delete to Trash |
| MACCTL_ALLOW_INPUT | true | GUI input (mouse/keyboard) |
| MACCTL_CONFIRM | false | true → destructive ops pause for human approval via MCP elicitation |
| MACCTL_PATH_ALLOWLIST | (empty = anywhere) | confine file ops to these roots |
| MACCTL_PROTECTED_PATHS | (empty) | roots readable but never modified/deleted |
Source
awesome · https://github.com/dockndevai/mcp-mac-control
Browse by field
MCP servers
added
yesterday

More in MCP servers

All 5,525 in MCP servers →

Filed under

Every tag opens the full list for that filter. Counts are the live catalogue figures.

Browse all fields →

← Back to index