Native WordPress development environments for macOS β plus a desktop GUI that drives them and an MCP server that lets your AI assistant operate them too. Every service β nginx, PHP-FPM, MySQL / MariaDB / SQLite, Redis / Memcached, Mailpit, and Elasticsearch β runs natively on the host. No Docker required (a Docker runtime is on the roadmap, not currently supported).
Made with β€οΈ by Akash Aman
wpx lets you spin up a fully-configured local WordPress site in
about 12 seconds:
wpx create mysite # β https://mysite.wpx
wpx create vipsite --vip # β VIP Go w/ memcached + ES
wpx create shop --domain myshop.dev # β custom domainEvery site gets its own nginx + php-fpm + database + cache quartet,
mkcert-issued HTTPS, a reverse proxy on :80/:443, and lifecycle
commands that survive reboots. The desktop app puts the same surface
behind a point-and-click GUI; the MCP server lets you drive all of it
from any AI client that speaks Model Context Protocol.
| Capability | Description |
|---|---|
| Create site | One command β full WordPress install with HTTPS in ~12 s |
| Multi-stack | PHP versions, MySQL / MariaDB / SQLite, Redis / Memcached, multisite + VIP support |
| HTTPS via mkcert | Locally-trusted certificates per site, no browser warnings |
| Reverse proxy | One nginx on :80/:443 routes every *.wpx hostname to its site |
| Pull from production | 3-step wizard: import dump β confirm domain mappings β search-replace + reproxy |
| Site lifecycle | start / stop / restart / reload (whole stack or per-service) |
| Doctor | Preflight + auto-fix for ports, hosts, mkcert, binaries, disk, proxy |
| Orphans | Detect & clean leftover processes / files from previous runs |
| Notifications drawer | Replay every toast surfaced this session (π in the topbar of the desktop app) |
| βK Command palette | Fuzzy navigate + run actions across sites, pages, tabs |
| MCP integration | 54+ tools for VS Code, Cursor, Claude Desktop |
| Self-update | wpx self-update upgrades CLI and desktop app in one command |
Every wpx capability is exposed as an MCP tool β 55 tools across 18 categories. Drop the JSON snippet from the in-app dialog (βK β mcp) into your client's config and the tools below light up automatically.
| Tool | Description |
|---|---|
cache_flush | Flush the object cache (Redis or Memcached) for a site. |
| Tool | Description |
|---|---|
search_replace | Run a search-replace across all WordPress tables. Handles serialized data safely. |
| Tool | Description |
|---|---|
site_list | List all wpx-managed WordPress sites with their domains, ports, and status. |
site_info | Show detailed configuration for a site: stack versions, ports, paths, features. Access the site via the domain URL (e.g. https://domain.test/) β do NOT use localhost:<port>. The ports object shows internal backend ports for direct DB/Redis connections only; the wpx proxy routes HTTP/HTTPS on standard ports 80/443. |
site_open | Get the URL for a site or one of its services (does not open a browser). |
site_env | Get environment variables for a site's shell (PHP path, socket paths, etc.). |
version | Print the wpx version. |
wpx_init | Initialize the wpx global directory (~/.wpx/) and local CA for HTTPS. |
| Tool | Description |
|---|---|
theme_list | List all installed themes for a site. |
theme_install | Install a WordPress theme from the theme directory or a URL. |
theme_activate | Activate an installed WordPress theme. |
| Tool | Description |
|---|---|
user_create | Create a WordPress user. |
user_list | List all WordPress users for a site. |
| Tool | Description |
|---|---|
wp_run | Execute any WP-CLI command against a site. Examples: 'plugin list', 'option get siteurl', 'cache flush', 'db query \ |
| Tool | Description |
|---|---|
xdebug_on | Enable Xdebug for a site. Returns IDE configuration. |
xdebug_off | Disable Xdebug for a site. |
xdebug_status | Check Xdebug status for a site. |
| Doc | What's in it |
|---|---|
| docs/cli.md | Full CLI command reference β every subcommand, every flag, real examples |
| docs/architecture.md | Stack, on-disk layout, process model, port allocation strategy |
The umbrella installer drops both the CLI binary and (on macOS) the desktop app in one go:
curl -fsSL https://raw.githubusercontent.com/akash-aman/wpx/main/install.sh | bashFlags:
| Flag | Effect |
|---|---|
--version vX.Y.Z |
Pin a specific release |
--cli-only |
Install only the CLI binary |
--app-only |
Install only the desktop app (macOS only) |
After install:
wpx --help # full CLI surface
wpx self-update --check # is a newer release available?
wpx self-update # upgrade both CLI + app
open -a wpx # launch the desktop appNote
wpx currently targets macOS on Apple Silicon (arm64) only. Intel Macs, Linux, and Windows are on the roadmap.
This repository is the public release distribution. Source code, issues, and pull requests live in the private codebase repo β please reach out at sir.akashaman@gmail.com if you'd like access.
By participating you agree to abide by the Code of Conduct. Found a security issue? Please follow the responsible-disclosure process in SECURITY.md β do not open a public issue.
This project is proprietary β see LICENSE for the full terms. The published binaries are licensed for personal, internal use only; redistribution, modification, and re-publishing of the source are not permitted. For commercial licensing or source-code access contact sir.akashaman@gmail.com.