# smart-mcp-proxy/mcpproxy-go [Health: Active]

**Category:** 🔗 Aggregators  
**Repository:** https://github.com/smart-mcp-proxy/mcpproxy-go  
**GitHub Stars:** 344  
**Views:** 4  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/smart-mcp-proxy-mcpproxy-go

## Description
Local MCP proxy with BM25 tool filtering, quarantine security, activity logging, and web UI. Routes multiple servers through a single endpoint.

## Claude Desktop Quick Installation
Remote MCP endpoint (confidence: high). Install path detected from listing signals. Add as a URL/SSE server in your client:

```json
"mcpServers": {
  "mcpproxy-go": {
    "url": "http://localhost:8080/mcp/"
  }
}
```

## Documentation

## 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. The README also describes support for bypassing client function or tool-count limits, including Cursor's 40-tool limit and OpenAI's 128-function cap.

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`. The README does not describe hosted operation, authentication requirements, or environment-variable configuration. 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.

## Getting started with this smart-mcp-proxy/mcpproxy-go MCP server
Always refer to the official documentation for the most accurate and up-to-date information.

_Full upstream README: https://allmcps.com/mcp/smart-mcp-proxy-mcpproxy-go/readme_

