Token导航 LogoToken导航TokenDH.com
MCP Reverse Proxy logo
运维云端stdio官方级别未说明来源级核验

MCP Reverse Proxy

MCP Server

一个完整的自包含反向代理系统,用于管理多个MCP服务器,提供自动HTTPS、内置Redis、基于Web的配置向导和无配置部署功能。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
容器化TypeScript云端部署

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

keithah

提供方

keithah

最后核验

2026/5/17 20:21

运行时

Docker

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

docker run -d \

详细介绍

带管理UI的MCP反向代理

一个完整的、自包含的反向代理系统,用于管理多个MCP(模型上下文协议)服务器。具有自动HTTPS和Let's Encrypt、内置Redis、基于web的配置向导和零配置部署。无需环境变量或外部依赖关系!

✨ 主要特点

🚀 无需配置

  • 基于Web的安装向导:首次运行时通过浏览器配置所有内容
  • 无环境变量:通过UI管理的所有设置
  • 内置Redis:容器中包含Redis服务器-无需外部设置
  • 自动HTTPS:让我们加密自动获取和管理的证书
  • 独立:包含所有内容的单个Docker容器

🔒 自动SSL/HTTPS

  • 让我们加密集成:只需输入您的域-证书会自动处理
  • 自动续订:证书在到期前自动续订
  • 强制HTTPS:自动HTTP到HTTPS重定向
  • Cloudflare DNS支持:不打开端口80的替代验证
  • 自签名选项:用于开发环境

🌐 网络和外部访问

  • 多种隧道选项:Cloudflare隧道、ngrok、Tailscale漏斗
  • UPnP端口映射:自动路由器配置
  • 端口转发检测:实时端口可访问性检查
  • 非标准端口\*加强安保(8437、3437、8443)
  • 零配置外部访问:无需手动配置路由器
  • API密钥验证:安全访问控制
  • 加密的秘密:静态加密的敏感数据

📦 MCP管理

  • 流程管理:生成、监视、重新启动MCP服务器
  • GitHub部署:直接从存储库部署MCP
  • 健康监测:跟踪流程运行状况和指标
  • 自动重启:可配置的重启策略
  • 实时日志:来自每个MCP进程的流日志
  • 资源限制:CPU和内存限制

🎛️ Web管理界面

  • 初始设置向导:逐步进行首次配置
  • 设置面板:全面的配置管理
  • 实时仪表盘:监控所有服务
  • 网络配置:管理SSL、端口和网络
  • 备份/恢复:导出和导入配置
  • 无配置文件:一切都通过UI管理

🚀 快速开始

选项1:Docker Compose(推荐)

# Clone the repository
git clone https://github.com/keithah/mcp-reverse-proxy.git
cd mcp-reverse-proxy

# Start with Docker Compose
docker-compose up -d

选项2:Docker Hub(ARM64和AMD64)

# Create data directories
mkdir -p data logs mcp-services backups certs

# Run from Docker Hub (works on ARM64 Oracle VMs)
docker run -d \
  --name mcp-proxy \
  -p 8437:8437 \
  -p 3437:3437 \
  -p 8443:8443 \
  -v $(pwd)/data:/app/data \
  -v $(pwd)/logs:/app/logs \
  -v $(pwd)/mcp-services:/app/mcp-services \
  -v $(pwd)/backups:/app/backups \
  -v $(pwd)/certs:/app/certs \
  -e NODE_ENV=production \
  -e INITIAL_SETUP=true \
  --restart unless-stopped \
  keithah/mcp-reverse-proxy:latest

选项3:Docker为ARM64/Oracle云编写

# docker-compose.yml for ARM64 systems
version: '3.8'

