A side-by-side look at the MacOS MCP and Sidebutton MCP servers: transport, auth, tools, quality signals, and the config to install either one in Claude, Cursor, Windsurf or VS Code.
Verdict: choose MacOS MCP for browser automation work as a local process; choose Sidebutton for browser automation as a local process. You can also run both side by side in one mcpServers block.
Click, Type, Scroll.run_workflow, get_run_log, list_workflows.Rows where the two servers differ are marked.
| Spec | ||
|---|---|---|
| Category | Browser Automation | Browser Automation |
| Quality signal | 60/100 · Good | 52/100 · Good |
| Install command | Confirmed | Confirmed |
| Transport | Local subprocess (stdio) | Local subprocess (stdio) |
| Auth | No auth required | Not declared |
| Pricing | Free | Not declared |
| Required env vars | None listed | None listed |
| Verified owner | Community listing | Community listing |
| GitHub stars | 213 | 5 |
| Directory activity | 4 views 0 installs 0 upvotes | 0 views 0 installs 0 upvotes |
| Tools | 10 | 29 |
| Full listing | View MacOS MCP | View Sidebutton |
ClickClick at coordinates with support for left, right, and double-clickTypeType text at cursor position, optionally clearing existing textScrollScroll vertically or horizontally in focused window or regionsMoveMove mouse pointer or drag to coordinatesShortcutPress keyboard shortcuts (Cmd+C, Cmd+Tab, etc.)AppLaunch applications, manage windows (resize/move), switch between apps. Supports app names and bundle IDsDesktopCreate a new Mission Control Space (virtual desktop) via Accessibility, verifying the space count increasedShellExecute commands or AppleScript. Use `mode='osascript'` for AppleScriptScrapeExtract and convert webpage content to Markdown formatWaitPause execution for a defined durationrun_workflowExecute a workflow by IDget_run_logGet execution log for a runlist_workflowsList all available workflowsget_workflowGet workflow YAML definitionlist_run_logsList recent workflow executionspublish_artifactPublish evidence (screenshots, reports) from a sessionget_browser_statusCheck browser extension connectioncapture_pageCapture selectors from current pagenavigateNavigate browser to URLsnapshotGet page accessibility snapshotclickClick an elementtypeType text into an elementPaste either block (or both) into your client config, e.g. claude_desktop_config.json or ~/.cursor/mcp.json. We only show a config when the install command is confirmed.
{
"mcpServers": {
"macos-mcp": {
"command": "uvx",
"args": [
"macos-mcp"
]
}
}
}
{
"mcpServers": {
"sidebutton": {
"command": "npx",
"args": [
"-y",
"sidebutton@latest"
]
}
}
}