Pod

Yes, this is on purpose. Pod is built for agents, so the default page is plain HTML.
Human? View the normal website.
Agent? You probably prefer /mcp/macos-mcp-2/issues.md or /mcp/macos-mcp-2/issues.json, or Pod over MCP.

Reported issues for macOS-MCP

Pod holds 17 of 17 problems reported by people outside the maintainer team. Issues filed by the project's own owners, members and collaborators are excluded entirely — a maintainer's release checklist is not a warning to a prospective user.

Back to macOS-MCP.

Most discussed

Claude Desktop extension bundle is pinned at 0.3.8 while PyPI ships 0.3.17 (recurrence of #19)

Summary

The Claude Desktop extension (ant.dir.gh.cursortouch.macos-mcp) currently installs 0.3.8, while PyPI ships 0.3.17. This is a recurrence of #19, where the published extension was stuck at v0.1.0.

Why users cannot work around it

The bundle vendors its own source rather than resolving from PyPI:

# uv.lock
name = "macos-mcp"
version = "0.3.8"
source = { editable = "." }

Because uv --directory <ext> run macos-mcp serve resolves the package to the bundle's own `s

Read the thread · 2026-08-16 · closed · external user · 1 comment

unresolvable Accessibility permission loop on versions below 0.3.10

macos-mcp-accessibility-writeup.md

Symptoms

The macos-mcp server appears in Claude, then immediately disconnects. The log repeats:

Missing permissions: Accessibility. Required permissions not granted. Server transport closed unexpectedly

A System Settings window opens on its own, landing on Privacy & Security > Accessibility.

The stumbling block

The error says to grant Accessibility permission, but nev

Read the thread · 2026-07-31 · closed · external user · 2 comments

Notification tool fails for any non-ASCII text (CJK, emoji): AppleScript can't parse \uXXXX escapes

Symptom: Notification(message="通知测试") returns: Failed to send notification: 33:34: syntax error: Expected """ but found unknown token. (-2741) ASCII-only messages work fine.

Root cause: Desktop.notify in desktop/service.py builds the AppleScript with json.dumps(message). json.dumps defaults to ensure_ascii=True, so non-ASCII characters are emitted as \uXXXX escapes — which AppleScript string literals don't support (only \", \\, \n, \t, \r).

**Fix (verified loc

Read the thread · 2026-07-10 · closed · external user · 1 comment

Bug: Accessibility permission dialog rejects the bundled Python interpreter (macOS Apple Silicon)

Bug: Accessibility permission dialog rejects the bundled Python interpreter (macOS Apple Silicon)

Environment:

What I tried (all unsuccessful):

  1. Adding the app via System Settings > Privacy & Security > Accessibility > "+"

Read the thread · 2026-07-07 · closed · external user · 1 comment

Published Claude Desktop extension is v0.1.0 — ships the (already-fixed) EventObserver memory leak

Correction

Apologies — I filed this against the v0.1.0 build published as the Claude Desktop extension (ant.dir.gh.cursortouch.macos-mcp) without first checking main. The autorelease-pool leak described below is already fixed in main (now v0.3.7) by:

So there is no leak to fix in the current source. Leaving this open only for the part that is stil

Read the thread · 2026-06-19 · closed · outside contributor · 2 comments

AX polling stalls focused Chrome on every navigation — 1-2s system-wide freeze

Summary

The macos-mcp server holds an AXObserver registration on the focused window via AXObserverAddNotification. When that focused window is Google Chrome and the user navigates to a new page (or switches tabs), Chrome rebuilds its accessibility tree, fires AX notifications, and the MCP synchronously walks the new tree. Walking Chrome's AX tree takes ~1-2 seconds and during that time the entire UI freezes (WindowServer waits for AX RPCs).

This is reproducible on every page load, e

Read the thread · 2026-05-05 · closed · external user · 1 comment

Anthropic MCP Directory Review — MacOS MCP

Hi from Anthropic 👋

We reviewed MacOS MCP for inclusion in the Anthropic MCP Directory. We found several items that need to be addressed before we can list the server.

Required

  1. Process execution pattern — We observed that the ExecuteCommand tool runs user-supplied input via subprocess.run(..., shell=True) in shell mode, which allows arbitrary command execution through shell metacharacters. Please either drop shell=True and pass arguments as a list, implement an allowlist of pe

Read the thread · 2026-04-20 · closed · external user · 1 comment

MacOs MCP troubleshoot

Title: MacOS-MCP works manually but disconnects immediately in Claude Desktop

Hello,

I tested MacOS-MCP on macOS with Claude Desktop and found the following behavior:

What works:

What fails:

Read the thread · 2026-04-08 · closed · external user · 5 comments

Most recent

Shell tool child processes inherit the MCP stdin stream, hanging the client indefinitely

Problem

ExecuteCommand in src/macos_mcp/ax/core.py spawns commands with subprocess.run(capture_output=True, ...) and no stdin= argument, so the child inherits fd 0.

Under the stdio transport, fd 0 is the JSON-RPC request stream. Any command that reads stdin — sudo prompting for a password, ssh, git asking for credentials, brew/npm confirmation prompts, a bare cat — consumes the client's protocol messages. The server never sees those requests, so it never replies, a

Read the thread · 2026-07-24 · closed · outside contributor · 0 comments

Extension exits at startup under Claude Desktop: AXIsProcessTrusted() is always False because the host spawns MCP servers with disclaimed responsibility

Environment: macOS 26 (Tahoe), Claude Desktop, extension v0.3.8 from the Anthropic registry, uv 0.7.2.

Symptom: The extension shows "Server disconnected" immediately after install. Log: Required permissions not granted: Accessibility. ... sys.exit(1) — even though the Claude app has Accessibility granted in System Settings.

Root cause: Claude Desktop launches extension servers through /Applications/Claude.app/Contents/Helpers/disclaimer, which disclaims TCC responsibility. The

Read the thread · 2026-07-10 · closed · external user · 1 comment

Feature request: ship a code-signed + notarized release so TCC attributes access to one named entity

Summary

Please distribute macOS-MCP as a Developer ID code-signed and notarized build — ideally a small bundled helper .app with a proper Info.plist (CFBundleIdentifier / CFBundleName / CFBundleDisplayName) and an icon — with a stable signing identity across releases.

As shipped today (run via ad-hoc-signed Homebrew uvpython3 → the Shell tool spawning node/git), the server's privacy grants show up in System Settings → Privacy & Security as multiple bare, icon-le

Read the thread · 2026-07-09 · open · external user · 0 comments

Snapshot/screenshot fails on macOS 15+: CGWindowListCreateImage returns NULL ("cannot identify image file")

Summary

The Snapshot tool (with use_vision=true) and any other screenshot path fails on modern macOS with:

Error calling tool 'Snapshot': cannot identify image file '/tmp/tmpXXXXXXXX.png'

Even with Screen Recording permission fully granted to the host app.

Root cause

CaptureScreen() in src/macos_mcp/ax/core.py uses Quartz.CGWindowListCreateImage. Apple deprecated CGWindowListCreateImage in macOS 14.4, and on macOS 15 (Sequoia) and later it returns NULL unless the

Read the thread · 2026-07-07 · closed · outside contributor · 0 comments

v0.3.7 has three issues that prevent it from running as a Claude Desktop extension

Title: v0.3.7 has three issues that prevent it from running as a Claude Desktop extension

Environment

Three independent issues surface in sequence. I worked around all three with local patches — sharing in case you'd like to fix them upstream.


1. `manifes

Read the thread · 2026-06-05 · closed · external user · 1 comment

Bug: SyntaxError on startup — misplaced variable assignment in published wheel

Description

uvx macos-mcp fails immediately with a SyntaxError in the published PyPI wheel. The variable _SCRAPE_MAX_CHARS = 20_000 is positioned between the @mcp.tool(...) decorator and its target function scrape_tool, which is invalid Python syntax. The decorator must be immediately followed by the function definition.

To reproduce

uv cache clean uvx macos-mcp

Error output

Traceback (most recent call last): File ".../bin/macos-mcp", line 6, in from macos_mcp.__main

Read the thread · 2026-05-29 · closed · external user · 1 comment

0.3.6 is broken on import — @mcp.tool decorator placed above assignment, not function

Summary

macos-mcp 0.3.6 (current PyPI latest) cannot be imported. Any client that spawns it dies immediately with a SyntaxError before serving a single tool call. 0.3.5 is unaffected.

Repro

$ uvx --from 'macos-mcp==0.3.6' macos-mcp --help
Traceback (most recent call last):
  File ".../bin/macos-mcp", line 6, in <module>
    from macos_mcp.__main__ import main
  File ".../site-packages/macos_mcp/__main__.py", line 431
    _SCRAPE_MAX_CHARS = 20_000
    ^^^^^^^^^^^^^^^^^
SyntaxErr

[Read the thread](https://github.com/CursorTouch/MacOS-MCP/issues/8) · 2026-05-27 · closed · external user · 0 comments

### Memory leak in `_update_observers` (events.py:363) — AX observer refs accumulate at ~10–17 MB/min physical footprint

## Summary

`macos-mcp` exhibits a steady, linear physical footprint leak when AX-tree-reading tools are exercised in long-running sessions. Growth rate is roughly **10–17 MB/min** of activity, and the process never releases memory after the calling client stops invoking tools. On a 32 GB host left running over a couple of days, the process climbed to ~16.5 GB physical footprint and contributed to a system-level OOM. With an external watchdog reaping the process at 400 MB, we observe repeated re

[Read the thread](https://github.com/CursorTouch/MacOS-MCP/issues/7) · 2026-05-27 · closed · external user · 1 comment

### macos-mcp instances at launch bug

# Bug Report: Claude Desktop spawns duplicate macos-mcp instances at launch, causing severe memory pressure

## Summary

Claude Desktop launches 4 simultaneous instances of the `macos-mcp` extension on startup, despite only one extension registration existing in any user-editable config. The duplication consumes ~17 GB of memory and saturates CPU, making mid-tier Macs (24 GB RAM) unusable until manually killed.

## Severity

**High.** On a 24 GB MacBook Pro M4, the 4× MCP duplication consumes 70

[Read the thread](https://github.com/CursorTouch/MacOS-MCP/issues/4) · 2026-05-04 · closed · external user · 0 comments

The remaining reports are on [the project's issue tracker](https://github.com/Jeomon/macos-mcp/issues).