open-index/open-npm huggingface dataset:
npm package: @mcp-stack/proxy
Description: Proxy service for MCP Stack
Author: L-Qun
Latest version: 1.0.3

# mcp-proxy

<p>
  <a href="https://github.com/L-Qun/mcp-proxy/actions/workflows/ci.yml"><img src="https://github.com/L-Qun/mcp-proxy/actions/workflows/ci.yml/badge.svg" alt="GitHub Actions status"></a>
  <a href= "https://github.com/prettier/prettier"><img alt="code style: prettier" src="https://img.shields.io/badge/code_style-prettier-ff69b4.svg"></a>
  <a href="https://github.com/facebook/jest"><img src="https://img.shields.io/badge/tested_with-jest-99424f.svg" alt="Tested with Jest"></a>
  <a href="CONTRIBUTING.md#pull-requests"><img src="https://img.shields.io/badge/PRs-welcome-brightgreen.svg" alt="PRs Welcome"></a>
  <a href="#license"><img src="https://img.shields.io/github/license/sourcerer-io/hall-of-fame.svg?colorB=ff0000"></a>
</p>

Implements protocol conversion between SSE and stdio

Read this in other languages: English | [简体中文](./README_zh-CN.MD)

## Motivation

<div align="center">
  <img src="./img/protocol-conversion.png" width="700">
</div>

When either the client or the server does not support a particular protocol, protocol conversion becomes necessary. For example, some typical scenarios include:

1. Claude or some other clients does not support the SSE protocol.
2. We want to deploy an MCP Server that only supports STDIO.

Now you can use this tool to solve the problem.

## Usage

- SSE to STDIO

```
 npx @mcp-stack/proxy stdio-to-sse https://your-mcp-server/sse
```

- STDIO to SSE

```
npx @mcp-stack/proxy sse-to-stdio node /path/to/your/mcp/script.js --port 8080
```

## Behind the Scenes

<div align="center">
  <img src="./img/core.png" width="700">
</div>
npm package: @mcp-toolbox/weather-server
Description: MCP server for weather data using the National Weather Service API
Author: Matt Mayfield
Latest version: 2.1.2

# Weather MCP Server

A Model Context Protocol server that provides weather data using the National Weather Service API.

## Features

- Get weather alerts for any US state
- Get detailed weather forecasts for any location (US only)
- Built with TypeScript and the MCP SDK

## Installation

Install globally via NPM:

```bash
npm install -g @mcp-toolbox/weather-server
```

## Usage

### Claude Desktop

Add to your `claude_desktop_config.json`:

**macOS:** `~/Library/Application Support/Claude/claude_desktop_config.json`  
**Windows:** `%APPDATA%\Claude\claude_desktop_config.json`

```json
{
  "mcpServers": {
    "weather": {
      "command": "weather-mcp-server"
    }
  }
}
```

### Cursor

Add to your MCP settings:

```json
{
  "mcpServers": {
    "weather": {
      "command": "weather-mcp-server"
    }
  }
}
```

### opencode

Add to your MCP configuration:

```json
{
  "mcpServers": {
    "weather": {
      "command": "weather-mcp-server"
    }
  }
}
```

### Windsurf

Configure in your MCP settings:

```json
{
  "mcpServers": {
    "weather": {
      "command": "weather-mcp-server"
    }
  }
}
```

### Other MCP Clients

For any MCP-compatible client, use:
- **Command:** `weather-mcp-server`
- **Arguments:** None required

## Available Tools

### get_alerts
Get weather alerts for a US state.

**Parameters:**
- `state` (string): Two-letter state code (e.g., "CA", "NY")

### get_forecast
Get weather forecast for a location.

**Parameters:**
- `latitude` (number): Latitude of the location (-90 to 90)
- `longitude` (number): Longitude of the location (-180 to 180)

## Development

```bash
# Start in development mode with hot reload
bun run dev

# Type check
bun run typecheck

# Build
bun run build
```
npm package: @mcp-total/mcpt
Description: MCPTotal CLI
Latest version: 0.3.8

# MCPTotal CLI

CLI for MCPTotal - MCP proxy with tunnel support.

## Installation

```bash
npm install -g @mcp-total/mcpt
```

## Usage

### MCP Proxy Mode

Run as stdio MCP proxy (for Claude Desktop, Cursor, etc.):

```bash
mcpt --mcp https://mcp.mcptotal.io/mcp-xxx
```

Claude Desktop config:

```json
{
  "mcpServers": {
    "mcptotal": {
      "command": "npx",
      "args": ["@mcp-total/mcpt", "--mcp", "https://mcp.mcptotal.io/mcp-xxx"]
    }
  }
}
```

### Tunnel Mode

Run tunnel client for private network access:

```bash
# With OAuth (opens browser for authentication)
mcpt --tunnel https://mcp.mcptotal.io/mcp-xxx

# With API key
mcpt --tunnel "https://mcp.mcptotal.io/mcp-xxx?key=your-api-key"
```

### MCP + Tunnel

Run both MCP proxy and tunnel together:

```bash
mcpt --mcp --tunnel https://mcp.mcptotal.io/mcp-xxx
```

### OAuth Login Only

Authenticate without running proxy or tunnel:

```bash
mcpt https://mcp.mcptotal.io/mcp-xxx
```

## Options

| Option | Description |
|--------|-------------|
| `<url>` | MCPTotal space URL (required) |
| `-m, --mcp` | Run MCP proxy mode (stdio proxy to remote MCP server) |
| `-t, --tunnel` | Run tunnel mode (TCP/UDP tunnel client) |
| `-k, --key <key>` | API key (overrides URL parameter) |
| `--retry-delay <ms>` | Initial retry delay in ms for tunnel (default: 1000) |
| `-v, --verbose` | Enable verbose logging |

## Authentication

Authentication can be provided via:
- **API key in URL**: `?key=xxx`
- **CLI option**: `--key xxx`
- **OAuth**: Auto-reads tokens from `~/.mcptotal/mcp-oauth/`

When using OAuth, the CLI will open your browser for authentication on first use.

## Tunnel Limitations

MCP traffic is transparently routed through the connector. Remote services observe the connector’s IP (not the MCP container’s internal IP), which may affect path-sensitive UDP protocols such as QUIC or WebRTC P2P.

## License

MIT