# mcp-proxy

> MCP Server

A description could not be generated for this repository.

## Overview

- **Category:** Developer Tools
- **Language:** Python
- **Stars:** 2707
- **Forks:** 39
- **Owner:** sparfenyuk
- **GitHub:** https://github.com/sparfenyuk/mcp-proxy
- **Created:** 2024-12-26T20:31:54+00:00
- **Updated:** 2025-03-28T19:04:31+00:00
- **Source:** https://model-context-protocol.com/servers/mcp-server-sse-stdio-proxy-connector

## Setup

## Setup

**Installing via Smithery**

To install MCP Proxy for Claude Desktop automatically via [Smithery](https://smithery.ai/server/mcp-proxy):

```bash
npx -y @smithery/cli install mcp-proxy --client claude
```

**Installing via PyPI**

The stable version of the package is available on the PyPI repository. You can install it using the following command:

```bash
# Option 1: With uv (recommended)
uv tool install mcp-proxy

# Option 2: With pipx (alternative)
pipx install mcp-proxy
```

Once installed, you can run the server using the `mcp-proxy` command. See configuration options for each mode above.

**Installing via Github repository (latest)**

The latest version of the package can be installed from the git repository using the following command:

```bash
uv tool install git+https://github.com/sparfenyuk/mcp-proxy
```

> [!NOTE]
> If you have already installed the server, you can update it using `uv tool upgrade --reinstall` command.

> [!NOTE]
> If you want to delete the server, use the `uv tool uninstall mcp-proxy` command.

**Installing as container**

Starting from version 0.3.2, it's possible to pull and run the corresponding container image:

```bash
docker run -t ghcr.io/sparfenyuk/mcp-proxy:v0.3.2-alpine --help
```

**Extending the container image**

You can extend the `mcp-proxy` container image to include additional executables.

**Docker Compose Setup**

With the custom Dockerfile, you can define a service in your Docker Compose file:

```yaml
services:
  mcp-proxy-custom:
    build:
      context: .
      dockerfile: mcp-proxy.Dockerfile
    network_mode: host
    restart: unless-stopped
    ports:
      - 8096:8096
    command: "--pass-environment --sse-port=8096 --sse-host 0.0.0.0 uvx mcp-server-fetch"
```

> [!NOTE]
> Don't forget to set `--pass-environment` argument, otherwise you'll end up with the error "No interpreter found in managed installations or search path"

## Tools

## Available Tools

1.  **stdio to SSE** (Runs a proxy server from stdio that connects to a remote SSE server.)
2.  **SSE to stdio** (Runs a proxy server exposing a SSE server that connects to a local stdio server.)

