macOS UI AutomationSAFE
Overview
From the repository's own README, as read at the audited commit. Badges and raw HTML are left out.
Like Playwright, but for native macOS applications. Control any Mac app with natural language through Claude - perfect for developing and testing Mac applications with AI assistance.
[](https://www.python.org/downloads/) [](https://modelcontextprotocol.io/) [](https://opensource.org/licenses/MIT)
🎯 What is this?
This is an MCP (Model Context Protocol) server that gives Claude the ability to see and interact with any macOS application - just like Playwright does for web browsers, but for native Mac apps.
Perfect for:
- 🧪 Testing Mac applications - "Test the login flow in my app"
- 🔍 App development - "Check if all buttons are properly labeled"
- 🤖 UI automation - "Fill out this form and submit it"
- 📱 App exploration - "Show me all the interactive elements in Finder"
🚀 Quick Start
1. Install
git clone https://github.com/mb-dev/macos-ui-automation-mcp.git cd macos-ui-automation-mcp uv sync
2. Set Up Accessibility Permissions
⚠️ Critical: Enable accessibility for your parent application:
- If using Terminal: Add Terminal to
System Settings → Privacy & Security → Accessibility - If using VS Code: Add VS Code to
System Settings → Privacy & Security → Accessibility - If using Claude Code: Add Claude Code to
System Settings → Privacy & Security → Accessibility
The parent app needs permission because it's the one actually executing the MCP server.
3. Configure Claude Code
Add to your Claude Code MCP settings:
{
"mcpServers": {
"macos-ui-automation": {
"command": "uv",
"args": [
"--directory",
"/absolute/path/to/macos-ui-automation-mcp",
"run",
"macos-ui-automation-mcp"
]
}
}
}6d57a10179bfOBSERVED · 2026-10-08Connect
Built from this server's own package name, version and transport as found in its source — not copied from anyone's documentation, so it cannot drift against a page we do not control.
claude mcp add macos-ui-automation-mcp -- uvx macos-ui-automation-mcp
{
"mcpServers": {
"macos-ui-automation-mcp": {
"command": "uvx",
"args": [
"macos-ui-automation-mcp"
]
}
}
}Exposed tools (8)
8 read · 0 write · 0 destructive.
| Tool | Risk | Description |
|---|---|---|
check_accessibility_permissions | read | Check if accessibility permissions are properly configured. |
click_at_position | read | Click at a specific screen position using coordinates. |
click_element_by_selector | read | Click a UI element using accessibility actions (AXPress) via JSONPath selector. |
find_elements | read | Find UI elements matching a JSONPath selector. |
get_app_overview | read | Get a quick overview of all running applications with shallow UI inspection. |
get_element_details | read | Get detailed information about a specific UI element. |
list_running_applications | read | List all currently running applications with basic info. |
type_text_to_element_by_selector | read | Type text into a UI element using JSONPath selector. |
Trust audit
SAFEgrade B · trust 86/100 Nothing in the source contradicts what it says it does. Grade A is reserved for packages that have also passed the behavioural sandbox.
| Layer | What it checks | Result |
|---|---|---|
| L0 | Provenance & inventory | PASS |
| L1 | Static analysis of the code | PASS |
| L2 | Instruction surface (what it tells the agent) | PASS |
| L3 | Class-specific surface | WARN |
| L4 | Behavioural (sandbox) | SKIPPED |
What the source does
- Filesystem
- none-observed
- Network
- none-observed
- Shell
- none-observed
- Dependencies
- pinned
- Secrets in source
- none-found
Findings (3)
sse,streamable-http
curl -LsSf https://astral.sh/uv/install.sh | sh
Gates applied: no_behavioural_pass, no_license.
6d57a10179bffull audit observations/trust-audit/mcp-server/mb-dev__macos-ui-automation.json · Report an issue / request a re-scanAudit history
Every audit this server has had. A grade with a past is a grade somebody is still checking.
| Date | Source | Verdict | Grade | Score | Change |
|---|---|---|---|---|---|
| 2026-10-08 | 6d57a10179bf | SAFE | B | 86 | first audit |
Questions
What tools does macOS UI Automation expose?
8 in total: 8 read-only, 0 that write, and 0 that can delete or overwrite. Every one is listed on this page with its risk.
Is macOS UI Automation safe to connect to an agent?
The audit found nothing in the source that contradicts what it says it does, and graded it B (86/100). Grade A is held back for packages that have also passed a sandboxed behavioural run, which is why a clean server reads B.
What credentials does macOS UI Automation need?
No credential environment variables were found in its source, so it appears to need none.
How does macOS UI Automation run?
It speaks sse and streamable-http, so it runs as a service you connect to over the network. It is published on PyPI as macos-ui-automation-mcp.
How current is this page?
The grade is for one exact copy of the source (6d57a10179bf), read on 2026-10-08. The repository is watched and re-audited when it changes.