Everything you need for local PHP development on Mac.
The app, the bothy CLI and the MCP server share one core and one config file, so every change shows up everywhere.
See the whole server at a glance
Services running, requests and 5xx errors per hour, and memory per service sampled every second. One screen tells you whether everything's healthy before you open a browser.
- Live memory graphs per service
- Stop All / Start All
- Domain, PHP and MySQL versions in the header

Every site gets its own page
Requests, errors, latency and FPM status for that site alone, a traffic chart for the last hour, and tabs for routing, environment, database, git and live logs. Share it publicly in one click with a Cloudflare tunnel.
- Per-site stats from Caddy access logs
- Routing, Environment, Database, Git and Logs tabs
- Open, Terminal, Reveal in Finder, Share

Any PHP version, per site
Install versions from Homebrew, switch a site between them, and edit php.ini for a version or override it for a single site - all in a form, not a text file.
- One php-fpm master per version, one pool per site
- Per-site php.ini overrides
- Xdebug toggle per site

MySQL and MariaDB, side by side
Run several servers, each with its own port and data directory. Create and assign databases, import dumps, take snapshots and jump into phpMyAdmin.
- Multiple servers on different ports
- Snapshots, restore and .sql/.zip import
- phpMyAdmin at phpmyadmin.test

Services that stay up
Caddy, dnsmasq, PHP and MySQL run as launchd agents, so they keep running when you quit Bothy and restart if they crash. Add Mailpit, Redis, Memcached and Node when you need them.
- CPU and memory per service
- One-click add-ons
- Service logs in the app

Built for AI-assisted development
Bothy ships an MCP server and a CLI that share the app's core. Install it into Claude Desktop or Cowork with one click, register it with Claude Code or Codex, or paste JSON into any other MCP client.
- bothy_* tools for Claude
- Every CLI command supports --json
- Works with Cursor, Windsurf, Zed, VS Code

Deep dives
Per-site versions, php-fpm pools and php.ini overrides.
MySQL & MariaDBSeveral servers side by side, snapshots and imports.
Local HTTPSTrusted certificates on every .test domain.
XdebugStep debugging, switched on per site.
MailpitCatch every email your sites send.
Live logs & monitoringRequests, errors, p95 and tail -f logs per site.
The bothy CLIEverything the app does, with --json.
MCP serverLet Claude, Codex and Cursor drive your environment.
And the rest
The full list, grouped by area.
dnsmasq answers *.test and Caddy serves every site over HTTPS with its own trusted certificate authority.
Paste a repo URL, or sign in with the GitHub CLI and pick one of your repositories. Bothy clones it, runs composer install and creates the database in one go.
Sites that are git repos get a branch mark in the sidebar and a Git tab showing the current branch and every new, modified, deleted or renamed file, so you can see what you've touched before you commit.
RewriteRules are converted into the site's Caddy vhost, so Apache-era projects run unchanged.
app.wasteprime becomes app.wasteprime.test.
Set env vars and toggle Xdebug per site from the app or CLI.
Drag sites into folders, pin favourites, filter and sort. Built for dozens of client sites.
New WordPress, Laravel, Symfony, Craft CMS, Statamic or Drupal site in one step, config already pointing at its database.
Zip a site with its database dumps and config, or open a temporary public URL through a Cloudflare tunnel.
One php-fpm master per version and one pool per site.
Override memory_limit, upload limits and anything else for a single site, or for a whole PHP version.
Run MySQL and MariaDB versions side by side, each with its own port, socket and data directory.
Gzipped snapshots, one-click restore, and imports of .sql, .sql.gz or .zip dumps with DEFINER clauses stripped.
Available at phpmyadmin.test.
Catches outgoing mail at mail.test, with an unread badge in the sidebar.
Add-ons run alongside your other services, with the matching PHP extensions installed for you.
Services running, requests and 5xx errors per hour, and total memory at a glance.
Requests per hour, 4xx/5xx counts and p95 response time from Caddy's access logs, plus per-pool FPM stats.
Follow PHP and access logs like tail -f, with a filter field and pause.
bothy doctor reports on Homebrew, binaries, the resolver, PHP and database versions and every service, and names the command that fixes anything missing.
Install Bothy as a desktop extension with one click. New Cowork tasks get bothy_* tools.
Register the MCP server with Claude Code or Codex, or paste JSON into Cursor, Windsurf, Zed or VS Code.
Everything the app does, from any terminal. Every command supports --json.
Services run as user agents, so they keep running after you quit the app and restart if they crash.