mcpb is a small macOS CLI for launching Chromium-based browsers in MCP-compatible mode.
It looks up browsers dynamically from /Applications and ~/Applications, restarts them when needed, launches them with a dedicated MCP profile, and prints ready-to-paste config snippets for Claude Desktop, Claude Code, and Codex.
- Runtime browser discovery with no hardcoded list of installed apps
- Case-insensitive browser selection through
mcpb open --<browser> - Safe restart prompt when the browser is already running
- Dedicated user-data directory for MCP mode
- Ready-to-paste config snippets for common MCP clients
- macOS
- A Chromium-based browser installed in
/Applicationsor~/Applications - Rust 1.86+ to build from source
Build and install from the repository:
cargo install --path .If you prefer a local dev build without installing:
cargo run -- open --<your browser name>Open a browser in MCP mode:
mcpb open --<your browser name>Override the debug port:
mcpb open --<your browser name> --port 9333When the browser is already running, mcpb asks for confirmation before restarting it:
Browser "<your browser name>" must be restarted for MCP mode. Close it now? [Y/n]
On success it prints:
- the local debug endpoint
- a Claude Desktop JSON snippet
- a
claude mcp add-jsoncommand for Claude Code - a
config.tomlblock for Codex
The browser flag is matched case-insensitively against:
- the
.appbundle name CFBundleNameCFBundleExecutable
Examples:
mcpb open --bravemcpb open --BrAvEmcpb open --diamcpb open --chrome
Run the test suite:
cargo testFormat the code:
cargo fmtmcpbis intentionally macOS-only in its current version.- It always uses a dedicated MCP browser profile instead of your default browser profile.
- Malformed
.appbundles are skipped during discovery instead of breaking the command.