services:
  mcp-proxy:
    image: keithah/mcp-reverse-proxy:latest
    container_name: mcp-proxy
    ports:
      - "8437:8437"  # Backend API
      - "3437:3437"  # Frontend UI
      - "8443:8443"  # HTTPS
    environment:
      - NODE_ENV=production
      - INITIAL_SETUP=true
    volumes:
      - ./data:/app/data
      - ./logs:/app/logs
      - ./mcp-services:/app/mcp-services
      - ./backups:/app/backups
      - ./certs:/app/certs
    restart: unless-stopped
    healthcheck:
      test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:8437/health"]
      interval: 30s
      timeout: 10s
      retries: 3
      start_period: 40s

2.️⃣ 打开安装向导

导航到: http://localhost:3437

安装向导将指导您完成以下操作:

  1. 网络配置 -设置端口和UPnP设置
  2. SSL/HTTPS设置 -配置Let's Encrypt或自签名证书
  3. 安全 -API密钥是自动生成的
  4. 数据库和Redis -已配置(内置)
  5. GitHub集成 -可选,用于部署MCP
  6. 审核并完成 -保存您的API密钥!

3.️⃣ 就是这样!

没有配置文件,没有环境变量,没有外部依赖关系。一切都是通过web UI配置的。

🎯 首次安装向导

当您首次访问系统时,您将看到:

!\[安装向导步骤\]

  1. 欢迎屏幕 -配置内容概述
  2. 网络设置 -端口(8437、3437、8443)和UPnP自动配置
  3. 安全和SSL -选择“让我们加密”或自签名证书
  4. 内置服务 -Redis状态和连接测试
  5. GitHub(可选) -仅为私有存储库添加令牌(公共存储库在没有令牌的情况下工作)
  6. 审核并完成 -接收您的API密钥以便管理员访问

自动加密设置

在SSL步骤中,只需:

  1. 选择“让我们加密”
  2. 输入您的域名(例如。, mcp.yourdomain.com)
  3. 输入您的邮箱
  4. 点击“完成设置”

该系统将:

  • ✅ 联系Let's Encrypt自动加密
  • ✅ 验证您的域名
  • ✅ 下载并安装证书
  • ✅ 在端口8443上配置HTTPS
  • ✅ 设置自动续订
  • ✅ 强制HTTP到HTTPS重定向

无需手动管理证书!

🌐 外部访问选项

MCP反向代理包括多种方式,无需手动配置路由器即可将您的服务暴露到互联网上:

🚇 Cloudflare隧道

无需打开端口的安全加密隧道:

# Setup with subdomain (free)
curl -X POST http://localhost:8437/api/tunnel/cloudflare/setup \
  -H "Content-Type: application/json" \
  -d '{
    "token": "your-cloudflare-token",
    "domain": "mcp-proxy"
  }'
# Creates: https://mcp-proxy.trycloudflare.com

# Setup with custom domain
curl -X POST http://localhost:8437/api/tunnel/cloudflare/setup \
  -H "Content-Type: application/json" \
  -d '{
    "token": "your-cloudflare-token",
    "domain": "mcp.yourdomain.com"
  }'
# Creates: https://mcp.yourdomain.com

优点:

  • ✅ 无需端口转发
  • ✅ 包括DDoS保护
  • ✅ 全球CDN
  • 支持自定义域 (拥有您的URL)
  • ✅ 免费子域(\*.trycloudflare.com)
  • ✅ 自动HTTPS证书

要求:

  • Cloudflare帐户
  • Cloudflare隧道令牌
  • 对于自定义域:域必须在Cloudflare DNS上

自定义域设置:

  1. 将您的域名添加到Cloudflare
  2. 在仪表板中创建Cloudflare隧道
  3. 获取您的隧道令牌
  4. 使用您的完整域名: "domain": "mcp.yourdomain.com"
  5. 系统自动创建:

- 主UI: https://mcp.yourdomain.com - API https://api.mcp.yourdomain.com

🚀 ngrok隧道

用于开发和测试的即时公共URL:

# Setup via API
curl -X POST http://localhost:8437/api/tunnel/ngrok/setup \
  -H "Content-Type: application/json" \
  -d '{
    "authToken": "your-ngrok-token",
    "domain": "your-custom-domain.ngrok.io",
    "region": "us"
  }'

