This repository contains the Homebrew formula for mcpproxy, a Smart MCP Proxy for intelligent tool discovery and proxying for Model Context Protocol servers.
brew install smart-mcp-proxy/mcpproxy/mcpproxy# Add the tap
brew tap smart-mcp-proxy/mcpproxy
# Install mcpproxy
brew install mcpproxyAfter installation, you can use mcpproxy directly:
# Show version
mcpproxy --version
# Show help
mcpproxy --help
# Run with default settings
mcpproxy
# Run with custom config
mcpproxy --config /path/to/config.yaml
# Run with custom data directory
mcpproxy --data-dir /path/to/data
# Enable tray mode (default)
mcpproxy --tray
# Disable tray mode
mcpproxy --tray=falseIf you installed mcpproxy via Homebrew, you MUST disable the built-in auto-update feature to avoid conflicts with Homebrew's package management.
mcpproxy includes a built-in auto-updater that can replace the binary, which conflicts with Homebrew's expectations. When installed via Homebrew:
- The built-in updater will be automatically disabled (planned feature)
- Use Homebrew for updates instead:
brew update brew upgrade mcpproxy
- If auto-update happens accidentally, reinstall via Homebrew:
brew reinstall mcpproxy
mcpproxy currently includes these auto-update features:
- Daily checks for new releases from GitHub
- "Check for Updates..." option in system tray menu
- Automatic binary replacement when updates are found
These features work well for direct installations but can cause issues with package manager installations.
Create a LaunchAgent to start mcpproxy automatically on login:
# Option A: Download the plist file from this repository
curl -o ~/Library/LaunchAgents/com.smartmcpproxy.mcpproxy.plist \
https://raw.githubusercontent.com/smart-mcp-proxy/homebrew-mcpproxy/main/com.smartmcpproxy.mcpproxy.plist
# Option B: Create the plist file manually
cat > ~/Library/LaunchAgents/com.smartmcpproxy.mcpproxy.plist << 'EOF'
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.smartmcpproxy.mcpproxy</string>
<key>Program</key>
<string>/opt/homebrew/bin/mcpproxy</string>
<key>ProgramArguments</key>
<array>
<string>/opt/homebrew/bin/mcpproxy</string>
<string>--tray=true</string>
</array>
<key>RunAtLoad</key>
<true/>
<key>KeepAlive</key>
<true/>
<key>ProcessType</key>
<string>Interactive</string>
<key>StandardOutPath</key>
<string>/tmp/mcpproxy.out</string>
<key>StandardErrorPath</key>
<string>/tmp/mcpproxy.err</string>
</dict>
</plist>
EOF
# Load the LaunchAgent
launchctl load ~/Library/LaunchAgents/com.smartmcpproxy.mcpproxy.plist
# Start immediately
launchctl start com.smartmcpproxy.mcpproxyNote: If you have mcpproxy installed in a different location (e.g., Intel Mac uses /usr/local/bin/mcpproxy), update the path in the plist file accordingly.
- Open System Settings → General → Login Items
- Click the + button under "Open at Login"
- Navigate to
/opt/homebrew/bin/mcpproxyand add it - Optionally check "Hide" to start minimized to tray
# Stop the service
launchctl stop com.smartmcpproxy.mcpproxy
# Unload the LaunchAgent
launchctl unload ~/Library/LaunchAgents/com.smartmcpproxy.mcpproxy.plist
# Remove the plist file
rm ~/Library/LaunchAgents/com.smartmcpproxy.mcpproxy.plist- Open System Settings → General → Login Items
- Find mcpproxy in the list and click the - button
# List all LaunchAgents (look for mcpproxy)
launchctl list | grep mcpproxy
# Check logs
tail -f /tmp/mcpproxy.out /tmp/mcpproxy.err- Path not found: Update the path in the plist if mcpproxy is installed elsewhere
- Permission denied: Ensure the binary is executable:
chmod +x /opt/homebrew/bin/mcpproxy - Tray not showing: The app needs to run in an interactive session with GUI access
To update mcpproxy to the latest version:
brew update
brew upgrade mcpproxyTo remove mcpproxy:
brew uninstall mcpproxyTo remove the tap:
brew untap smart-mcp-proxy/mcpproxyThis formula is maintained as part of the mcpproxy project. For issues related to the Homebrew formula, please open an issue in the main mcpproxy repository.
When new versions of mcpproxy are released, this formula needs to be updated:
-
Get the new SHA256:
curl -sL "https://github.com/smart-mcp-proxy/mcpproxy-go/archive/refs/tags/vX.X.X.tar.gz" | shasum -a 256
-
Update Formula/mcpproxy.rb:
- Change the
urlto point to the new version tag - Replace the
sha256with the new hash
- Change the
-
Test the update:
brew install --build-from-source ./Formula/mcpproxy.rb brew test mcpproxy -
Commit and push:
git add Formula/mcpproxy.rb git commit -m "Update mcpproxy to vX.X.X" git push origin main
To improve Homebrew compatibility, consider these enhancements to mcpproxy:
-
Add environment variable detection:
// Disable auto-update when installed via package manager if os.Getenv("HOMEBREW_PREFIX") != "" { // Disable built-in updater autoUpdateEnabled = false }
-
Add --disable-auto-update flag:
mcpproxy --disable-auto-update --tray=true
-
Detection via binary path:
// Check if running from Homebrew installation execPath, _ := os.Executable() if strings.Contains(execPath, "/homebrew/") || strings.Contains(execPath, "/usr/local/") { // Likely installed via Homebrew autoUpdateEnabled = false }
This Homebrew formula is licensed under the same license as mcpproxy.