Lets agents control a macOS computer through MCP tools.
Setup
Choose your client, copy the config, then fill in any required environment variables.
claude mcp add macos-control -- uv --directory '<path_to_folder>/macos-control-mcp' run macos-control-mcp~/.codex/config.toml
[mcp_servers.macos-control]
command = "uv"
args = ["--directory", "<path_to_folder>/macos-control-mcp", "run", "macos-control-mcp"]
# codex mcp add macos-control -- uv --directory '<path_to_folder>/macos-control-mcp' run macos-control-mcp~/.cursor/mcp.json
{
"mcpServers": {
"macos-control": {
"command": "uv",
"args": [
"--directory",
"<path_to_folder>/macos-control-mcp",
"run",
"macos-control-mcp"
]
}
}
}.vscode/mcp.json
{
"servers": {
"macos-control": {
"type": "stdio",
"command": "uv",
"args": [
"--directory",
"<path_to_folder>/macos-control-mcp",
"run",
"macos-control-mcp"
]
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"macos-control": {
"command": "uv",
"args": [
"--directory",
"<path_to_folder>/macos-control-mcp",
"run",
"macos-control-mcp"
]
}
}
}claude_desktop_config.json
{
"mcpServers": {
"macos-control": {
"command": "uv",
"args": [
"--directory",
"<path_to_folder>/macos-control-mcp",
"run",
"macos-control-mcp"
]
}
}
}.trae/mcp.json
{
"mcpServers": {
"macos-control": {
"command": "uv",
"args": [
"--directory",
"<path_to_folder>/macos-control-mcp",
"run",
"macos-control-mcp"
]
}
}
}