优点:

  • ✅ 即时设置
  • ✅ 自定义域名(付费计划)
  • ✅ 多个地区
  • ✅ 非常适合发展

要求:

  • ngrok帐户(提供免费等级)
  • ngrok身份验证令牌

🔗 尾鳞片漏斗

公共访问专用网络:

# Setup via API
curl -X POST http://localhost:8437/api/tunnel/tailscale/setup \
  -H "Content-Type: application/json" \
  -d '{
    "authKey": "your-tailscale-auth-key"
  }'

优点:

  • ✅ 零信任网络
  • ✅ P2P连接
  • ✅ ACL控制
  • ✅ MagicDNS支持

要求:

  • 尾秤账户
  • 尾标认证密钥

🔌 UPnP端口映射

自动路由器配置:

# Setup via API
curl -X POST http://localhost:8437/api/tunnel/upnp/setup \
  -H "Content-Type: application/json"

优点:

  • ✅ 无外部服务
  • ✅ 直接连接
  • ✅ 低延迟
  • ✅ 无每月费用

要求:

  • 支持UPnP的路由器
  • 地址

🎯 隧道管理API

所有隧道选项都可通过REST API访问 /api/tunnel:

# Get current tunnel status
curl http://localhost:8437/api/tunnel/config

# Test external connectivity
curl -X POST http://localhost:8437/api/tunnel/test

# Stop all tunnels
curl -X POST http://localhost:8437/api/tunnel/stop

📱 Web UI管理

通过web界面访问隧道配置:

  1. 打开 设置网络外部访问
  2. 选择您喜欢的隧道方法
  3. 输入所需的凭据
  4. 点击 设置隧道
  5. 测试连接 测试连接

系统将自动:

  • 配置隧道服务
  • 显示您的外部URL
  • 监控隧道健康状况
  • 处理重新连接

🎛️ 基于Web的配置

不需要环境变量!

所有配置都是通过web UI完成的。系统将所有内容存储在数据库中,并在内部管理所有设置。

设置面板

点击仪表板上的“设置”按钮,进入综合设置面板:

  • 服务器配置:端口、环境设置
  • 网络设置:UPnP,端口转发
  • 安全:API密钥,身份验证(自动生成)
  • SSL/HTTPS:让我们加密,证书
  • 瑞迪斯:内置服务器状态和测试
  • GitHub:MCP部署集成
  • 监控:日志、指标、保留
  • 备份/恢复:导出和导入配置

内置Redis

Redis包含在Docker容器中并自动管理:

  • 不需要外部Redis
  • 在容器内的localhost:6379上运行
  • 由主管管理
  • 持久数据存储
  • 无需配置

配置存储

所有设置都存储在SQLite数据库中:

  • /app/data/mcp-proxy.db -主配置数据库
  • 加密敏感值
  • 持续跨容器重启
  • 备份和恢复功能

🎯 容器架构

单容器解决方案

系统作为一个Docker容器运行,由Supervisor管理多个服务:

mcp-proxy container:
├── Redis Server (localhost:6379)
├── Backend API (port 8437)
├── Frontend UI (port 3437)
├── HTTPS Server (port 8443)
├── MCP Processes (managed)
└── Supervisor (process manager)

内置服务

  • 瑞迪斯:缓存和队列管理
  • SQLite:配置和数据存储
  • 主管:流程管理和监控
  • SSL管理器:自动证书处理
  • UPnP管理器:网络配置

🔧 高级配置

让我们加密选项

两种证书验证方法:

HTTP-01质询(默认)

  • 需要可从互联网访问的端口80
  • 自动域验证
  • 适用于大多数设置

DNS-01挑战赛(Cloudflare)

  • 无需端口80
  • 对DNS记录使用Cloudflare API
  • 更适合防火墙/NAT后面

在设置中配置→ SSL/HTTPS→ 提供商选项

网络端口

