Sandbox
@ashwwwin/automation-mcp

MCP server for macOS desktop automation

Automation MCP connects an agent to macOS desktop controls through MCP. It exposes tools for mouse movement and clicks, keyboard input, screenshots, window management, pixel color checks, and image waiting.

415 stars39 forksTypeScriptUpdated 1y ago
Who it's for

Builders who want their agent to operate a Mac desktop through MCP.

What it delivers

You can let an agent drive the screen, input, and windows instead of doing every desktop step yourself.

What it does

Mouse control

Click, double-click, move, scroll, drag, read cursor position, and follow smooth paths.

Keyboard input

Type text, send key combinations, control key down/up states, and run common shortcuts.

Screen capture and analysis

Take screenshots, inspect screen size, highlight regions, read pixel colors, and wait for images to appear.

Window management

List windows, get the active window, and focus, move, resize, or minimize windows.

MCP transport support

Run over HTTP or stdio so it can connect to desktop agents and CLI tools.

How to get it

  1. 1Make sure you have furi installed, and then run the following command
    furi add ashwwwin/automation-mcp
  2. 2followed by
    furi start ashwwwin/automation-mcp
  3. 3Run
    git clone https://github.com/ashwwwin/automation-mcp.git
    cd automation-mcp
    bun install

README

🤖 Automation MCP

Automation MCP is a Model Context Protocol (MCP) server that provides AI models with complete desktop automation capabilities on macOS. It enables AI assistants to:

  • 🖱️ Control your mouse (click, move, scroll, drag)
  • ⌨️ Type and send keyboard input (including system shortcuts)
  • 📸 Take screenshots and analyze screen content
  • 🪟 Manage windows (focus, move, resize, minimize)
  • 🎯 Interact with UI elements through coordinates
  • 🎨 Analyze screen colors and highlight regions
  • 🔍 Wait for images to appear on screen

🚀 Quick start

Make sure you have furi installed, and then run the following command:

furi add ashwwwin/automation-mcp

followed by:

furi start ashwwwin/automation-mcp

and you're done! (or you can just use the furi desktop app for no cli).

🥲 Normal start (without furi)

Prerequisites

  • Bun runtime - Install with: curl -fsSL https://bun.sh/install | bash

1. Clone and Install

git clone https://github.com/ashwwwin/automation-mcp.git
cd automation-mcp
bun install

2. Start the Server

# Start with HTTP transport (recommended for web apps)
bun run index.ts

# Or start with stdio transport (for command line tools)
bun run index.ts --stdio

3. Grant Permissions

On first run, macOS will ask for permissions. You must grant these for full functionality:

  1. Accessibility - Allows keyboard/mouse control
  2. Screen Recording - Enables screenshots and screen analysis

Or manually enable in: System SettingsPrivacy & SecurityAccessibility/Screen Recording

🛠️ Available Tools

🖱️ Mouse Control

  • mouseClick - Click at coordinates with left/right/middle button
  • mouseDoubleClick - Double-click at coordinates
  • mouseMove - Move cursor to position
  • mouseGetPosition - Get current cursor location
  • mouseScroll - Scroll in any direction
  • mouseDrag - Drag from current position to target
  • mouseButtonControl - Press/release mouse buttons
  • mouseMovePath - Follow a smooth path with multiple points

⌨️ Keyboard Input

  • type - Type text or press key combinations
  • keyControl - Advanced key press/release control
  • systemCommand - Common shortcuts (copy, paste, undo, save, etc.)

📸 Screen Capture & Analysis

  • screenshot - Capture full screen, regions, or specific windows
  • screenInfo - Get screen dimensions
  • screenHighlight - Highlight screen regions visually
  • colorAt - Get color of any pixel
  • waitForImage - Wait for images to appear (template matching)

🪟 Window Management

  • getWindows - List all open windows
  • getActiveWindow - Get current active window
  • windowControl - Focus, move, resize, minimize windows

🔒 Security & Permissions

  1. Accessibility - Required for:

    • Mouse clicks and movement
    • Keyboard input simulation
    • Window management
  2. Screen Recording - Required for:

    • Taking screenshots
    • Screen analysis
    • Color detection

🚀 Integration Examples

With Claude Desktop + furi

If you've already configured furi with Claude Desktop, you don't need to do anything.

Add to your MCP configuration:

{
  "mcpServers": {
    "furi": {
      "command": "furi",
      "args": ["connect"]
    }
  }
}

With Claude Desktop

Add to your MCP configuration:

{
  "mcpServers": {
    "automation": {
      "command": "bun",
      "args": ["run", "/path/to/automation-mcp/index.ts", "--stdio"]
    }
  }
}

🐛 Troubleshooting

Common Issues

Permission Denied Errors

  • Ensure Accessibility and Screen Recording permissions are granted
  • Ensure Xcode Command Line Tools: xcode-select --install

🙋‍♂️ Support

Having issues? Check the troubleshooting section above or open an issue with:

  • Your operating system and version
  • Error messages
  • Steps to reproduce

Files in the repo

Repository payload11 top-level entries
  • nutjs
  • .gitattributes
  • .gitignore
  • bun.lock
  • index.ts
  • LICENSE
  • package-lock.json
  • package.json
  • README.md
  • screenInfo.ts
  • tsconfig.json

Discussion (0)

Ask about usage, or say what you built with it

Sign in to join the discussion.

No comments yet. Be the first to say what this is good for.

More connectors

High-performance code intelligence MCP server. Indexes codebases into a persistent knowledge graph — average repo in milliseconds. 158 languages, sub-ms queries, 99% fewer tokens. Single static binary, zero dependencies.

43k

Universal provider proxy for OpenAI Codex & Claude Code — use any LLM (Claude, Gemini, Grok, DeepSeek, Ollama…) with Codex CLI, App, SDK, and Claude Code

14k
okf-memory/
okf-agent-memory

Git-native persistent memory for AI coding agents. Implements Google OKF v0.2 with sub-300µs in-memory BM25 search, embedded MCP server, and progressive disclosure. Slashes token bloat by 80% with zero external databases or dependencies. Built in pure Go.

547
tirth8205/
code-review-graph

Local-first code intelligence graph for MCP and CLI. Builds a persistent map of your codebase so AI coding tools read only what matters, with benchmarked context reductions on reviews and large-repo workflows.

31k
2akouwu/
reverify

Stop your AI from making things up — it proposes, deterministic tools decide, every claim checked against ground truth with evidence. Grounded facts and context survive resets. Reverse engineering is the proving ground. MCP server + CLI.

1.1k
t8y2/dbxConnectors

20 MB lightweight cross-platform database client for 90+ databases, including MySQL, PostgreSQL, SQLite, Redis, MongoDB, DuckDB, SQL Server, and Dameng. Built-in AI, MCP Server, CLI, desktop and Docker. | 轻量级跨平台数据库管理工具,支持 MySQL、PostgreSQL、SQLite、Redis、MongoDB、达梦等 90+ 数据库,提供桌面端、Docker、CLI、内置 AI 助手和 MCP Server。

19k