Mcpproxy Go logo

Mcpproxy Go

by smart-mcp-proxy

Routes multiple MCP servers through one local endpoint with BM25 tool filtering, quarantine, logging, and an embedded web UI.

Install Mcpproxy Go

Pick your client, then add it in one click or paste the config.

Streamable HTTP (Remote)
Server URL
http://localhost:8080/mcp/

Remote servers are added in the app, not the config file: Customize → Connectors → Add custom connector, then paste this URL.

Overview

The smart-mcp-proxy/mcpproxy-go MCP server places a local HTTP proxy in front of multiple MCP servers and exposes them through one endpoint. It filters available tools with BM25 search so clients can discover relevant capabilities without loading every tool schema at once. Quarantine controls, activity logging, security scanner plugins, and an embedded web UI support review and monitoring of connected servers. Reach for it when an agent or IDE needs to work with many local or remote MCP servers, especially where client tool limits or server approval workflows matter.

Use cases

  • Aggregate local and remote MCP servers behind one endpoint
  • Filter a large tool catalog before exposing it to an agent
  • Review new MCP servers in quarantine before approval
  • Monitor MCP activity through the embedded web UI

Key features

  • BM25-based tool filtering
  • Single HTTP endpoint for multiple MCP servers
  • Server quarantine and manual approval
  • Activity logging and web UI
  • Optional Docker-based security scanners
  • Cross-platform core binary

Security & health

What it can reach and how reliably it runs — from our own checks, not the maintainer’s claims.

ActiveLast checked 1d ago

Recent health check succeeded.

15/16 checks healthy over the last 79d

Adoption & maintenance

Factual signals from GitHub, npm, and our automated checks — not a rating.

GitHub stars399Stargazers on the source repository.
Last commit1d agoMost recent push to the default branch.
Directory activity14 viewsConfig copies, upvotes, and views on AllMCPs.

How Mcpproxy Go works

What smart-mcp-proxy/mcpproxy-go does

The smart-mcp-proxy/mcpproxy-go MCP server aggregates multiple MCP servers behind a single local endpoint. It can connect to upstream servers configured with local stdio commands or HTTP URLs, then present those servers to an MCP client through the proxy.

The proxy is intended for environments where a client would otherwise need to load a large number of tools. Its BM25-based filtering helps agents retrieve relevant tools instead of exposing every schema at once.

An embedded web UI provides server status, tool discovery, activity logs, and quarantine management. The core is distributed as one binary for macOS, Linux, and Windows, so the web UI does not require a separate service.

How it works

After starting the proxy, an MCP client connects to its HTTP endpoint. The example configuration listens on 127.0.0.1:8080, and the Cursor example uses http://localhost:8080/mcp/. Upstream entries are listed in ~/.mcpproxy/mcp_config.json; each entry can define a command and arguments for a stdio server or a URL for an HTTP server.

The smart-mcp-proxy/mcpproxy-go MCP server uses a retrieve_tools function as the agent-facing discovery path described in the README. BM25 filtering selects relevant tools, reducing the amount of tool-definition data an agent needs to load. New servers can be quarantined until they are manually approved, and the project describes this as protection against Tool Poisoning Attacks.

Optional Docker-based scanner plugins can inspect quarantined servers. Supported examples named in the README include Snyk, Semgrep, Trivy, and Cisco scanners. Findings are normalized to SARIF and combined into a risk score.

Setup and configuration

Installers are available for macOS and Windows, while Linux users can install packages from the supplied APT, DNF, or AUR repositories. Homebrew formulas, release archives, and a Go installation command are also documented. The project requires Go 1.25 or newer when installing with Go.

Start the service with:

bash
mcpproxy serve

The command starts the HTTP server on port 8080 by default in the quick-start example. Add upstream servers to ~/.mcpproxy/mcp_config.json, then configure the client to use the proxy's MCP URL. The README includes setup guidance for Cursor, VS Code, Claude Desktop, and Goose.

On macOS, an optional menu-bar application adds controls for starting and stopping the proxy, checking server health, viewing quarantine state, and reviewing logs. Linux packages install a systemd unit and start the service automatically.

Tools and capabilities

  • Routes multiple configured MCP servers through one MCP endpoint.
  • Supports upstream stdio and HTTP server definitions.
  • Filters tools using BM25-based discovery.
  • Provides a retrieve_tools function for loading relevant tools.
  • Quarantines new servers pending manual approval.
  • Records activity and supports audit-oriented log viewing.
  • Offers an embedded web UI for server and tool management.
  • Supports pluggable Docker-based security scanners with SARIF findings and composite risk scores.
  • Runs on macOS, Linux, and Windows; the macOS distribution can include a menu-bar app.

Limitations and notes

The proxy is local software in the documented quick-start flow; the example binds to 127.0.0.1:8080. Scanner plugins are optional and depend on the external scanners and Docker-based setup described in the project documentation.

The project provides installers and packages rather than a language-specific MCP package-manager command. Client compatibility should be checked against the included setup instructions for the intended IDE or AI tool. Prerelease builds are described as potentially unstable, even though macOS prerelease artifacts are signed and notarized.

Reviews

No reviews yet — be the first to share how it worked for you.

Frequently Asked Questions about Mcpproxy Go

Use a macOS or Windows installer, a Homebrew, APT, DNF, or AUR package, a release archive, or install with Go 1.25+ using the command documented in the README.

Run `mcpproxy serve`. The quick-start configuration starts an HTTP server on `127.0.0.1:8080`.

The repository includes Claude Desktop in its client setup guide. The proxy is configured as an HTTP MCP server.

Add an HTTP MCP server in Cursor with the URL `http://localhost:8080/mcp/`, as shown in the README.

Yes. The project documents optional Docker-based scanner plugins, including Snyk, Semgrep, Trivy, and Cisco, with findings normalized to SARIF.

Related MCP servers

Add a badge to your READMEShow it’s listed — live SVG, Markdown or HTML.

AllMCPs Directory Badge

Full Badge Customizer

Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.

Badge Style:
Live Dynamic SVG PreviewMcpproxy Go AllMCPs Directory Badge
Markdown (GitHub README)
[![AllMCPs](https://allmcps.com/api/badge/smart-mcp-proxy-mcpproxy-go?style=directory)](https://allmcps.com/mcp/smart-mcp-proxy-mcpproxy-go)
HTML Embed
<a href="https://allmcps.com/mcp/smart-mcp-proxy-mcpproxy-go"><img src="https://allmcps.com/api/badge/smart-mcp-proxy-mcpproxy-go?style=directory" alt="Mcpproxy Go on AllMCPs" /></a>