Skip to main content

Building MCPProxy

This document covers building MCPProxy from source.

Prerequisites

  • Go 1.21+
  • Node.js 20+ (for web UI and E2E tests)
  • CGO enabled for tray application (macOS/Linux)

Quick Build

# Core server (headless)
go build -o mcpproxy ./cmd/mcpproxy

# Tray application (requires CGO on macOS)
CGO_ENABLED=1 go build -o mcpproxy-tray ./cmd/mcpproxy-tray

# Both with make
make build

Platform-Specific Builds

macOS

# Intel
GOOS=darwin GOARCH=amd64 go build -o mcpproxy-darwin-amd64 ./cmd/mcpproxy

# Apple Silicon
GOOS=darwin GOARCH=arm64 go build -o mcpproxy-darwin-arm64 ./cmd/mcpproxy

# Tray (requires CGO)
GOOS=darwin CGO_ENABLED=1 go build -o mcpproxy-tray ./cmd/mcpproxy-tray

Windows

# AMD64
GOOS=windows GOARCH=amd64 go build -o mcpproxy.exe ./cmd/mcpproxy

# ARM64
GOOS=windows GOARCH=arm64 go build -o mcpproxy.exe ./cmd/mcpproxy

# Tray (no CGO needed on Windows)
GOOS=windows go build -o mcpproxy-tray.exe ./cmd/mcpproxy-tray

Linux

# AMD64
GOOS=linux GOARCH=amd64 go build -o mcpproxy-linux-amd64 ./cmd/mcpproxy

# ARM64
GOOS=linux GOARCH=arm64 go build -o mcpproxy-linux-arm64 ./cmd/mcpproxy

Cross-Platform Build Script

# Build for all platforms
./scripts/build.sh

Windows Installer

# Using Inno Setup (recommended)
.\scripts\build-windows-installer.ps1 -Version "v1.0.0" -Arch "amd64"

# Using WiX Toolset
wix build -arch x64 -d Version=1.0.0.0 -d BinPath=dist\windows-amd64 wix\Package.wxs

Icon Generation

# Generate all icon files (PNG for macOS/Linux, ICO for Windows)
./scripts/logo-convert.sh

# Generate Windows ICO only
python3 scripts/create-ico.py

Build Tags

The tray application uses build tags:

  • tray_gui.go - GUI implementation (default)
  • tray_stub.go - Stub for headless builds

Development Mode

# Run with hot reload (requires air)
air

# Or manually rebuild and run
go build -o mcpproxy ./cmd/mcpproxy && ./mcpproxy serve

Verifying Build

# Check version
./mcpproxy --version

# Run health check
./mcpproxy doctor