1.0 LocalSites for macOS is here →

Local web development, without the fiddling

Every project folder gets a real https://name.test address. PHP, MySQL, Laravel, WordPress and Next.js work out of the box. Free and open source, with an MCP server so your AI agent runs the same stack you do.

Free · MIT licence · Apple silicon · No account, no telemetry

LocalSites projects list with a Laravel project open, showing PHP version, web root, web server, Xdebug and database settings

Works with the stack you already use

PHPLaravelWordPressNext.jsNodeMySQLPostgreSQLApacheNginxDocker
22 MBThe whole app
24 MBBackground service at idle
7.4 to 8.5PHP, per project
$0Free and open source, for good
Projects

Drop in a folder. Open it over HTTPS.

LocalSites finds your projects, works out what they are, and serves each one with the right PHP, web server and certificate.

https://storefront.testLaravel · PHP 8.5
https://journal.testWordPress · PHP 8.3
https://dashboard.testNext.js · pnpm
https://docs-site.testStatic

HTTPS for every folder

Real certificates and .test domains, no port numbers. Uses Laravel Valet if you have it, or its own proxy and DNS.

7.48.08.28.38.48.5

PHP 7.4 to 8.5, per project

Each project gets its own PHP-FPM pool. Laravel uses the version composer.json asks for. Turn on Xdebug only for the project you're debugging.

ApacheNginx
.htaccesspretty URLsweb root

Apache or Nginx

Full .htaccess on Apache, or Nginx with pretty-URL fallback. The web root is detected for you.

$ pnpm dev --port {port} ✓ dashboard.test is up # restarted after a crash

Node, Next.js, Docker, anything

Runs your dev server behind a .test address and restarts it if it crashes. Django and Rails work too.

MailpitRedisValkeyMemcachedPostgreSQLMeilisearchMinIO

Add-ons in one click

Installed with Homebrew (you see the command first), with connection settings ready to paste. Reachable only from your Mac.

$ localsites on shop ✓ https://shop.test $ localsites set shop php=8.3 $ localsites db credentials shop --json

A CLI for everything

Everything the app does, from the terminal, with --json on every command for scripts.

Background service~24 MB at idle
MySQLasleep after 20 idle minutes
App22 MB, system web view

Small and quiet

No bundled browser and no polling. It waits for changes, and MySQL sleeps when nothing needs it.

Databases

A data browser that's safe by default

LocalSites MySQL, MAMP's MySQL, any MySQL or MariaDB over SSH, PostgreSQL and SQLite.

LocalSites data browser showing a products table in MySQL
  • Read-only firstEvery connection starts read-only.
  • See the SQL before it runsEdits are staged and saved in one transaction.
  • One login per projectNo shared root. Passwords live in the macOS Keychain.
  • Backups before anything riskyExport, import, restore and duplicate. Open in TablePlus, Sequel Ace or Adminer.
AI agents

Built for you and your agent

LocalSites is an MCP server. Claude Desktop, Claude Code, Cursor, VS Code and Windsurf connect in one click.

Connect Claude Desktop, Claude Code, Cursor, VS Code and Windsurf in one click
  • Typed toolsList projects, switch PHP, read logs, run health checks.
  • You approve risky actionsAgents can't approve themselves.
  • Secrets stay hiddenTools that reveal passwords are off unless you turn them on.
  • One click to connectThe agent's config is backed up first; only the LocalSites entry changes.
Everyday

Git, sharing and a doctor, built in

Git panel showing branch, changed files, branch tree and commit history
  • GitBranches, changes, history, and the pull request and CI status for your branch.
  • Share a siteA free Cloudflare tunnel with a password and a time limit. Never serves .env or .git.
  • DoctorChecks runtimes, ports, domains and certificates, with a fix for each problem.
  • Keyboard-first⌘K command palette, tabs, light and dark themes, a menu bar icon.
Switching

Coming from MAMP PRO, Herd, XAMPP or Valet?

Bring what you already have. LocalSites copies your databases, leaves the originals where they are, and checks every row before you switch.

