← Back to Skills Marketplace
reg2005

Mac Compute Use

by Evgeniy · GitHub ↗ · v0.1.0
cross-platform ⚠ suspicious
722
Downloads
1
Stars
3
Active Installs
1
Versions
Install in OpenClaw
/install mac-compute-use
Description
Control macOS applications via Accessibility API through an MCP server. Open apps, click buttons, type text, press keys, scroll, and read UI state. Use when:...
README (SKILL.md)

Mac Compute Use

Control macOS GUI through the Accessibility API via MCP.

Setup

  1. Install the MCP server:
brew tap reedburns/mcp-server-macos-use
brew install mcp-server-macos-use
  1. Register with mcporter:
mcporter config add macos-use --transport stdio --command $(which mcp-server-macos-use)
  1. Grant Accessibility permission: System Settings → Privacy & Security → Accessibility → add mcp-server-macos-use

  2. Verify:

mcporter list macos-use --schema

Tools

All tools are called via mcporter call macos-use.\x3Ctool> key=value.

open_application_and_traverse

Open/activate an app and get its UI tree.

mcporter call macos-use.macos-use_open_application_and_traverse identifier="Google Chrome"
mcporter call macos-use.macos-use_open_application_and_traverse identifier="com.apple.finder"
mcporter call macos-use.macos-use_open_application_and_traverse identifier="TextEdit"

Returns: PID, element count, visible interactive elements, and a JSON file path with full UI tree.

click_and_traverse

Click at coordinates (from UI tree) and get updated state.

mcporter call macos-use.macos-use_click_and_traverse pid=408 x=701 y=73 width=102 height=41
  • x, y: top-left corner of the element (from traversal)
  • width, height: optional, when provided click lands at center

type_and_traverse

Type text into the focused app.

mcporter call macos-use.macos-use_type_and_traverse pid=408 text="Hello world"

press_key_and_traverse

Press a key with optional modifiers.

mcporter call macos-use.macos-use_press_key_and_traverse pid=408 keyName=Return
mcporter call macos-use.macos-use_press_key_and_traverse pid=408 keyName=a modifierFlags='["Command"]'
mcporter call macos-use.macos-use_press_key_and_traverse pid=408 keyName=Tab
mcporter call macos-use.macos-use_press_key_and_traverse pid=408 keyName=Escape

Valid modifiers: CapsLock, Shift, Control, Option, Command, Function, NumericPad, Help.

scroll_and_traverse

Scroll within an app window.

mcporter call macos-use.macos-use_scroll_and_traverse pid=408 x=500 y=400 deltaY=3
mcporter call macos-use.macos-use_scroll_and_traverse pid=408 x=500 y=400 deltaY=-3
  • deltaY positive = scroll down, negative = scroll up
  • deltaX optional, for horizontal scroll

refresh_traversal

Get current UI state without performing any action.

mcporter call macos-use.macos-use_refresh_traversal pid=408

Workflow Pattern

Typical automation flow:

  1. Open app → get PID and visible elements
  2. Read the visible_elements in the response summary — these are interactive elements with coordinates
  3. Click/type/press using coordinates from the UI tree
  4. Read the response — it shows what changed (diff) and new visible elements
  5. Repeat until task is complete

Reading the Response

Each tool returns a compact summary with:

  • status: success/error
  • pid: process ID (use for subsequent calls)
  • file: path to full JSON with all elements (use grep or python3 to search)
  • visible_elements: key interactive elements currently visible, with coordinates

When you need to find a specific element, grep the JSON file:

grep -i "search text" /tmp/macos-use/\x3Cfile>.json

Or parse with Python:

python3 -c "
import json
with open('/tmp/macos-use/\x3Cfile>.json') as f:
    data = json.load(f)
for e in data.get('traversal',{}).get('elements',[]):
    text = (e.get('text') or '').strip()
    if text and 'search' in text.lower():
        print(f'[{e[\"role\"]}] ({e[\"x\"]},{e[\"y\"]} {e.get(\"width\",\"?\")}x{e.get(\"height\",\"?\")}) {text}')
"

