Desktop automation for AI models - Give your AI assistant complete control over your computer with detailed mouse, keyboard, screen, and window management capabilities.
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
Make sure you have furi installed, and then run the following command:
furi add ashwwwin/automation-mcp
followed by:
furi start automation-mcp
and you're done! (or you can just use the furi desktop app for no cli).
- Bun runtime - Install with:
curl -fsSL https://bun.sh/install | bash
git clone https://github.com/ashwwwin/automation-mcp.git
cd automation-mcp
bun install
# 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
On first run, macOS will ask for permissions. You must grant these for full functionality:
- Accessibility - Allows keyboard/mouse control
- Screen Recording - Enables screenshots and screen analysis
Or manually enable in: System Settings → Privacy & Security → Accessibility/Screen Recording
mouseClick
- Click at coordinates with left/right/middle buttonmouseDoubleClick
- Double-click at coordinatesmouseMove
- Move cursor to positionmouseGetPosition
- Get current cursor locationmouseScroll
- Scroll in any directionmouseDrag
- Drag from current position to targetmouseButtonControl
- Press/release mouse buttonsmouseMovePath
- Follow a smooth path with multiple points
type
- Type text or press key combinationskeyControl
- Advanced key press/release controlsystemCommand
- Common shortcuts (copy, paste, undo, save, etc.)
screenshot
- Capture full screen, regions, or specific windowsscreenInfo
- Get screen dimensionsscreenHighlight
- Highlight screen regions visuallycolorAt
- Get color of any pixelwaitForImage
- Wait for images to appear (template matching)
getWindows
- List all open windowsgetActiveWindow
- Get current active windowwindowControl
- Focus, move, resize, minimize windows
- FastMCP Server - Handles MCP protocol communication
- nut.js Integration - Cross-platform desktop automation (custom built from source)
- Platform Permissions - Native permission handling (macOS/Windows/Linux)
- Screen Utilities - Screenshot and analysis tools
- Fallback Systems - Platform-specific implementations when needed
-
Accessibility - Required for:
- Mouse clicks and movement
- Keyboard input simulation
- Window management
-
Screen Recording - Required for:
- Taking screenshots
- Screen analysis
- Color detection
The server automatically:
- Detects missing permissions on supported platforms
- Requests permission grants (macOS)
- Provides fallback functionality when possible
- Shows clear platform-specific permission instructions
- Runs locally only (no network access)
- Requires explicit permission grants
- Can be limited to specific applications
- All actions are logged
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"]
}
}
}
Add to your MCP configuration:
{
"mcpServers": {
"automation": {
"command": "bun",
"args": ["run", "/path/to/automation-mcp/index.ts", "--stdio"]
}
}
}
Permission Denied Errors
- Ensure Accessibility and Screen Recording permissions are granted
- Ensure Xcode Command Line Tools:
xcode-select --install
Having issues? Check the troubleshooting section above or open an issue with:
- Your operating system and version
- Error messages
- Steps to reproduce
Happy Automating! 🎉 Give your AI the power to control your computer like never before.