Open Source MCP Server for macOS

Test Mac Apps Like Magic

The ghost hand that automates your Mac. Click buttons, type text, and capture screenshots with natural language through Claude.

Claude Desktop
You: Open Calculator, click 7, then +, then 3, then =. What's the result?

Claude: The result is 10. I clicked the buttons in sequence and captured a screenshot showing the calculation 7 + 3 = 10.

How It Works

Get started in three simple steps. No complex setup, no learning curve.

01

Install Geisterhand

Download the binary and add it to your Claude Desktop MCP configuration. One-time setup takes less than a minute.

02

Grant Permissions

Authorize Accessibility and Screen Recording permissions in macOS System Settings. Geisterhand guides you through it.

03

Let Claude Test

Just describe what you want to test in natural language. Claude handles clicking, typing, and verification automatically.

Built for Developers

Everything you need to automate Mac app testing, nothing you don't.

Zero Configuration

No test scripts to write. No selectors to maintain. Just describe what you want to test in plain English and Geisterhand figures out the rest.

Claude Native

Built as an MCP server, Geisterhand integrates seamlessly with Claude Desktop. Use the same AI you already know and trust.

Lightning Screenshots

Capture full-resolution screenshots of any window or the entire screen. Perfect for visual regression testing and documentation.

Headless Mode

Run tests in the background without interrupting your work. Geisterhand operates silently while you focus on what matters.

Full Accessibility API

Interact with any UI element through macOS Accessibility APIs. Click buttons, fill forms, navigate menus, and read screen content.

Native Swift Performance

Built in pure Swift for maximum performance and minimal resource usage. No Electron, no Node.js, no overhead.

See It In Action

Watch Geisterhand automate a complete testing workflow in under 2 minutes.

Demo Recording

$ geisterhand testing TextEdit...

Demo Coming Soon
2:00
Quick Demo
Real App
Actual macOS Testing
No Edits
Raw Recording

Quick Start

Get up and running in under a minute. No package managers required.

1

Download the Binary

Terminal
curl -L https://github.com/Geisterhand-io/macos/releases/latest/download/geisterhand \
  -o /usr/local/bin/geisterhand && \
chmod +x /usr/local/bin/geisterhand
2

Configure Claude Desktop

Add Geisterhand to your Claude Desktop configuration file:

~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "geisterhand": {
      "command": "/usr/local/bin/geisterhand"
    }
  }
}
3

Grant Permissions

Open System Settings and grant these permissions to Claude Desktop:

Accessibility
Privacy & Security → Accessibility
Screen Recording
Privacy & Security → Screen Recording
4

Start Testing!

Restart Claude Desktop and start automating. Try asking:

"Open TextEdit, create a new document, type 'Hello World', and take a screenshot."

Use Cases

From quick smoke tests to comprehensive automation, Geisterhand adapts to your workflow.

QA Automation

Automate repetitive QA tasks without writing test scripts. Let Claude explore your app and verify functionality using natural language instructions.

Test form validation Verify button states Check error handling

Regression Testing

Catch UI regressions before your users do. Geisterhand can compare screenshots and identify visual changes across builds.

Compare before/after Detect layout shifts Verify theming

Documentation

Generate up-to-date screenshots for your documentation automatically. Keep your docs in sync with your actual UI.

Capture workflows Update tutorials Create release notes

Accessibility Audits

Explore your app using only keyboard navigation and screen reader APIs. Identify accessibility issues before they ship.

Test keyboard nav Verify labels Check focus order

Ready to automate your Mac app testing?