Skip to main content
AllMCPs
BrowseBestCategoriesStackCompareToolsGuidesBlog
Log in Submit MCP

Stay in the loop

Get new MCP servers and top picks in your inbox.

AllMCPs

The open directory for discovering and installing Model Context Protocol servers.

AllMCPs on GitHub (opens in a new tab)
Launched onTiny Startupstinystartups.com
Explore
  • Browse servers
  • Best MCP servers
  • Categories
  • MCP clients
  • Agent prompts
  • Stack Builder
  • Compare servers
  • Random discovery New
  • Submit a server
  • Pricing & Boost Boost
Learn
  • Guides hub
  • What is MCP?
  • Install guide
  • Build an MCP server
  • Deploy an MCP server
  • Security guide
  • Troubleshooting
  • MCP for SEO & AEO
  • Protocol versioning
  • Transports: stdio vs HTTP
  • State of MCP (stats)
  • Blog & updates
Tools
  • All developer tools
  • Config generator
  • Config validator
  • Config auditor
  • MCP playground
  • Token calculator
  • OpenAPI β†’ MCP
  • Badge generator
For agents
  • REST API docs
  • Trust & traffic Live
  • Remote MCP server SSE β†— (opens in a new tab)
  • llms.txt β†— (opens in a new tab)
  • Catalog JSON β†— (opens in a new tab)
Company
  • About
  • Advertise Sponsor
  • Contact
  • GitHub β†— (opens in a new tab)
  • Terms
  • Privacy
AllMCPs VerifiedAllMCPs VerifiedFeatured on Nick LaunchesFeatured on Nick LaunchesLaunch Llama NewsletterLaunch Llama NewsletterVerified DR - allmcps.comVerified DR - allmcps.comFeatured on SaaSGrowFeatured on SaaSGrowFeatured on Twelve ToolsFeatured on Twelve ToolsFeatured on Saaspa.geFeatured on Saaspa.geFeatured on Findly.toolsFeatured on Findly.toolsFeatured on Startup FameFeatured on Startup FameFeatured on LaunchKiwiFeatured on LaunchKiwiFeatured on ScrollLaunchFeatured on ScrollLaunchFeatured on DailyPingsFeatured on DailyPingsFazier badgeFazier badgeFeatured on NewTool.siteFeatured on NewTool.siteFeatured on saasfame.comFeatured on saasfame.comDR Checker - Domain RatingDR Checker - Domain RatingListed on Turbo0Listed on Turbo0Launched on LaunchBoard - Product Launch PlatformLaunched on LaunchBoard - Product Launch PlatformList on SimilarlabsList on Similarlabshttps://codetrendy.comhttps://codetrendy.comListed on DevTool.ioFeatured on BuildlistFeatured on BuildlistLaunched on Tiny StartupsFeatured on ShowMeBestAIFeatured on ShowMeBestAIFind us on LaunchZoneFind us on LaunchZoneAllMCPs VerifiedAllMCPs VerifiedFeatured on Nick LaunchesFeatured on Nick LaunchesLaunch Llama NewsletterLaunch Llama NewsletterVerified DR - allmcps.comVerified DR - allmcps.comFeatured on SaaSGrowFeatured on SaaSGrowFeatured on Twelve ToolsFeatured on Twelve ToolsFeatured on Saaspa.geFeatured on Saaspa.geFeatured on Findly.toolsFeatured on Findly.toolsFeatured on Startup FameFeatured on Startup FameFeatured on LaunchKiwiFeatured on LaunchKiwiFeatured on ScrollLaunchFeatured on ScrollLaunchFeatured on DailyPingsFeatured on DailyPingsFazier badgeFazier badgeFeatured on NewTool.siteFeatured on NewTool.siteFeatured on saasfame.comFeatured on saasfame.comDR Checker - Domain RatingDR Checker - Domain RatingListed on Turbo0Listed on Turbo0Launched on LaunchBoard - Product Launch PlatformLaunched on LaunchBoard - Product Launch PlatformList on SimilarlabsList on Similarlabshttps://codetrendy.comhttps://codetrendy.comListed on DevTool.ioFeatured on BuildlistFeatured on BuildlistLaunched on Tiny StartupsFeatured on ShowMeBestAIFeatured on ShowMeBestAIFind us on LaunchZoneFind us on LaunchZone
Β© 2026 Jackalope Digital LLC. All rights reserved.
  1. Home
  2. πŸ–₯️ OS Automation
  3. Mac Control MCP
