# bezelbub-mcp

Wraps screenshots and screen recordings in iPhone, iPad, Mac and Apple TV bezels. macOS only.

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

## What it does

The server hands your agent the Bezelbub framing engine. Give it an image and it works out the device from the pixel size, then applies the matching bezel. iPhones and iPads are matched on exact screen resolution; Macs, iMac, Studio Display and Apple TV are matched on capture size, so any macOS display zoom setting works. Unknown sizes fall back to aspect-ratio matching.

You can also spell out `--device`, `--color`, `--orientation`, `--background` and `--output-size`. Output can be JSON, and a failed call returns a distinct nonzero exit code with a suggestion on stderr — valid ids, nearest devices by proportions. Useful when the call comes from a shell script or CI and nobody is reading logs by hand.

Transparent video comes out as HEVC with alpha in a QuickTime `.mov`. A VP9/WebM copy for Chrome and Firefox is built by handing a ProRes 4444 master to `ffmpeg`, which has to be on your `PATH` or that step fails. The whole thing is macOS-bound.

## Requirements
- Needs: Node.js (commands run via npx)

## Install

### Claude Code (native platform)

**Platform CLI**
```bash
claude mcp add bezelbub-mcp -- npx -y @dgr_labs/bezelbub-mcp
```

### Codex

**Platform CLI**
```bash
codex mcp add bezelbub-mcp -- npx -y @dgr_labs/bezelbub-mcp
```

### Cursor

**Config file**
File `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "bezelbub-mcp": {
            "command": "npx",
            "args": [
                "-y",
                "@dgr_labs/bezelbub-mcp"
            ]
        }
    }
}
```

### GitHub Copilot

**Config file**
File `.vscode/mcp.json`:
```json
{
    "servers": {
        "bezelbub-mcp": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "@dgr_labs/bezelbub-mcp"
            ]
        }
    }
}
```

### Gemini CLI

**Platform CLI**
```bash
gemini mcp add bezelbub-mcp npx -y @dgr_labs/bezelbub-mcp
```

## When to use it
- frame an app screenshot in the right iPhone bezel
- produce a device mockup for a product page
- add a bezel to a screen recording and keep the audio
- export a framed clip with a transparent background
- list available device ids and colors as JSON

## Example prompts
- Frame `shot.png` in an iPhone 17 Pro bezel, Cosmic Orange
- Turn `demo.mp4` into a transparent-background video and add a WebM copy
- Which devices fit this screenshot?

## Similar
- [Next AI Draw.io](https://affpapa.org/en/nevibecode/mcp/next-ai-drawio.md) — MCP server · ★ 36398
- [tldraw](https://affpapa.org/en/nevibecode/mcp/tldraw.md) — MCP server · ★ 51091
- [Figma-Context-MCP](https://affpapa.org/en/nevibecode/mcp/figma-context-mcp.md) — MCP server · ★ 16062
- [Agent-Native Assets](https://affpapa.org/en/nevibecode/mcp/agent-native-assets.md) — MCP server · ★ 7506
- [Remove AI Watermarks](https://affpapa.org/en/nevibecode/mcp/remove-ai-watermarks.md) — MCP server · ★ 6114
- [Dembrandt](https://affpapa.org/en/nevibecode/mcp/dembrandt.md) — MCP server · ★ 3821

---
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