FeatureLocalSitesMAMP PROLaravel HerdXAMPPLaravel ValetLocal
PriceFreePaid licenceFree; Pro $99/yearFreeFreeFree
Open sourceYes (MIT)NoNoYes (GPL)Yes (MIT)No
Mac appYesYesYesYesNo, command lineYes
HTTPS local domainsBuilt inYesYesManual setupYes, per siteYes
PHP version per projectYes, 7.4 to 8.5YesYesOne per installYesYes
MySQL includedYesYesPro onlyYes (MariaDB)NoYes
MCP server for AI agentsBuilt in, with approvalsYesYesNoNoThrough add-ons
Made forPHP, Node and DockerPHP sitesPHP and LaravelPHP sitesPHP and LaravelWordPress

From each product's own website and docs, November 2026. Something out of date? Let us know.

MAMP PRO and MAMP

Copy your databases in one step. The source is only read, and every table is checked row by row. Browse MAMP's MySQL in the data browser while you move over.

XAMPP

The same one-step copy for XAMPP's databases, verified table by table. Your XAMPP install isn't changed.

Laravel Valet

LocalSites runs alongside Valet. It uses Valet's domains and certificates, leaves your Valet sites where they are, and can move one over in one click.

Laravel Herd, DBngin or another MySQL

Export your databases with the tool you use today, then import the .sql, .sql.gz or .zip file. Each project gets its own login.

Local and other WordPress setups

Add the site's folder and import its database export. WordPress is detected automatically and served at https://name.test.

Docker, Next.js and Node

Keep your docker compose setup or dev server. LocalSites runs the command and serves it at https://name.test.

$ localsites import sources SOURCE NAME INSTALLED MYSQL mamp-pro MAMP PRO yes yes xampp XAMPP yes yes $ localsites import database mamp-pro shop_db ✓ copied every table ✓ checked row by row # the original is untouched
FAQ

Questions, answered

Is LocalSites a free alternative to MAMP PRO, Laravel Herd or XAMPP?

Yes. LocalSites is free and open source under the MIT licence, with no paid tier. It does the same core job: an HTTPS .test address for every project, PHP per project and MySQL. It can copy your databases from MAMP PRO, MAMP or XAMPP and check every row, and works alongside Laravel Valet.

How do I run several PHP versions on a Mac?

Install the versions you want with Homebrew (for example php@8.2 and php), then pick the version for each project in LocalSites. Each project gets its own PHP-FPM pool, and Laravel projects use the version their composer.json asks for.

Does LocalSites work with Laravel Valet?

Yes. If Valet is installed, LocalSites uses Valet's domains and certificates and shows Valet sites as served by Valet. Without Valet it runs its own HTTPS proxy and DNS for .test domains.

Can AI coding agents use LocalSites?

Yes. LocalSites is an MCP server. Claude Desktop, Claude Code, Cursor, VS Code and Windsurf connect in one click. Read-only tools run freely; risky actions wait for you to approve them in the app.

What do I need to install first?

Homebrew, then brew install httpd mysql@8.4 php, plus any other php@X.Y versions you want. LocalSites uses them directly.

How do I get HTTPS .test domains for local sites on a Mac?

Put a project folder in ~/Sites/localhost (or any folder you add) and switch it on in LocalSites. It is served at https://<folder>.test with a trusted certificate and no port number. LocalSites uses Laravel Valet's domains if you have Valet, or its own proxy and DNS otherwise.

How do I connect Claude Code, Cursor or VS Code to my local sites?

Open Settings → AI agents and click Connect next to your client, or run localsites mcp config. For Claude Code: claude mcp add localsites -- "$(which localsites)" mcp. The agent can then list projects, switch PHP versions, read logs and run health checks.

macOS says it can't verify LocalSites. What do I do?

LocalSites isn't notarized by Apple yet, because that needs a paid developer account. The code is open source. To open it the first time: click Done on the warning, open System Settings → Privacy & Security, scroll to Security and click Open Anyway next to LocalSites, then confirm. You only need to do this once.

Does LocalSites run on Windows or Linux?

Not yet. LocalSites is macOS only for now. Windows and Linux versions are planned.

Support

Free for everyone, and kept going by people like you.

LocalSites has no ads, no paid tier and no tracking. If it saves you time, a coffee helps keep it that way.

Sponsor on GitHub

Monthly or one-time. GitHub takes no fee, so all of it goes to LocalSites.

$5 a coffee$15 supporter$50 teamany amount
Become a sponsor

Pay with UPI or card

A one-off payment through Razorpay, handy if you're in India. Pick any amount you like.

UPICardsNetbankingany amount
Pay with Razorpay

Your local stack, sorted.

Requires macOS on Apple silicon and Homebrew.