Mac Control MCP logo
Health: ActiveRecent health check succeeded.Last checked 9/22/2026, 10:02:54 AM

Mac Control MCP

User RatingsBe the first to rate and review this MCP server! Enrichment pendingWe haven’t run our AI enrichment pass on this listing yet, so the overview, use cases, and FAQ below may be sparse or missing. We work through the catalog over time β€” check back soon.
View Repository16 GitHub StarsTotal stargazers on GitHub for the source repository (16 stars).Visit Website

Native Swift macOS automation MCP β€” 63 tools: AX, browser, capture, OCR, Spotlight, windows.

Quick Install

Automated & IDE Setup

Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β€” or use 1-click editor setup below.

Add to CursorAdd to VS Code
Not yet automatically verified

We haven't yet run this listing's install command through our automated sandbox check. This isn't a red flag β€” we're steadily working through the catalog.

Manual Client & Custom JSON ConfigExpand JSON β–Ύ

Client Config & Setup

Choose your client or environment
Target File:~/Library/Application Support/Claude/claude_desktop_config.json
claude_desktop_config.json
{
  "mcpServers": {
    "mac-control-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "mac-control-mcp"
      ]
    }
  }
}

πŸ’‘ Paste the JSON block into your client's configuration file under mcpServers, then restart the application.

Install Tool Schemas (10) Directory Badge Claim listing AlternativesπŸ–₯️ More in OS Automation

Capabilities & Tool Schemas (10) ~423 tokensApproximate context cost of this server’s tool schemas (~4 chars/token), before any tool is called. Actual usage depends on your client and model.Self-reported Self-reportedParsed from the repository README, not verified against a live server β€” may be incomplete or out of date.

Inspect callable tools, capabilities, and parameters exposed to AI agents by Mac Control MCP.

capture_screen

main display (or a rectangular region within it) to a PNG file, returns the file path + width/height. Simple, synchronous, no size limits applied.

capture_screen_v2

main display only, but stores the PNG as a content-addressed artifact under `~/.mac-control-mcp/artifacts/<sha256>.png` and returns `{content_ref, bytes, sha256}`. Defaults to `inline=false` and downscales to `max_dimension`/`max_bytes` (4000px / 4MB by default) specifically to avoid blowing up an…

capture_window

screenshots one specific window by PID (optionally filtered by `title_contains`), not the whole display.

capture_display

screenshots one specific physical display by its index from `list_displays`, for multi-monitor setups.

list_elements

lists actionable elements for a PID (a flat, practical "what can I click" view).

find_element

returns the *first* element matching a role/title filter for a PID.

Documentation Overview

mac-control-mcp

CI License: MIT Platform Notarized MCP Registry

Native Swift MCP server for full macOS automation. 153 tools in one signed .app bundle β€” no Python, no Node runtime, no Electron. Full list with parameters: docs/TOOLS.md.

mac-control-mcp driving Safari: open tab, type query, capture window, OCR, Spotlight search β€” all via MCP stdio

Gives any MCP-compatible client (Claude Desktop, Claude Code, Cursor, etc.) the ability to:

  • Read and mutate the Accessibility tree of any running app
  • Drive Safari and Chrome (tabs, navigation, JS eval)
  • Capture the screen, a display, or a specific window (ScreenCaptureKit)
  • OCR what's on screen
  • Click, type, scroll, drag, send key events
  • Control windows (move / resize / fullscreen / minimize / main)
  • Manage the clipboard
  • Launch / activate / quit apps
  • Search Spotlight's index (NSMetadataQuery) and launch results
  • Toggle dark mode, volume, list displays, inspect menus

Install

Requires macOS 14.0+. Four options, in order of simplicity:

1. One-click install (Claude Desktop, recommended)

The server is published as an MCP Bundle β€” a zip with a manifest.json that Claude Desktop reads directly:

  1. Download mac-control-mcp-v<version>.mcpb from the latest release.
  2. Double-click the .mcpb file. Claude Desktop opens an install dialog.
  3. Click Install. The server is registered under the name mac-control-mcp and available immediately in new chats.
  4. First tool call triggers the macOS TCC consent prompts (Screen Recording, Accessibility, Apple Events). Grant all three once β€” the bundle is Developer-ID signed and notarized, so grants persist across updates.

It's also listed on the official MCP Registry as io.github.AdelElo13/mac-control-mcp, so any MCP client that supports the registry will find it by searching for "mac-control".

2. Install via npm / npx

For clients that are configured with a command line rather than a file path. The npm package mac-control-mcp is a thin launcher: it has no runtime dependencies, and on install it downloads the notarized MacControlMCP.app for that exact version from this repo's GitHub release, verifies it against the published .sha256, refuses any archive entry that escapes the install directory, and re-checks the bundle with codesign --verify --deep --strict, spctl --assess --type execute and a pinned Team ID (A3W973JZ49). The first run therefore pulls ~3 MB; later runs are local.

Claude Desktop β€” ~/Library/Application Support/Claude/claude_desktop_config.json:

config.json
{
  "mcpServers": {
    "mac-control-mcp": {
      "command": "npx",
      "args": ["-y", "mac-control-mcp"]
    }
  }
}

Claude Code:

Terminal
claude mcp add mac-control-mcp -- npx -y mac-control-mcp

Cursor β€” ~/.cursor/mcp.json:

config.json
{
  "mcpServers": {
    "mac-control-mcp": {
      "command": "npx",
      "args": ["-y", "mac-control-mcp"]
    }
  }
}

ChatGPT (developer mode, local MCP connector) β€” mcp.json:

config.json
{
  "mcpServers": {
    "mac-control-mcp": {
      "command": "npx",
      "args": ["-y", "mac-control-mcp"],
      "transport": "stdio"
    }
  }
}

Two flags are handled by the launcher itself instead of being forwarded to the binary:

Terminal
npx -y mac-control-mcp --version    # version of the bundled .app
npx -y mac-control-mcp --app-path   # path to MacControlMCP.app

--app-path is what you need when granting macOS permissions by hand. Note that TCC grants go to the MCP host application that launches this process (Claude Desktop, Cursor, your terminal), not to npx or to the script β€” run the permissions_status tool once from your client to see which grants are missing and which app they belong to.

MAC_CONTROL_MCP_SKIP_DOWNLOAD=1 skips the download (CI, sandboxed builds); HTTPS_PROXY and NO_PROXY are honoured.

3. Download the prebuilt app

If you don't use Claude Desktop or want manual control:

  1. Download MacControlMCP-v<version>-macos-universal.tar.gz from the latest release.
  2. Extract and move MacControlMCP.app to ~/Applications/.
  3. Point your MCP client at the binary inside:
config.json
{
  "mcpServers": {
    "mac-control-mcp": {
      "type": "stdio",
      "command": "/Users/you/Applications/MacControlMCP.app/Contents/MacOS/MacControlMCP"
    }
  }
}

Add that block to ~/Library/Application Support/Claude/claude_desktop_config.json (Claude Desktop) or ~/.claude.json β†’ mcpServers (Claude Code).

Verify the download with the published SHA-256:

bash
shasum -a 256 MacControlMCP-v<version>-macos-universal.tar.gz
# should match MacControlMCP-v<version>-macos-universal.sha256 on the release

4. Build from source

For contributors or if you want to tweak the code. Requires Swift 6 / Xcode 16+:

bash
git clone https://github.com/AdelElo13/mac-control-mcp.git
cd mac-control-mcp
./scripts/build-bundle.sh

