Mac Control MCP

Gives any MCP-compatible client (Claude Desktop, Claude Code, Cursor, etc. Its 7 documented tools cover capture, elements. It runs locally over stdio via the published package.

People who work with capture and elements and want it reachable from Claude, Cursor, VS Code, or another MCP client. The project is written in Swift.

VERIFIED ACTIVE

LAST COMMIT 2026-09-15 · ★ 16 · #228 OF 255 MAINTAINED BROWSER AUTOMATION · VERIFIED 2026-09-18

MIT · Swift · how we verify → /methodology

01 · Install Mac Control MCP

before you install - you'll need

NOTARIZE_PROFILE

Environment variables documented in the project's README - it lists which are required and which have defaults.

Claude Code

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

Claude Desktop / Cursor / VS Code - add to config

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

Same JSON for Cursor. For VS Code, rename the top-level key from `mcpServers` to `servers`.

Using another client? Same JSON, different key

Claude Desktop · mcpServers

Cursor · mcpServers

VS Code · servers

Windsurf · mcpServers

Zed · context_servers

Cline · mcpServers

Roo Code · mcpServers

Continue · mcpServers

LibreChat · mcpServers

Gemini CLI · mcpServers

Codex CLI · mcp_servers

Full setup guides: every client.

02 · Evidence

Security posture

What to check before giving this server access to your agent - from the registry, GitHub, and our own probes. We don't score safety; we show what's verifiable.

runs as local process (stdio) - runs on your machine with your user's permissions · Claude Desktop extension (.mcpb bundle)

license MIT - declared in the repository

npm package mac-control-mcp - unscoped; check the name against the project README before installing

registry namespace io.github.AdelElo13 is GitHub-verified and matches the repo owner

03 · What Mac Control MCP can do

Prose above is summarized from the project's README and registry record - no invented capabilities.

What you can build

With this server connected, an agent can list actionable elements for a PID (a flat, practical "what can I click" view), and read the first element matching a role/title filter for a PID.

Capability map

Tools grouped from the project's README - what Mac Control MCP lets an agent do.

Capture

3 tools - e.g. main display (or a rectangular region within it) to a PNG file, returns the file path + width/height. Simple, synchronous, no size limits applied.; screenshots one specific window by PID (optionally…

capture_screen · capture_window · capture_display

Elements

3 tools - e.g. lists actionable elements for a PID (a flat, practical "what can I click" view).; same matching as find_element, but returns all matches, not just the first.; regex search over role/title/value (falls…

list_elements · find_elements · query_elements

read & search

1 tool - e.g. returns the first element matching a role/title filter for a PID.

find_element

Limitations (from the README)

- Cross-origin iframes block browser_eval_js - same-origin policy, not a limitation of the tool. Use AX coords or synthetic CGEvents for content inside embedded iframes from other origins. - First-run TCC prompts are unavoidable. macOS requires the user to grant Screen Recording, Accessibility and Apple Events the first time. The usage-description strings in Info.plist make the consent dialogs show up with a clear re

Latest releases

v0.10.0 · 2026-09-15

mac-control-mcp v0.10.0 · Built from a measured audit of v0.9.0 (perf run 7× per case, precision run over five apps with every annotated element hit-tested, plus code reading - scratchpad/audit-v0.9.0-findings.md in…

v0.9.0 · 2026-09-14

mac-control-mcp v0.9.0 · Built from a live audit of every read-only tool against the shipped v0.8.3 (docs/ gap audit): eight capability gaps with measured evidence, each shipped with tests, an independent code review…

v0.8.3 · 2026-09-14

mac-control-mcp v0.8.3 · Fixes measured on a second Mac (macOS 26.6.2, Apple Silicon) running v0.8.2 under Claude Desktop, Claude Code and the ChatGPT app. The goal of this release: every tool works in every MCP…

04 · Who maintains Mac Control MCP

mac-control-mcp is maintained by adelelo13. We track 3 MCP servers from adelelo13 - 3 actively maintained, 21 combined GitHub stars, oldest repo from Apr 2026. Full record: all servers from adelelo13.

  1. neuromcp Semantic memory for AI agents with hybrid search, knowledge graph, and consolidation ★ 4

05 · Facts

category
browser automation - ranked #228 of 255 actively-maintained browser automation servers as of 2026-09-18.
release cadence
4 releases in the last 90 days (latest 2026-09-15)
registry
io.github.AdelElo13/mac-control-mcp (active, first published 2026-04-17 · 17 versions)
packages
mcpb:https://github.com/AdelElo13/mac-control-mcp/releases/download/v0.10.0/mac-control-mcp-v0.10.0.mcpb · npm:mac-control-mcp

06 · Mac Control MCP FAQ

Is Mac Control MCP still maintained?

Yes - as of 2026-09-18, its last commit was 2026-09-15 and it shipped 4 releases in the last 90 days. We re-verify nightly.

What can Mac Control MCP do?

With this server connected, an agent can list actionable elements for a PID (a flat, practical "what can I click" view), and read the first element matching a role/title filter for a PID.

How do I install Mac Control MCP?

Run `npx -y mac-control-mcp`. The README documents one environment variable (NOTARIZE_PROFILE) to set first. You can also paste the ready-made client config above.

Does Mac Control MCP run locally?

Yes - it's a stdio server: it runs on your machine (via npx) with your user's permissions. Your data stays local unless the server itself calls external APIs.

07 · Alternatives to Mac Control MCP