{"id":32593860,"url":"https://github.com/smart-mcp-proxy/mcpproxy-go","last_synced_at":"2026-05-24T08:02:59.492Z","repository":{"id":299764602,"uuid":"1004056914","full_name":"smart-mcp-proxy/mcpproxy-go","owner":"smart-mcp-proxy","description":"Supercharge AI Agents, Safely","archived":false,"fork":false,"pushed_at":"2026-05-19T18:23:23.000Z","size":180604,"stargazers_count":221,"open_issues_count":16,"forks_count":25,"subscribers_count":3,"default_branch":"main","last_synced_at":"2026-05-19T21:17:34.600Z","etag":null,"topics":["ai","ai-agents","audit-logging","bm25","cli","context-window","developer-tools","docker","golang","llm","llm-tools","local-first","mcp","mcp-proxy","mcp-server","model-context-protocol","proxy-server","security","tool-routing","web-ui"],"latest_commit_sha":null,"homepage":"https://mcpproxy.app","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/smart-mcp-proxy.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"docs/contributing.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":"AGENTS.md","dco":null,"cla":null}},"created_at":"2025-06-18T03:59:17.000Z","updated_at":"2026-05-19T18:22:34.000Z","dependencies_parsed_at":"2026-03-10T13:15:21.276Z","dependency_job_id":null,"html_url":"https://github.com/smart-mcp-proxy/mcpproxy-go","commit_stats":null,"previous_names":["smart-mcp-proxy/mcpproxy-go"],"tags_count":206,"template":false,"template_full_name":null,"purl":"pkg:github/smart-mcp-proxy/mcpproxy-go","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smart-mcp-proxy%2Fmcpproxy-go","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smart-mcp-proxy%2Fmcpproxy-go/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smart-mcp-proxy%2Fmcpproxy-go/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smart-mcp-proxy%2Fmcpproxy-go/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/smart-mcp-proxy","download_url":"https://codeload.github.com/smart-mcp-proxy/mcpproxy-go/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/smart-mcp-proxy%2Fmcpproxy-go/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33426013,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-23T22:14:44.296Z","status":"online","status_checked_at":"2026-05-24T02:00:06.296Z","response_time":57,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["ai","ai-agents","audit-logging","bm25","cli","context-window","developer-tools","docker","golang","llm","llm-tools","local-first","mcp","mcp-proxy","mcp-server","model-context-protocol","proxy-server","security","tool-routing","web-ui"],"created_at":"2025-10-30T02:02:38.587Z","updated_at":"2026-05-24T08:02:59.486Z","avatar_url":"https://github.com/smart-mcp-proxy.png","language":"Go","funding_links":[],"categories":["Aggregators \u0026 Gateways","Serving","Go","📦 Other","📚 Projects (2474 total)","Utilities","CI/CD \u0026 DevOps Pipelines","Open-source MCP Gateways","Gateways \u0026 Proxies","Defense \u0026 Security Controls"],"sub_categories":["Gateways \u0026 Proxies","Frameworks/Servers for Serving","MCP Servers","Proxies and Gateways","🔗 Aggregators","MCP Security"],"readme":"\u003cp align=\"center\"\u003e\n  \u003ca href=\"https://mcpproxy.app\" target=\"_blank\" rel=\"noopener\"\u003e\n    \u003cimg src=\"docs/social.png\" alt=\"MCPProxy — Supercharge AI Agents, Safely · One safe endpoint in front of every MCP server\" width=\"100%\" /\u003e\n  \u003c/a\u003e\n\u003c/p\u003e\n\n\u003cdiv align=\"center\"\u003e\n\n[![Release](https://img.shields.io/github/v/release/smart-mcp-proxy/mcpproxy-go?sort=semver)](https://github.com/smart-mcp-proxy/mcpproxy-go/releases)\n[![Build](https://github.com/smart-mcp-proxy/mcpproxy-go/actions/workflows/unit-tests.yml/badge.svg)](https://github.com/smart-mcp-proxy/mcpproxy-go/actions/workflows/unit-tests.yml)\n[![Go Report Card](https://goreportcard.com/badge/github.com/smart-mcp-proxy/mcpproxy-go)](https://goreportcard.com/report/github.com/smart-mcp-proxy/mcpproxy-go)\n[![Go Reference](https://pkg.go.dev/badge/github.com/smart-mcp-proxy/mcpproxy-go.svg)](https://pkg.go.dev/github.com/smart-mcp-proxy/mcpproxy-go)\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](LICENSE)\n[![GitHub stars](https://img.shields.io/github/stars/smart-mcp-proxy/mcpproxy-go?style=social)](https://github.com/smart-mcp-proxy/mcpproxy-go/stargazers)\n[![OpenSSF Scorecard](https://api.securityscorecards.dev/projects/github.com/smart-mcp-proxy/mcpproxy-go/badge)](https://securityscorecards.dev/viewer/?uri=github.com/smart-mcp-proxy/mcpproxy-go)\n\n\u003c/div\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"docs/demo.gif\" alt=\"MCPProxy web UI demo: server dashboard, tool discovery, activity log, and security quarantine\" width=\"900\" /\u003e\n\u003c/p\u003e\n\n\u003cp align=\"center\"\u003e\n  \u003cstrong\u003e📺 \u003ca href=\"https://youtu.be/2aKrgJnbbcw\"\u003eWatch the full walkthrough\u003c/a\u003e\u003c/strong\u003e \u0026nbsp;·\u0026nbsp;\n  \u003cstrong\u003e📚 \u003ca href=\"https://docs.mcpproxy.app/\"\u003eRead the docs\u003c/a\u003e\u003c/strong\u003e \u0026nbsp;·\u0026nbsp;\n  \u003cstrong\u003e🌐 \u003ca href=\"https://mcpproxy.app\"\u003emcpproxy.app\u003c/a\u003e\u003c/strong\u003e\n\u003c/p\u003e\n\n\u003e The demo above shows the **embedded web UI**. The MCPProxy **core is a single binary for macOS, Linux, and Windows** — the web UI ships inside it, with no extra service to run. On **macOS**, an optional **menu‑bar app** adds one‑click convenience (start/stop, server health, quarantine, logs).\n\n\u003cdiv align=\"center\"\u003e\n  \u003cimg src=\"docs/screenshot-macos-tray.png\" height=\"300\" alt=\"MCPProxy macOS menu-bar app\" /\u003e\n  \u0026nbsp;\u0026nbsp;\u0026nbsp;\u0026nbsp;\n  \u003cimg src=\"docs/screenshot-macos-activity.png\" height=\"300\" alt=\"MCPProxy macOS app — Activity log with sensitive-data detection\" /\u003e\n  \u003cbr /\u003e\n  \u003cem\u003emacOS menu‑bar app \u0026nbsp;\u0026nbsp;·\u0026nbsp;\u0026nbsp; Activity log \u0026amp; audit in the macOS app\u003c/em\u003e\n\u003c/div\u003e\n\n\n## Why MCPProxy?\n\n- **Scale beyond API limits** – Federate hundreds of MCP servers while bypassing Cursor's 40-tool limit and OpenAI's 128-function cap.\n- **Save tokens \u0026 accelerate responses** – Agents load just one `retrieve_tools` function instead of hundreds of schemas. Research shows ~99 % token reduction with **43 % accuracy improvement**.\n- **Advanced security protection** – Automatic quarantine blocks Tool Poisoning Attacks until you manually approve new servers.\n- **Pluggable security scanners** – Run Snyk, Semgrep, Trivy, Cisco, and other Docker-based scanners against quarantined servers before you approve them; findings are normalized to SARIF with a composite risk score. See [Security scanner plugins](https://docs.mcpproxy.app/features/security-scanner-plugins/).\n- **Works offline \u0026 cross-platform** – A single core binary for macOS (Intel \u0026 Apple Silicon), Windows (x64 \u0026 ARM64), and Linux (x64 \u0026 ARM64), with the **web UI embedded**. macOS additionally ships an optional menu-bar app.\n\n---\n\n## Quick Start\n\n### 1. Install\n\n**macOS (Recommended - DMG Installer):**\n\nDownload the latest DMG installer for your architecture:\n- **Apple Silicon (M1/M2):** [Download DMG](https://github.com/smart-mcp-proxy/mcpproxy-go/releases/latest) → `mcpproxy-*-darwin-arm64.dmg`\n- **Intel Mac:** [Download DMG](https://github.com/smart-mcp-proxy/mcpproxy-go/releases/latest) → `mcpproxy-*-darwin-amd64.dmg`\n\n**Windows (Recommended - Installer):**\n\nDownload the latest Windows installer for your architecture:\n- **x64 (64-bit):** [Download Installer](https://github.com/smart-mcp-proxy/mcpproxy-go/releases/latest) → `mcpproxy-setup-*-amd64.exe`\n- **ARM64:** [Download Installer](https://github.com/smart-mcp-proxy/mcpproxy-go/releases/latest) → `mcpproxy-setup-*-arm64.exe`\n\nThe installer automatically:\n- Installs both `mcpproxy.exe` (core server) and `mcpproxy-tray.exe` (system tray app) to Program Files\n- Adds MCPProxy to your system PATH for command-line access\n- Creates Start Menu shortcuts\n- Supports silent installation: `.\\mcpproxy-setup.exe /VERYSILENT`\n\n**Alternative install methods:**\n\nmacOS (Homebrew):\n```bash\n# macOS — GUI tray app (recommended):\nbrew install --cask smart-mcp-proxy/mcpproxy/mcpproxy\n\n# macOS / Linux — headless CLI only:\nbrew install smart-mcp-proxy/mcpproxy/mcpproxy\n```\n\nThe cask installs the menu-bar app (bundles the CLI); the formula is the CLI binary only. Both update via `brew upgrade`.\n\nLinux (Debian/Ubuntu) — apt repository, auto-updates via `apt upgrade`:\n```bash\nsudo install -m 0755 -d /etc/apt/keyrings\ncurl -fsSL https://apt.mcpproxy.app/mcpproxy.gpg \\\n  | sudo tee /etc/apt/keyrings/mcpproxy.gpg \u003e /dev/null\necho \"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/mcpproxy.gpg] https://apt.mcpproxy.app stable main\" \\\n  | sudo tee /etc/apt/sources.list.d/mcpproxy.list \u003e /dev/null\nsudo apt update \u0026\u0026 sudo apt install mcpproxy\n```\n\nLinux (Fedora / RHEL / Rocky / AlmaLinux) — dnf repository, auto-updates via `dnf upgrade`:\n```bash\nsudo dnf config-manager --add-repo https://rpm.mcpproxy.app/mcpproxy.repo\n# Fedora 41+ (dnf5): sudo curl -fsSL https://rpm.mcpproxy.app/mcpproxy.repo -o /etc/yum.repos.d/mcpproxy.repo\nsudo dnf install -y mcpproxy\n```\n\nArch Linux (AUR): [`mcpproxy-bin`](https://aur.archlinux.org/packages/mcpproxy-bin)\n```bash\nyay -S mcpproxy-bin\n# or\ngit clone https://aur.archlinux.org/mcpproxy-bin.git \u0026\u0026 cd mcpproxy-bin \u0026\u0026 makepkg -si\n```\n\nThe apt and dnf packages ship a hardened `systemd` unit and start the service automatically. Repository signing key fingerprint: `3B6F A1AD 5D53 59DA 51F1  8DDC E1B5 9B9B A1CB 8A3B`.\n\nFor one-off `.deb` / `.rpm` downloads (air-gapped installs), grab them from the [latest release](https://github.com/smart-mcp-proxy/mcpproxy-go/releases/latest).\n\nManual download (all platforms):\n- **Linux tarball**: [AMD64](https://github.com/smart-mcp-proxy/mcpproxy-go/releases/latest/download/mcpproxy-latest-linux-amd64.tar.gz) | [ARM64](https://github.com/smart-mcp-proxy/mcpproxy-go/releases/latest/download/mcpproxy-latest-linux-arm64.tar.gz)\n- **Windows**: [AMD64](https://github.com/smart-mcp-proxy/mcpproxy-go/releases/latest/download/mcpproxy-latest-windows-amd64.zip) | [ARM64](https://github.com/smart-mcp-proxy/mcpproxy-go/releases/latest/download/mcpproxy-latest-windows-arm64.zip)\n\n**Prerelease Builds (Latest Features):**\n\nWant to try the newest features? Download prerelease builds from the `next` branch:\n\n1. Go to [GitHub Actions](https://github.com/smart-mcp-proxy/mcpproxy-go/actions)\n2. Click the latest successful \"Prerelease\" workflow run\n3. Download from **Artifacts**:\n   - `dmg-darwin-arm64` (Apple Silicon Macs)\n   - `dmg-darwin-amd64` (Intel Macs)\n   - `versioned-linux-amd64`, `versioned-windows-amd64` (other platforms)\n\n\u003e **Note**: Prerelease builds are signed and notarized for macOS but contain cutting-edge features that may be unstable.\n\n- **macOS**: [Intel](https://github.com/smart-mcp-proxy/mcpproxy-go/releases/latest/download/mcpproxy-latest-darwin-amd64.tar.gz) | [Apple Silicon](https://github.com/smart-mcp-proxy/mcpproxy-go/releases/latest/download/mcpproxy-latest-darwin-arm64.tar.gz)\n\nAnywhere with Go 1.25+:\n```bash\ngo install github.com/smart-mcp-proxy/mcpproxy-go/cmd/mcpproxy@latest\n```\n\n### 2. Run\n\n```bash\nmcpproxy serve          # starts HTTP server on :8080 and shows tray\n```\n\n### 3. Add your first server\n\nCreate or edit `~/.mcpproxy/mcp_config.json`:\n\n```jsonc\n{\n  \"listen\": \"127.0.0.1:8080\",\n  \"mcpServers\": [\n    { \"name\": \"local-python\", \"command\": \"python\", \"args\": [\"-m\", \"my_server\"], \"protocol\": \"stdio\", \"enabled\": true },\n    { \"name\": \"remote-http\", \"url\": \"http://localhost:3001\", \"protocol\": \"http\", \"enabled\": true }\n  ]\n}\n```\n\nSee [Configuration](https://docs.mcpproxy.app/configuration/config-file/) and [Upstream Servers](https://docs.mcpproxy.app/configuration/upstream-servers/) for the full reference.\n\n### 4. Connect to your IDE/AI tool\n\n📖 **[Complete Setup Guide](docs/setup.md)** - Detailed instructions for Cursor, VS Code, Claude Desktop, and Goose\n\n## Add proxy to Cursor\n\n### One-click install into Cursor IDE\n\n[![Install in Cursor IDE](https://img.shields.io/badge/Install_in_Cursor-3e44fe?logo=data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94P…\u0026style=for-the-badge)](https://mcpproxy.app/cursor-install.html)\n\n### Manual install\n\n\n1. Open Cursor Settings\n2. Click \"Tools \u0026 Integrations\"\n3. Add MCP server\n```json\n    \"MCPProxy\": {\n      \"type\": \"http\",\n      \"url\": \"http://localhost:8080/mcp/\"\n    }\n```\n\n---\n\n## 🔐 Optional HTTPS Setup\n\nMCPProxy works with HTTP by default for easy setup. HTTPS is optional and primarily useful for production environments or when stricter security is required.\n\n**💡 Note**: Most users can stick with HTTP (the default) as it works perfectly with all supported clients including Claude Desktop, Cursor, and VS Code.\n\n### Quick HTTPS Setup\n\n**1. Enable HTTPS** (choose one method):\n```bash\n# Method 1: Environment variable\nexport MCPPROXY_TLS_ENABLED=true\nmcpproxy serve\n\n# Method 2: Config file\n# Edit ~/.mcpproxy/mcp_config.json and set \"tls.enabled\": true\n```\n\n**2. Trust the certificate** (one-time setup):\n```bash\nmcpproxy trust-cert\n```\n\n**3. Use HTTPS URLs**:\n- MCP endpoint: `https://localhost:8080/mcp`\n- Web UI: `https://localhost:8080/ui/`\n\n### Claude Desktop Integration\n\nFor Claude Desktop, add this to your `claude_desktop_config.json`:\n\n**HTTP (Default - Recommended):**\n```json\n{\n  \"mcpServers\": {\n    \"mcpproxy\": {\n      \"command\": \"npx\",\n      \"args\": [\n        \"-y\",\n        \"mcp-remote\",\n        \"http://localhost:8080/mcp\"\n      ]\n    }\n  }\n}\n```\n\n**HTTPS (With Certificate Trust):**\n```json\n{\n  \"mcpServers\": {\n    \"mcpproxy\": {\n      \"command\": \"npx\",\n      \"args\": [\n        \"-y\",\n        \"mcp-remote\",\n        \"https://localhost:8080/mcp\"\n      ],\n      \"env\": {\n        \"NODE_EXTRA_CA_CERTS\": \"~/.mcpproxy/certs/ca.pem\"\n      }\n    }\n  }\n}\n```\n\n### Certificate Management\n\n- **Automatic generation**: Certificates created on first HTTPS startup\n- **Multi-domain support**: Works with `localhost`, `127.0.0.1`, `::1`\n- **Trust installation**: Use `mcpproxy trust-cert` to add to system keychain\n- **Certificate location**: `~/.mcpproxy/certs/` (ca.pem, server.pem, server-key.pem)\n\n### Troubleshooting HTTPS\n\n**Certificate trust issues**:\n```bash\n# Re-trust certificate\nmcpproxy trust-cert --force\n\n# Check certificate location\nls ~/.mcpproxy/certs/\n\n# Test HTTPS connection\ncurl -k https://localhost:8080/api/v1/status\n```\n\n**Claude Desktop connection issues**:\n- Ensure `NODE_EXTRA_CA_CERTS` points to the correct ca.pem file\n- Restart Claude Desktop after config changes\n- Verify HTTPS is enabled: `mcpproxy serve --log-level=debug`\n\n---\n\n## Documentation\n\n### Getting Started\n- [Installation](https://docs.mcpproxy.app/getting-started/installation/)\n- [Quick Start](https://docs.mcpproxy.app/getting-started/quick-start/)\n\n### Configuration\n- [Config File Reference](https://docs.mcpproxy.app/configuration/config-file/)\n- [Upstream Servers](https://docs.mcpproxy.app/configuration/upstream-servers/)\n- [Environment Variables](https://docs.mcpproxy.app/configuration/environment-variables/)\n\n### Features\n- [Search \u0026 Tool Discovery](https://docs.mcpproxy.app/features/search-discovery/)\n- [Security Quarantine](https://docs.mcpproxy.app/features/security-quarantine/)\n- [Security Scanner Plugins](https://docs.mcpproxy.app/features/security-scanner-plugins/)\n- [Docker Security Isolation](https://docs.mcpproxy.app/features/docker-isolation/)\n- [Secrets \u0026 Keyring Integration](https://docs.mcpproxy.app/features/keyring-integration/)\n- [OAuth Authentication](https://docs.mcpproxy.app/features/oauth-authentication/)\n- [Code Execution](https://docs.mcpproxy.app/features/code-execution/)\n- [Activity Log](https://docs.mcpproxy.app/features/activity-log/)\n- [Agent Tokens](https://docs.mcpproxy.app/features/agent-tokens/)\n- [Sensitive Data Detection](https://docs.mcpproxy.app/features/sensitive-data-detection/)\n\n### CLI Reference\n- [Command Reference](https://docs.mcpproxy.app/cli/command-reference/)\n- [Management Commands](https://docs.mcpproxy.app/cli/management-commands/)\n- [Activity Commands](https://docs.mcpproxy.app/cli/activity-commands/)\n- [Security Commands](https://docs.mcpproxy.app/cli/security-commands/)\n\n### API\n- [REST API](https://docs.mcpproxy.app/api/rest-api/)\n- [MCP Protocol](https://docs.mcpproxy.app/api/mcp-protocol/)\n\n---\n\n## Contributing\n\nWe welcome issues, feature ideas, and PRs!\n\n### Development Setup\n\n```bash\nmake dev-setup                # Install swag, frontend deps, Playwright\nbrew install prek             # Install pre-commit hook runner (or: uv tool install prek)\nprek install                  # Install pre-commit hooks\nprek install --hook-type pre-push  # Install pre-push hooks\n```\n\n### Pre-commit Hooks\n\nWe use [prek](https://github.com/j178/prek) to catch issues before they reach CI:\n\n| Hook | Stage | What it does |\n|------|-------|-------------|\n| `gofmt` | pre-commit | Auto-formats staged Go files |\n| `trailing-whitespace` | pre-commit | Removes trailing whitespace |\n| `end-of-file-fixer` | pre-commit | Ensures files end with newline |\n| `check-merge-conflict` | pre-commit | Detects merge conflict markers |\n| `swagger-verify` | pre-push | Fails if OpenAPI spec is out of date |\n| `go-build` | pre-push | Verifies the project compiles |\n\nRun hooks manually: `prek run --all-files`\n\n### Build \u0026 Test\n\n```bash\nmake build          # Build frontend + backend\nmake swagger        # Regenerate OpenAPI spec\nmake test           # Unit tests\nmake test-e2e       # E2E tests\nmake lint           # Run linters\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsmart-mcp-proxy%2Fmcpproxy-go","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsmart-mcp-proxy%2Fmcpproxy-go","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsmart-mcp-proxy%2Fmcpproxy-go/lists"}