系统使用非标准端口进行安全保护:

  • 8437:后端API(而不是8080)
  • 3437:前端UI(而不是3000)
  • 8443:HTTPS(而不是443)

所有端口都可以通过UI进行配置。

安全特性

  • API密钥验证:所有管理功能都需要
  • 加密存储:静态加密的敏感数据
  • HSTS标头:严格的运输安全
  • CSP标头:内容安全策略
  • 速率限制:每个端点和全局限制
  • 进程隔离:每个MCP单独运行

📱 使用系统

接入点

设置完成后:

  • 超文本传输协议: http://your-domain:8437 (如果启用SSL,则重定向到HTTPS)
  • 超文本传输安全协议: https://your-domain:8443 (使用Let's Encrypt证书)
  • 本地: http://localhost:3437 (用于初始设置)

🎛️ 管理接口

仪表板功能

  • 服务概述:所有具有实时状态的MCP服务
  • 健康监测:系统健康状况、正常运行时间、资源使用情况
  • 快捷操作:启动、停止、重新启动服务
  • 实时更新:实时状态更新,无需刷新

设置面板

全面的配置管理:

服务器设置

  • 端口配置(843734378443)
  • 环境设置
  • 性能调整

SSL/HTTPS管理

  • 让我们加密设置和续订
  • 证书状态和验证
  • 强制HTTPS配置

网络配置

  • UPnP端口映射状态
  • 端口转发测试
  • 公共/私有IP检测
  • 路由器配置状态

安全设置

  • API密钥管理
  • 身份验证设置
  • 速率限制配置

Redis管理

  • 内置Redis服务器状态
  • 连接测试
  • 性能指标

GitHub集成

  • 存储库部署设置(无令牌的公共存储库工作)
  • Webhook配置(需要令牌)
  • 令牌管理(仅对私有仓库可选)

系统监控

  • 日志级别和保留
  • 指标收集
  • 健康检查间隔

备份/恢复

  • 配置导出
  • 设置导入
  • 还原点

MCP服务要求

对于自动部署,MCP服务应包括以下内容之一:

  1. MCP清单文件 (mcp.jsonmcp-manifest.json):
{
  "name": "my-mcp-service",
  "description": "My MCP Service",
  "entryPoint": "index.js",
  "requiredEnv": ["API_KEY"],
  "defaultEnv": {
    "PORT": "3000"
  }
}
  1. 带有MCP配置的Package.json:
{
  "name": "my-mcp-service",
  "main": "index.js",
  "mcp": {
    "requiredEnv": ["API_KEY"],
    "defaultEnv": {
      "PORT": "3000"
    }
  }
}

发展

项目结构

├── src/
│   ├── index.ts              # Main server entry point
│   ├── lib/
│   │   ├── process-manager.ts # MCP process management
│   │   ├── github.ts          # GitHub integration
│   │   ├── db/                # Database schema and migrations
│   │   └── logger.ts          # Logging utilities
│   └── server/
│       ├── proxy.ts           # Reverse proxy implementation
│       ├── api.ts             # Management API
│       ├── github-api.ts      # GitHub API endpoints
│       └── middleware/        # Express middleware
├── app/                       # Next.js frontend
│   ├── page.tsx               # Dashboard
│   └── components/            # React components
├── docker-compose.yml         # Docker composition
└── Dockerfile                 # Container definition

运行测试

npm test

生产大楼

npm run build
npm start

🔐 自动加密设置

零接触SSL配置

系统会自动处理Let's Encrypt:

  1. 安装向导期间:

- 选择“Let's Encrypt”作为SSL提供程序 - 输入您的域名(例如。, proxy.yourdomain.com) - 输入您的电子邮件以获取证书通知 - 点击“完成设置”

  1. 自动发生的事情:
   System contacts Let's Encrypt
   ↓
   Validates domain ownership
   ↓
   Downloads SSL certificate
   ↓
   Installs and configures HTTPS
   ↓
   Sets up auto-renewal (daily checks)
   ↓
   Forces HTTP → HTTPS redirect
  1. 证书续订:

