Supercharge AI Agents, Safely
# Add to your Claude Code skills
git clone https://github.com/smart-mcp-proxy/mcpproxy-goMCPProxy is an open-source desktop application that super-charges AI agents with intelligent tool discovery, massive token savings, and built-in security quarantine against malicious MCP servers.
🌐 Visit mcpproxy.app
retrieve_tools function instead of hundreds of schemas. Research shows ~99 % token reduction with 43 % accuracy improvement.macOS (Recommended - DMG Installer):
Download the latest DMG installer for your architecture:
mcpproxy-*-darwin-arm64.dmgmcpproxy-*-darwin-amd64.dmgNo comments yet. Be the first to share your thoughts!
Windows (Recommended - Installer):
Download the latest Windows installer for your architecture:
mcpproxy-setup-*-amd64.exemcpproxy-setup-*-arm64.exeThe installer automatically:
mcpproxy.exe (core server) and mcpproxy-tray.exe (system tray app) to Program Files.\mcpproxy-setup.exe /VERYSILENTAlternative install methods:
macOS (Homebrew):
brew install smart-mcp-proxy/mcpproxy/mcpproxy
Manual download (all platforms):
Prerelease Builds (Latest Features):
Want to try the newest features? Download prerelease builds from the next branch:
dmg-darwin-arm64 (Apple Silicon Macs)dmg-darwin-amd64 (Intel Macs)versioned-linux-amd64, versioned-windows-amd64 (other platforms)Note: Prerelease builds are signed and notarized for macOS but contain cutting-edge features that may be unstable.
Anywhere with Go 1.22+:
go install github.com/smart-mcp-proxy/mcpproxy-go/cmd/mcpproxy@latest
mcpproxy serve # starts HTTP server on :8080 and shows tray
Edit mcp_config.json (see below). Or ask LLM to add servers (see doc).
📖 Complete Setup Guide - Detailed instructions for Cursor, VS Code, Claude Desktop, and Goose
"MCPProxy": {
"type": "http",
"url": "http://localhost:8080/mcp/"
}
~/.mcpproxy/mcp_config.json){
"listen": "127.0.0.1:8080", // Localhost-only by default for security
"data_dir": "~/.mcpproxy",
"enable_tray": true,
// Search & tool limits
"top_k": 5,
"tools_limit": 15,
"tool_response_limit": 20000,
// Optional HTTPS configuration (disabled by default)
"tls": {
"enabled": false, // Set to true to enable HTTPS
"require_client_cert": false,
"hsts": true
},
"mcpServers": [
{ "name": "local-python", "command": "python", "args": ["-m", "my_server"], "protocol": "stdio", "enabled": true },
{ "name": "remote-http", "url": "http://localhost:3001", "protocol": "http", "enabled": true }
]
}
| Field | Description | Default |
|-------|-------------|---------|
| listen | Address the proxy listens on | 127.0.0.1:8080 |
| data_dir | Folder for config, DB & logs | ~/.mcpproxy |
| enable_tray | Show native system-tray UI | true |
| top_k | Tools returned by retrieve_tools | 5 |
| tools_limit | Max tools returned to client | 15 |
| tool_response_limit | Auto-truncate responses above N chars (0 disables) | 20000 |
| tls.enabled | Enable HTTPS with local CA certificates | false |
| tls.require_client_cert | Enable mutual TLS (mTLS) for client authentication | false |
| tls.certs_dir | Custom directory for TLS certificates | {data_dir}/certs |
| tls.hsts | Send HTTP Strict Transport Security headers | true |
| docker_isolation | Docker security isolation settings (see below) | enabled: false |
Main Commands:
mcpproxy serve # Start proxy server with system tray
mcpproxy tools list --server=NAME # Debug tool discovery for specific server
mcpproxy trust-cert # Install CA certificate as trusted (for HTTPS)
Management Commands:
# Single-server operations
mcpproxy upstream list # List all servers with status
mcpproxy upstream restart <name> # Restart specific server
mcpproxy upstream enable <name> # Enable specific server
mcpproxy upstream disable <name> # Disable specific server
mcpproxy upstream logs <name> # View server logs (--tail, --follow)
# Bulk operations (multiple servers)
mcpproxy upstream restart --all # Restart all configured servers
mcpproxy upstream enable --all # Enable all servers
mcpproxy upstream disable --all # Disable all servers
# Health diagnostics
mcpproxy doctor # Run comprehensive health checks
Management Service Architecture:
All management operations (CLI, REST API, and MCP protocol) share a unified service layer that provides:
disable_management and read_only_mode settingsServe Command Flags:
mcpproxy serve --help
-c, --config <file> path to mcp_config.json
-l, --listen <addr> listen address for HTTP mode
-d, --data-dir <dir> custom data directory
--log-level <level> trace|debug|info|warn|error
--log-to-file enable logging to file in standard OS location
--read-only enable read-only mode
--disable-management disable management features
--allow-server-add allow adding new servers (default true)
--allow-server-remove allow removing existing servers (default true)
--enable-prompts enable prompts for user input (default true)
--tool-response-limit <num> tool response limit in characters (0 = disabled)
Tools Command Flags:
mcpproxy tools list --help
-s, --server <name> upstream server name (required)
-l, --log-level <level> trace|debug|info|warn|error (default: info)
-t, --timeout <duration> connection timeout (default: 30s)
-o, --output <format> output format: table|json|yaml (default: table)
-c, --config <file> path to mcp_config.json
Debug Examples:
# List tools with trace logging to see all JSON-RPC frames
mcpproxy tools list --server=github-server --log-level=trace
# List tools with custom timeout for slow servers
mcpproxy tools list --server=slow-server --timeout=60s
# Output tools in JSON format for scripting
mcpproxy tools list --server=weather-api --output=json
MCPProxy p