# Macbeth MCP server

> Enables AI agents to see and operate macOS applications through structured UI access, screenshots, and OCR.

- Repository: https://github.com/wende/macbeth
- Page: https://hostedmcp.org/servers/wende/macbeth
- Transport: stdio
- Stars: 4
- License: MIT
- Latest version: 0.2.4

## Install

### Claude Code

```sh
claude mcp add macbeth -- npx -y macbeth
```

### Cursor (`~/.cursor/mcp.json`)

```json
{
  "mcpServers": {
    "macbeth": {
      "command": "npx",
      "args": [
        "-y",
        "macbeth"
      ]
    }
  }
}
```

### VS Code (`.vscode/mcp.json`)

```json
{
  "servers": {
    "macbeth": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "macbeth"
      ]
    }
  }
}
```

### VS Code CLI

```sh
code --add-mcp '{"name":"macbeth","type":"stdio","command":"npx","args":["-y","macbeth"]}'
```

### Claude Desktop (`claude_desktop_config.json`)

```json
{
  "mcpServers": {
    "macbeth": {
      "command": "npx",
      "args": [
        "-y",
        "macbeth"
      ]
    }
  }
}
```

### Codex

```sh
codex mcp add macbeth -- npx -y macbeth
```

### Codex config.toml (`~/.codex/config.toml`)

```toml
[mcp_servers.macbeth]
command = "npx"
args = ["-y", "macbeth"]
```

### Gemini CLI

```sh
gemini mcp add -s user macbeth npx -- -y macbeth
```

### Gemini settings.json (`~/.gemini/settings.json`)

```json
{
  "mcpServers": {
    "macbeth": {
      "command": "npx",
      "args": [
        "-y",
        "macbeth"
      ]
    }
  }
}
```

## FAQ

### What are the system requirements for Macbeth?

Macbeth requires macOS 14 (Sonoma) or newer and Node.js 20 or newer.

### How do I add Macbeth to Claude Code?

You can add it using the command: `claude mcp add macbeth -- npx -y macbeth`.

### Does Macbeth require special permissions?

Yes, Accessibility permission is required for UI inspection and interaction, and Screen Recording is required for screenshots and window OCR.

### Can Macbeth work with applications that don't have an API?

Yes, it can work through exposed Electron interfaces and use visual fallbacks like screenshots and OCR when accessibility metadata is unavailable.
