
Macos Mcp Server
Wraps macOS system APIs in 13 tools that let Claude control your desktop directly. You get app and window management (launch, quit, focus, move, resize), audio routing via SwitchAudioSource, volume and appearance toggles, Focus mode control, and screenshot capture with optional base64 previews. It pulls system state like battery level, Wi-Fi SSID, and display count, and hooks into Finder for selection info and trash operations. Requires Accessibility for window manipulation, Screen Recording for window screenshots. Built for stdio on a local Mac, though it supports HTTP. Reach for this when you want Claude to orchestrate your desktop environment instead of just reading files.
- GitHub stars
- 4
- tools
- 14
- transport
- STDIO, HTTP
- env vars
- 8
- last updated
- Oct 29, 2026
Tools
14 toolsPublic tool metadata for what this MCP can expose to an agent.
macos_get_infoSystem snapshot: battery level and charging status, power source, Wi-Fi association and network name, hostname, macOS version, uptime, and display count; a failed probe leaves its field null and named in `unavailable`
System snapshot: battery level and charging status, power source, Wi-Fi association and network name, hostname, macOS version, uptime, and display count; a failed probe leaves its field null and named in `unavailable`
No parameter schema in public metadata yet.
macos_check_permissionsReports Accessibility, Screen Recording, Automation > Finder, and Automation > Music status for the calling process from Apple's prompt-free checks — null with a reason when a check can't tell
Reports Accessibility, Screen Recording, Automation > Finder, and Automation > Music status for the calling process from Apple's prompt-free checks — null with a reason when a check can't tell
No parameter schema in public metadata yet.
macos_manage_appsList running apps, get the frontmost app, launch, quit, force-quit, hide, or show applications
List running apps, get the frontmost app, launch, quit, force-quit, hide, or show applications
No parameter schema in public metadata yet.
macos_manage_windowsList, focus, move, resize, move_resize, minimize, fullscreen, or close windows across all visible apps
List, focus, move, resize, move_resize, minimize, fullscreen, or close windows across all visible apps
No parameter schema in public metadata yet.
macos_control_volumeGet or set system output volume (0–100) and mute state
Get or set system output volume (0–100) and mute state
No parameter schema in public metadata yet.
macos_control_audioList audio devices, get current defaults, or switch the default input/output device
List audio devices, get current defaults, or switch the default input/output device
No parameter schema in public metadata yet.
macos_control_musicPlay, pause, stop, skip, play a playlist by name, set shuffle or repeat, or read what the Music app is playing
Play, pause, stop, skip, play a playlist by name, set shuffle or repeat, or read what the Music app is playing
No parameter schema in public metadata yet.
macos_control_appearanceGet or set dark/light mode
Get or set dark/light mode
No parameter schema in public metadata yet.
macos_control_systemLock the screen or put the display to sleep
Lock the screen or put the display to sleep
No parameter schema in public metadata yet.
macos_take_screenshotCapture the main display, one display by `display_index`, a named app window, or a pixel region; saves a PNG without replacing existing files unless `overwrite` is true, optional JPEG preview
Capture the main display, one display by `display_index`, a named app window, or a pixel region; saves a PNG without replacing existing files unless `overwrite` is true, optional JPEG preview
No parameter schema in public metadata yet.
macos_manage_displaysList connected displays (with each one's `index`) and the configured layout names, and apply a named display layout preset
List connected displays (with each one's `index`) and the configured layout names, and apply a named display layout preset
No parameter schema in public metadata yet.
macos_send_notificationPost a notification to macOS Notification Center
Post a notification to macOS Notification Center
No parameter schema in public metadata yet.
macos_manage_focusGet or set Do Not Disturb / Focus mode
Get or set Do Not Disturb / Focus mode
No parameter schema in public metadata yet.
macos_manage_finderFrontmost path, current selection, reveal, open with app, or move to Trash
Frontmost path, current selection, reveal, open with app, or move to Trash
No parameter schema in public metadata yet.
Sponsors
Configuration
MACOS_SCREENSHOT_DIRDefault directory for screenshot files. Defaults to ~/Desktop when empty.
MACOS_DISPLAY_LAYOUTSdefault: {}JSON object mapping layout names to displayplacer argument strings for apply_layout.
MCP_LOG_LEVELdefault: infoMinimum log level for output: debug, info, notice, warning, error.
MCP_TRANSPORT_TYPEdefault: httpSelects the HTTP transport.
MCP_HTTP_HOSTdefault: 127.0.0.1The hostname for the HTTP server.
MCP_HTTP_PORTdefault: 3010The port to run the HTTP server on.
MCP_HTTP_ENDPOINT_PATHdefault: /mcpThe endpoint path for the MCP server.
MCP_AUTH_MODEdefault: noneAuthentication mode: none, jwt, or oauth.
Readme
@cyanheads/macos-mcp-server
Control macOS settings, apps, windows, audio, Music, displays, screenshots, and Focus mode via MCP. STDIO or Streamable HTTP.
Details
- Repository
- github.com/cyanheads/macos-mcp-server
- Category
- Media & Entertainment
- Package
@cyanheads/macos-mcp-server- Transport
- STDIO, HTTP
- Registry
- MCP registry, active
More from cyanheads
- Clipboard Mcp Server3
- Guardian Mcp Server2
- Mailchimp Mcp Server2
- Sports Mcp Server2
- Whois Mcp Server2
- Federal Reserve Mcp Server1
- Shift Mcp Server1
- Anime Mcp Server2
- Survey Mcp Server4
- Mcp Ts Template145
- nist-nvd-mcp-server
- open-meteo-mcp-server
- openfda-mcp-server
- wikipedia-mcp-server
- census-mcp-server
- crossref-mcp-server
- eur-lex-mcp-server
- faostat-mcp-server
- fema-mcp-server
- libofcongress-mcp-server
- openfoodfacts-mcp-server
- orcid-mcp-server
- reference-data-mcp-server
- usaspending-mcp-server