Produces ~/Applications/MacControlMCP.app/Contents/MacOS/MacControlMCP. Without a Developer ID cert in your keychain it'll fall back to ad-hoc signing (works for local use, TCC grants reset on every rebuild).

To re-sign + re-notarise an existing Apple Developer account:

bash
# one-time: store notary credentials in keychain
xcrun notarytool store-credentials "mac-control-mcp" \
    --apple-id "you@example.com" --team-id "XXXXXXXXXX"

# subsequent builds:
NOTARIZE_PROFILE=mac-control-mcp ./scripts/build-bundle.sh

Tool surface

Selected categories β€” this table is a curated subset, not the full list. For the complete, auto-generated tool reference (every tool, its description, and its required/optional parameters, regenerated straight from the tool registry so it can't drift), see docs/TOOLS.md.

CategoryTools
Permissionspermissions_status, request_permissions
Accessibilityfind_element(s), query_elements, list_elements, get_ui_tree, ax_tree_augmented, get_element_attributes, set_element_attribute, read_value, perform_element_action, wait_for_element, scroll_to_element
App lifecyclelist_apps, launch_app, activate_app, quit_app, force_quit_app, wait_for_app, focused_app
Windowslist_windows, focus_window, move_window, resize_window, set_window_state, wait_for_window, move_window_to_display
Inputclick, mouse_event, drag_and_drop, scroll, type_text, press_key, press_key_sequence, key_down, key_up, convert_coordinates
Menusclick_menu_path, list_menu_paths, list_menu_titles
Browserbrowser_list_tabs, browser_get_active_tab, browser_navigate, browser_new_tab, browser_close_tab, browser_eval_js, browser_dom_tree, browser_visible_text, browser_iframes
Screencapture_screen, capture_screen_v2, capture_window, capture_display, ocr_screen
Clipboardclipboard_read, clipboard_write, clipboard_clear
Spotlightspotlight_search, spotlight_open_result
Systemset_volume, set_dark_mode, list_displays
File dialogsfile_dialog_set_path, file_dialog_select_item, file_dialog_confirm, file_dialog_cancel, wait_for_file_dialog
Apple appsmail_send, imessage_send, imessage_list_recent, calendar_create_event, calendar_list_events, reminders_create, reminders_list, contacts_search
Voice & recordingspeech_to_text, text_to_speech, audio_record, record_screen
Undoundo_last_action, undo_peek
153 tools total β€” see [docs/TOOLS.md](docs/TOOLS.md) for the complete, generated list.

Which tool when

Several tools overlap in purpose. Based on their actual implementations:

Screen capture β€” capture_screen vs capture_screen_v2 vs capture_window vs capture_display

  • capture_screen β€” main display (or a rectangular region within it) to a PNG file, returns the file path + width/height. Simple, synchronous, no size limits applied.
  • capture_screen_v2 β€” main display only, but stores the PNG as a content-addressed artifact under ~/.mac-control-mcp/artifacts/<sha256>.png and returns {content_ref, bytes, sha256}. Defaults to inline=false and downscales to max_dimension/max_bytes (4000px / 4MB by default) specifically to avoid blowing up an MCP client's context window with a huge inline image (referenced in its own description as a fix for claude-code issues #13383/#45785). Prefer this one when the image is going back through an LLM context rather than straight to disk.
  • capture_window β€” screenshots one specific window by PID (optionally filtered by title_contains), not the whole display.
  • capture_display β€” screenshots one specific physical display by its index from list_displays, for multi-monitor setups.

Accessibility tree / element lookup β€” find_element vs find_elements vs query_elements vs list_elements vs get_ui_tree vs ax_tree_augmented

Read the full README β†’View source on GitHub β†’

Related MCP Servers

View all in OS Automation View all alternatives
  • How Persistence Works logoHow Persistence Works

    Visual Desktop Bridge - Give any AI full control over Windows to automate apps and inputs.

    πŸ–₯️ OS Automation0 views
    Compare vs How Persistence Works β†’
  • MCP Nixos logoMCP Nixos

    MCP server providing accurate information about NixOS packages, system options, Home Manager configurations, and nix-darwin macOS settings to prevent AI hallucinations.

    πŸ–₯️ OS Automation2 views
    Compare vs MCP Nixos β†’
  • Desktopinsights MCP logoDesktopinsights MCP

    Look up SDKs, frameworks, and dependencies used by 12,000+ macOS and Windows desktop apps. Search by technology adoption, compare stacks, and discover SDK usage patterns via the Desktop Insights API.

    πŸ–₯️ OS Automation2 views
    Compare vs Desktopinsights MCP β†’
  • Mac Use MCP logoMac Use MCP

    Zero-dependency macOS desktop automation for AI agents. 18 tools via MCP. macOS 13+.

    πŸ–₯️ OS Automation0 views
    Compare vs Mac Use MCP β†’

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks β€” not a rating.

GitHub stars
16
Stargazers on the source repository.
Last commit
9d ago
Most recent push to the default branch.
Tools exposed
10
Callable tools this server registers over MCP.
Directory activity
1 views
Config copies, upvotes, and views on AllMCPs.

Reviews

No reviews yet β€” be the first to share how this listing worked for you.

Frequently Asked Questions about Mac Control MCP

Add the following block to your claude_desktop_config.json under mcpServers: "mcpServers": { "mac-control-mcp": { "command": "npx", "args": ["-y","mac-control-mcp"] } }

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewMac Control MCP AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/mac-control-mcp?style=directory)](https://allmcps.com/mcp/mac-control-mcp)
HTML Embed
<a href="https://allmcps.com/mcp/mac-control-mcp"><img src="https://allmcps.com/api/badge/mac-control-mcp?style=directory" alt="Mac Control MCP on AllMCPs" /></a>

Technical Specs & Signals

CategoryπŸ–₯️OS Automation
More technical detailsExpand β–Ύ
TransportSTDIO
RuntimeNode.js
Last updatedSep 15, 2026
4/5 checks healthy over the last 45d
Views1
Unique ViewsTotal visits recorded for this listing page on AllMCPs.
Installs0
Installs & Copy ActionsTotal times users copied install commands or configuration snippets for this server.
GitHub stars16
GitHub Star CountTotal stargazers on GitHub representing community popularity (16 stars).
Last commit9d ago
Last Repository CommitThe most recent commit or push recorded for this server's GitHub repository.Last commit on Sep 15, 2026
55Quality signal: Good Β· 55/100How this signal is calculated β–Ύ
Server availabilityNot measured

Not scored for repo-hosted servers β€” we can't reach the running server, only its GitHub page. Hosted MCP endpoints are health-checked live.

Verified ownership10/20
Documentation & tools25/30
Adoption & activity6/15
Community engagement0/10

A guidance signal from public completeness & health data β€” not a user rating. New listings start lower and rise as they add docs, get verified, and grow adoption. Signals we can't observe for a listing are skipped, not counted against it.

Supply-chain signal

No high-severity advisories surfaced by our automated scan.

Critical 0High 0Medium 0Low 0

Scanned 3d ago via OSV.dev Β· mac-control-mcp (npm)

β˜… FeaturedMoxie Docs MCP logo

Moxie Docs MCP

MCP & Agent Skills for Automated Documentation, and codebase conventions + context

Explore Server β†’

Own this project?

This directory is pre-filled from public sources. Claim via GitHub README, site badge, or DNS TXT to unlock edit access and the Official badge β€” proof is checked automatically, then reviewed by our team.

Free dofollow backlink: add your website and place the AllMCPs badge on it β€” no claim needed. We detect it automatically and keep it verified as long as the badge stays live.

Claim & get free dofollow

Share & Embed

Add our SVG badge (dark/light directory styles) or embeddable widget to your site.

Explore more

More in πŸ–₯️ OS Automation β†’Alternatives to Mac Control MCP β†’Install in Claude DesktopInstall in CursorInstall in VS CodeSetup guides for all 13 MCP clients