Apps

Craig occasionally publishes small apps — for the Mac, iPhone, and iPad — that scratch a specific itch. They stay simple and do one thing well.

Recent Writing

hero-image
figure-svg
about-img

MCP Connector

A Mac app and Safari extension that runs as a local MCP server, letting any MCP client (Claude Code, Claude Desktop, Codex, opencode, Cursor, …) drive Safari the way Claude in Chrome drives Chrome.

  • 20 MCP browser-automation tools: navigate, click, type, screenshot, read DOM, capture console output and network activity

  • Sees every open tab in your Safari profile, not just tabs the connector opened

  • Trusted OS-level mouse and keyboard input when Accessibility is granted; synthetic DOM-event fallback otherwise

  • browser_batch packs multiple tool calls into a single round-trip

  • One-click setup for Claude Code and Claude Desktop registers the MCP server in your Claude config — no terminal required; other clients (Codex, opencode, Cursor) connect by pointing their MCP config at the app binary

  • Multi-session: multiple MCP clients can share the same Safari instance

  • Local-only bridge: no analytics, no telemetry, no account, no outbound network calls of its own

  • Coming soon to the Mac App Store

  • Privacy Policy

  • Support

Public Meeting Timer

This app implements a basic public-speaker countdown timer.

  • Allows setting the duration of the countdown (and saves default between launches)

  • Runs full-screen by default, but can be windowed and re-sizes to any window size

  • Prominent, clean display of remaining time

  • Turns orange with 1/4 time remaining and red with 1/8 remaining

  • Easily shareable using Zoom or Facetime screen share

  • Keyboard shortcuts: Return or Space to start/stop; ESC or delete to reset

  • No noises or audible alarms to annoy speakers as they wrap up

  • Privacy Policy

  • Support

Recent Writing

hero-image