Full macOS control — drive a Mac like a human: shell, AppleScript, files, and human-like GUI.
Connect Runs on your machine
claude mcp add mcp-mac-control -e MACCTL_SAFE_MODE=<MACCTL_SAFE_MODE> -e MACCTL_MODE=<MACCTL_MODE> -e MACCTL_CONFIRM=<MACCTL_CONFIRM> -e MACCTL_PATH_ALLOWLIST=<MACCTL_PATH_ALLOWLIST> -e MACCTL_PROTECTED_PATHS=<MACCTL_PROTECTED_PATHS> -- npx -y @dockndevai/[email protected]
{
"mcpServers": {
"mcp-mac-control": {
"command": "npx",
"args": [
"-y",
"@dockndevai/[email protected]"
],
"env": {
"MACCTL_SAFE_MODE": "<MACCTL_SAFE_MODE>",
"MACCTL_MODE": "<MACCTL_MODE>",
"MACCTL_CONFIRM": "<MACCTL_CONFIRM>",
"MACCTL_PATH_ALLOWLIST": "<MACCTL_PATH_ALLOWLIST>",
"MACCTL_PROTECTED_PATHS": "<MACCTL_PROTECTED_PATHS>"
}
}
}
}
{
"mcpServers": {
"mcp-mac-control": {
"command": "npx",
"args": [
"-y",
"@dockndevai/[email protected]"
],
"env": {
"MACCTL_SAFE_MODE": "<MACCTL_SAFE_MODE>",
"MACCTL_MODE": "<MACCTL_MODE>",
"MACCTL_CONFIRM": "<MACCTL_CONFIRM>",
"MACCTL_PATH_ALLOWLIST": "<MACCTL_PATH_ALLOWLIST>",
"MACCTL_PROTECTED_PATHS": "<MACCTL_PROTECTED_PATHS>"
}
}
}
}
{
"servers": {
"mcp-mac-control": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@dockndevai/[email protected]"
],
"env": {
"MACCTL_SAFE_MODE": "<MACCTL_SAFE_MODE>",
"MACCTL_MODE": "<MACCTL_MODE>",
"MACCTL_CONFIRM": "<MACCTL_CONFIRM>",
"MACCTL_PATH_ALLOWLIST": "<MACCTL_PATH_ALLOWLIST>",
"MACCTL_PROTECTED_PATHS": "<MACCTL_PROTECTED_PATHS>"
}
}
}
}
Replace the values in angle brackets with your own. Keys stay on your machine; we never see them.
Tools
This server runs locally, so its tools are listed by your MCP client once it starts.
Environment variables
| Name | Description |
|---|---|
MACCTL_SAFE_MODEOptional | Set true to invert to safe-by-default: read-only, all powers gated, confirmations on. Default false (full control). |
MACCTL_MODEOptional | Access mode: read-only | read-write | admin. Defaults to admin (or read-only in safe mode). |
MACCTL_CONFIRMOptional | Set true to require human approval (via MCP elicitation) on destructive ops. Default off in full control. |
MACCTL_PATH_ALLOWLISTOptional | Comma-separated path roots the agent may touch (empty = anywhere). |
MACCTL_PROTECTED_PATHSOptional | Comma-separated path roots that may be read but never modified/deleted (empty by default in full control). |
Details
| Package | @dockndevai/[email protected] (NPM, stdio) |
| First published | 26 Sep 2026 |
| Last updated | 26 Sep 2026 |
| Registry name | io.github.dockndevai/mcp-mac-control |
More developer tools servers See all
Listing data from the official MCP registry. Status and tools from NestDaddy's daily check. Browse all MCP servers.
