# hunch

Controls macOS desktop and native applications in the background without stealing window focus. Helpful when an agent needs to handle Mac tasks while you keep typing.

- MCP server · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed, Gemini CLI · ★ 22
- Author: PrithviSeran
- License: Apache-2.0 · policy=link-only · description only; the file stays with the author
- Source: https://github.com/PrithviSeran/hunch-mcp
- Updated: 2026-10-24
- HTML: https://affpapa.org/en/nevibecode/mcp/hunch

## What it does

Hunch operates entirely as a local child process via stdio JSON-RPC. It does not open network ports. No background daemons or external cloud services exist here. For desktop control, the server relies on four distinct layers: direct OS-API calls for files, `osascript` for scriptable tools like Mail, browser bridges via CDP, and Accessibility tree inspections for UI elements.

The tool requires macOS 13 or newer. Accessibility permissions must be granted to the parent application running the server, such as your terminal or code editor. Screen Recording access is strictly optional, reserved as a fallback for software with empty accessibility trees.

## Requirements
- Needs: Python and uv (commands run via uvx)

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add hunch -- uvx hunch-sdk
```
uvx runs the command named after the package; if the README names another one, use uvx --from hunch-sdk <command>

### Codex

**Platform CLI**
```bash
codex mcp add hunch -- uvx hunch-sdk
```
uvx runs the command named after the package; if the README names another one, use uvx --from hunch-sdk <command>

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "hunch": {
            "command": "uvx",
            "args": [
                "hunch-sdk"
            ]
        }
    }
}
```
uvx runs the command named after the package; if the README names another one, use uvx --from hunch-sdk <command>

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "hunch": {
            "type": "stdio",
            "command": "uvx",
            "args": [
                "hunch-sdk"
            ]
        }
    }
}
```
uvx runs the command named after the package; if the README names another one, use uvx --from hunch-sdk <command>

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add hunch uvx hunch-sdk
```
uvx runs the command named after the package; if the README names another one, use uvx --from hunch-sdk <command>

## When to use it
- interact with native desktop interfaces without moving the mouse pointer
- script apps like Mail and Notes via AppleScript calls
- inspect background web pages in Chromium or Safari sessions
- manipulate local files and trash items using native system endpoints

## Example prompts
- Check `Mail` for unread items and summarize the latest message
- Open a background Safari session to check the deployment dashboard
- Inspect the Notes window and read the contents of the top note

## Similar
- [Scrapling MCP Server](https://affpapa.org/en/nevibecode/mcp/scrapling-mcp-server.md) — MCP server · ★ 89433
- [browser-use](https://affpapa.org/en/nevibecode/mcp/browser-use.md) — MCP server · ★ 119160
- [AIHawk](https://affpapa.org/en/nevibecode/mcp/aihawk.md) — MCP server · ★ 32221
- [Skyvern](https://affpapa.org/en/nevibecode/mcp/skyvern.md) — MCP server · ★ 23263
- [SeleniumBase MCP](https://affpapa.org/en/nevibecode/mcp/seleniumbase-mcp.md) — MCP server · ★ 13169
- [Inbox Zero](https://affpapa.org/en/nevibecode/mcp/inbox-zero.md) — MCP server · ★ 12791

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