Tips

  • Always use --output json for machine-readable results when chaining commands
  • After clicking, wait a moment then refresh_traversal if the UI didn't update in the diff
  • Use app name ("Google Chrome"), bundle ID ("com.google.Chrome"), or path to open apps
  • Coordinates are absolute screen positions — if the window moves, refresh the traversal
  • The server writes traversal JSON to /tmp/macos-use/ — these files are temporary
Usage Guidance
This skill appears internally consistent for controlling macOS GUIs, but you should only install and grant permissions if you trust the MCP server implementation. Before installing: (1) inspect the Homebrew tap/formula and upstream GitHub repo (reedburns/mcp-server-macos-use) to verify code provenance; (2) be aware that granting Accessibility lets the tool read and control any app (it can capture visible text, passwords, messages); (3) confirm you trust mcporter (the skill registers the server with mcporter and may suggest installing mcporter via npm); (4) consider running installation in a disposable account or VM first; (5) remove the Accessibility grant and unregister the server when no longer needed. If you cannot review the upstream source, treat the install as higher risk.
Capability Analysis
Type: OpenClaw Skill Name: mac-compute-use Version: 0.1.0 This skill is classified as suspicious due to its reliance on installing software (`mcp-server-macos-use`) from a custom, unverified Homebrew tap (`reedburns/mcp-server-macos-use`) as seen in `SKILL.md` and `scripts/setup.sh`, which introduces a supply chain risk. Furthermore, the skill explicitly requires the user to grant extensive macOS Accessibility permissions to the installed binary, giving it the capability to control the GUI, read screen content, and simulate user input across all applications. While these high privileges are necessary for its stated purpose of macOS GUI automation, they represent a significant security risk if the agent or the underlying `mcp-server-macos-use` binary were compromised or misused, despite no direct evidence of malicious intent within the provided files.
Capability Assessment
Purpose & Capability
The skill is explicitly for macOS GUI automation. Requiring the mcporter binary and installing an mcp-server binary (mcp-server-macos-use) via Homebrew is coherent with that purpose. No unrelated environment variables, credentials, or config paths are requested.
Instruction Scope
SKILL.md instructs the agent to open apps, click/type/press/scroll, and read UI traversal JSON written to /tmp/macos-use/. Those actions are expected for a desktop-control tool, but they inherently allow reading screen contents (which may include sensitive data). The instructions do not ask for unrelated files or secrets.
Install Mechanism
The included setup script uses Homebrew and a tap (reedburns/mcp-server-macos-use) to install the MCP server and registers it with mcporter. Homebrew is typical for macOS tools, but the tap is a third-party source — you should review the formula/repo before installing. The script also suggests installing mcporter via npm if missing.
Credentials
No environment variables or credentials are requested. The only elevated permission called out is macOS Accessibility (required for UI control), which is proportionate to the stated purpose but grants broad ability to control and read the desktop.
Persistence & Privilege
always is false and the skill does not demand permanent system-wide changes. It registers the MCP server with mcporter (modifies mcporter config), which is appropriate for its functionality and scoped to this tool.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install mac-compute-use
  3. After installation, invoke the skill by name or use /mac-compute-use
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v0.1.0
Initial release: control macOS apps via Accessibility API through MCP server. Install via Homebrew, connect with mcporter. 6 tools: open apps, click, type, press keys, scroll, read UI tree.
Metadata
Slug mac-compute-use
Version 0.1.0
License
All-time Installs 4
Active Installs 3
Total Versions 1
Frequently Asked Questions

What is Mac Compute Use?

Control macOS applications via Accessibility API through an MCP server. Open apps, click buttons, type text, press keys, scroll, and read UI state. Use when:... It is an AI Agent Skill for Claude Code / OpenClaw, with 722 downloads so far.

How do I install Mac Compute Use?

Run "/install mac-compute-use" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is Mac Compute Use free?

Yes, Mac Compute Use is completely free (open-source). You can download, install and use it at no cost.

Which platforms does Mac Compute Use support?

Mac Compute Use is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created Mac Compute Use?

It is built and maintained by Evgeniy (@reg2005); the current version is v0.1.0.

💬 Comments