- 到期前自动续订 - 任何问题的电子邮件通知 - 零停机证书更新

验证方法

HTTP-01挑战 (默认)

  • 端口80必须可从互联网访问
  • 通过HTTP自动验证
  • 如果启用,UPnP将映射端口80

DNS-01挑战 (Cloudflare)

  • 无需端口80
  • 使用Cloudflare API
  • 在SSL设置中添加Cloudflare令牌
  • 更适合复杂的网络设置

SSL状态监控

实时检查SSL状态:

  • 设置→ SSL/HTTPS→ 证书状态
  • 到期日期和续订状态
  • 验证方法和域验证

📊 内置Redis和Supervisor

Redis服务器

Redis在容器内自动运行:

  • 端口:本地主机:6379(仅限内部)
  • 持久性:数据保存到 /app/data
  • 管理:由主管控制
  • 监控:状态在设置中可用→ Redis

主管流程管理

主管管理的所有服务:

[Redis Server] - Cache and queues
[Backend API] - Main application
[Frontend UI] - Management interface

内置进程监控和自动重启功能。

🚨 故障排除

设置问题

无法访问http://localhost:3437

  • 检查Docker容器是否正在运行: docker-compose ps
  • 验证docker-compose.yml中的端口映射
  • 检查容器日志: docker-compose logs

安装向导无法完成

  • 确保Docker具有对的写访问权限。/数据目录
  • 检查容器日志中的数据库错误
  • 验证是否加载了所有必需的依赖项

SSL证书问题

Let’s Encrypt验证失败

  • 验证域指向您的公共IP
  • 检查端口80是否可从互联网访问
  • 请尝试Cloudflare DNS验证
  • 首先使用暂存模式进行测试

证书未续订

  • 检查设置→ SSL/HTTPS→ 证书状态
  • 验证cron作业是否正在运行
  • 检查日志中的续订错误

网络连接问题

无法连接到HTTPS

  • 验证SSL证书是否正确安装
  • 检查端口8443是否通过路由器转发
  • 使用设置进行测试→ 网络→ 端口转发检查

UPnP不工作

  • 在路由器上启用UPnP
  • 检查设置→ 网络→ UPnP状态
  • 如果UPnP不可用,则手动转发端口

服务管理

MCP服务无法启动

  • 检查设置→ 监控→ Logs
  • 验证数据库中的服务配置
  • 测试GitHub存储库访问
  • 检查资源限制和权限

Redis连接失败

  • 检查设置→ 瑞迪斯→ 测试连接
  • 验证Redis进程在容器中运行
  • 检查主管状态

获取帮助

  1. 容器日志: docker-compose logs -f
  2. 设置面板:检查所有状态指示器
  3. 网络面板:测试端口转发和SSL
  4. 备份配置:排除故障前导出设置

贡献

  1. 复刻仓库
  2. 创建要素分支
  3. 进行更改
  4. 添加测试
  5. 提交拉取请求

许可证

麻省理工学院

支持

有关问题和功能请求,请使用 .

🌟 新增功能

v2.0-外部访问和多架构支持

  • Cloudflare隧道支持:零配置安全隧道
  • ngrok集成:即时公共URL
  • 尾鳞片漏斗:公共访问的零信任网络
  • 增强型UPnP:自动路由器配置
  • ARM64支持:适用于Oracle Cloud、Raspberry Pi、苹果Silicon
  • 多架构Docker:AMD64和ARM64的单幅图像
  • Docker Hub: keithah/mcp-reverse-proxy:latest
  • 隧道管理API:RESTful隧道控制
  • Web UI隧道配置:指向并单击外部访问设置

目录标签

目录标签

容器化TypeScript云端部署反向代理本地部署MCP管理自动HTTPSWeb配置

接入字段

传输方式(transport,传输协议)

stdio

鉴权方式(authType,认证方式)

token

运行时(runtime,运行环境)

Docker

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

stdiotoken部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP