Skip to content

MCP Server

Blaze includes a built-in MCP (Model Context Protocol) server so any MCP-capable AI assistant — Claude Desktop, Claude Code, Cursor, Codex, and others — can manage your Blaze sites conversationally. List sites, tail logs, run WP-CLI, create and delete sites, all through natural language in your editor.

The MCP server is free for all users. It runs locally and talks to the Blaze app over the same Unix socket the CLI uses — nothing leaves your machine.

  1. Open Settings → MCP Server
  2. Find your client in the list — each row shows one of:
    • Installed — Blaze is already configured in that client
    • Not installed — click Install to add it
    • Client not detected — the client isn’t installed on this Mac
  3. Click Install next to the client you want
  4. Restart the client so it picks up the new MCP server

Supported clients:

  • Claude Desktop
  • Claude Code
  • Cursor
  • Codex
  • Antigravity
  • OpenCode
  • Copilot (VS Code)

Click Remove to strip Blaze from a client’s config. Installs and removes are atomic — your other MCP servers in the same config file are left untouched.

If your MCP client isn’t in the one-click list (Zed, Continue, Cline, etc.) or you want to use a project-scoped config instead of the global one, add Blaze manually.

Point any MCP client at the bundled blaze-mcp binary:

/Applications/Blaze.app/Contents/Resources/bin/blaze-mcp

It communicates over stdio and takes no arguments.

Most clients use a mcpServers block in a JSON config file. Add this entry:

{
"mcpServers": {
"blaze": {
"command": "/Applications/Blaze.app/Contents/Resources/bin/blaze-mcp",
"args": []
}
}
}

Clients that use TOML config files expect the same settings in TOML form:

[mcp_servers.blaze]
command = "/Applications/Blaze.app/Contents/Resources/bin/blaze-mcp"
args = []

Some clients (Cursor, Claude Code) support a per-project MCP config that overrides or supplements the global one. Drop the JSON snippet above into one of:

  • Cursor: <project>/.cursor/mcp.json
  • Claude Code: <project>/.mcp.json (at the project root, under the mcpServers key)

Project-scoped configs are useful when Blaze is only relevant for one repo.

  • Blaze.app must be running when the client calls a tool. The MCP server exits cleanly if it can’t reach the Blaze Unix socket.
  • No additional environment variables or authentication — the socket’s filesystem permissions (0600, user-scoped) are the only auth layer.

Once installed, just ask your assistant. Examples:

  • “List my Blaze sites.”
  • “Show the last 50 lines of the error log for myblog.”
  • “Install WooCommerce on myblog.”
  • “Create a new site called demo on PHP 8.3.”
  • “Switch myblog to PHP 8.2.”

The assistant picks the right tool automatically. The Blaze app must be running — if it isn’t, the tool returns a clear “Blaze app is not running” message.

ToolWhat it does
list_sitesAll sites with name, URL, PHP version, status
get_site_infoFull metadata for one site
get_logsLast N lines of a site’s error/access/PHP log
list_php_versionsInstalled PHP versions and the default
get_server_statusBlaze Nginx/MariaDB status, ports, uptime
get_tunnel_statusTunnel state for any exposed sites
ToolWhat it does
wp_cliSafe read-only WP-CLI subcommands (plugin list, option get, user list, core version, etc.)
wp_cli_adminAny other WP-CLI command (db *, search-replace, plugin delete, core update, etc.) — gated by confirmation
ToolWhat it does
create_siteCreate a new site with optional PHP version and domain
start_site / stop_siteStart or stop a site
delete_siteDelete a site — gated by confirmation
change_php_versionSwitch a site’s PHP-FPM pool to a different version

Clients that support MCP resources can also read:

  • blaze://sites — all sites as JSON
  • blaze://sites/{name}/config — one site’s metadata
  • blaze://sites/{name}/logs/error — recent error log snapshot
  • blaze://sites/{name}/logs/access — recent access log snapshot

Destructive tools (wp_cli_admin and delete_site) require a second approval pass by default:

  1. The assistant invokes the tool
  2. Blaze returns confirmation_required with a description of what will happen
  3. Your assistant shows this to you and waits
  4. You tell it to proceed — the assistant re-invokes with confirmed: true
  5. Blaze executes

Toggle this in Settings → MCP Server → Require confirmation for destructive operations. The default is on, and we recommend keeping it on — your MCP client’s own approval dialog runs on top of this as a separate layer.

The wp_cli tool only accepts a curated list of safe subcommands. Anything else returns an error telling the assistant to use wp_cli_admin instead, which then goes through the confirmation gate. This keeps routine reads fast and write operations deliberate.

Open Blaze.app. The MCP server needs the app running to answer any tool call.

Client shows “Not installed” after clicking Install

Section titled “Client shows “Not installed” after clicking Install”

Most clients only read their config at startup. Fully quit and reopen the client — not just close the window.

The client isn’t installed, or its config directory doesn’t exist yet. Open the client once so it creates its config, then come back to the MCP Server tab and install.

Check Settings → MCP Server → Require confirmation for destructive operations. If it’s off, Blaze executes immediately. Turn it back on.