困惑MCP服务器
基于人工智能的Web搜索与研究的多架构Docker镜像
______________________________________________________________________
📋 目录
______________________________________________________________________
😎 给我买杯咖啡☕︎
您的支持鼓励我继续创建/支持我的开源项目。 如果你在这个项目中发现了价值,你可以给我买杯咖啡,让我保持灵感。
概述
困惑MCP服务器通过模型上下文协议提供基于人工智能的网络搜索和研究功能。基于Alpine Linux构建,占用空间最小,安全性最高。
主要特点
✨ 多架构支持 -原生支持x86-64和ARM64\ 🚀 多种传输协议 -HTTP、SSE和WebSocket支持\ 🔒 设计安全 -基于阿尔卑斯山,攻击面最小\ ⚡ 高性能 -ZSTD压缩可实现更快的部署\ 🎯 生产就绪 -经过全面测试的稳定版本\ 🔧 易于配置 -简单的环境变量设置
______________________________________________________________________
支持的体系结构
| 架构 | 标签前缀 | 状态 |
|---|---|---|
| x86-64 | amd64- | ✅ 稳定 |
| ARM64 | arm64v8- | ✅ 稳定 |
💡 多拱形图像会自动为您的系统选择正确的架构。
______________________________________________________________________
可用标签
| 标签 | 稳定性 | 描述 | 用例 |
|---|---|---|---|
stable | ⭐⭐⭐ | 最稳定的版本 | 推荐用于生产 |
latest | ⭐⭐⭐ | 最新稳定版本 | 保持最新稳定功能 |
0.9.0 | ⭐⭐⭐ | 特定版本 | 版本固定以保持一致性 |
beta | ⚠️ | Beta版本 | 仅测试 |
系统要求
- Docker引擎: 23.0+
- 猛撞: 最小512MB
- CPU: 单芯足够
🔒 关键: 在没有适当的安全措施(反向代理、SSL/TLS、身份验证、防火墙规则)的情况下,不要将此容器直接暴露在互联网上。
______________________________________________________________________
快速开始
Docker Compose(推荐)
services:
perplexity-mcp:
image: mekayelanik/perplexity-mcp:stable
container_name: perplexity-mcp
restart: unless-stopped
ports:
- "8050:8050"
environment:
- PORT=8050
- INTERNAL_PORT=38011
- PUID=1000
- PGID=1000
- TZ=Asia/Dhaka
- NODE_ENV=production
- PROTOCOL=HTTP
- ENABLE_HTTPS=false
- HTTP_VERSION_MODE=auto
# Optional: require Bearer token auth at HAProxy layer
# - API_KEY=replace-with-strong-secret
hostname: perplexity-mcp
domainname: local部署:
docker compose up -d
docker compose logs -f perplexity-mcpDocker命令行界面
docker run -d \
--name=perplexity-mcp \
--restart=unless-stopped \
-p 8050:8050 \
-e PORT=8050 \
-e INTERNAL_PORT=38011 \
-e PUID=1000 \
-e PGID=1000 \
-e TZ=Asia/Dhaka \
-e NODE_ENV=production \
-e PROTOCOL=HTTP \
-e ENABLE_HTTPS=false \
-e HTTP_VERSION_MODE=auto \
mekayelanik/perplexity-mcp:stable访问端点
| 协议 | 端点 | 用例 |
|---|---|---|
| 超文本传输协议 | http://host-ip:8050/mcp | 最佳兼容性(推荐) |
| 上海证券交易所 | http://host-ip:8050/sse | 实时流媒体 |
| 双向通信 | ws://host-ip:8050/message | 双向沟通 |
启用HTTPS时(ENABLE_HTTPS=true),使用TLS端点:
| 协议 | 端点 |
|---|---|
| 安全超文本传输协议 | https://host-ip:8050/mcp |
| 上海证券交易所 | https://host-ip:8050/sse |
| 双向通信 | wss://host-ip:8050/message |
⚠️ 安全警告: 容器现在默认为HTTP(ENABLE_HTTPS=false)以便于本地设置。使用ENABLE_HTTPS=true用于生产、公共网络或任何不受信任的环境。 ⏱️ ARM设备: 在访问端点之前,请允许30-60秒进行初始化。
______________________________________________________________________
配置
环境变量
| 变量 | 默认值 | 描述 |
|---|---|---|
PORT | 8050 | 内部服务器端口 |
INTERNAL_PORT | 38011 | 超级网关使用的内部MCP服务器端口 |
PUID | 1000 | 文件权限的用户ID |
PGID | 1000 | 文件权限的组ID |
TZ | Asia/Dhaka | 集装箱时区(TZ数据库) |
NODE_ENV | production | Node.js环境 |
PROTOCOL | SHTTP | 默认传输协议 |
API_KEY | *(空)* | 启用承载令牌身份验证(Authorization: Bearer ) |
CORS | *(空)* | 逗号分隔的CORS源,支持 * |
ENABLE_HTTPS | false | 在HAProxy中启用TLS终止 |
TLS_CERT_PATH | /etc/haproxy/certs/server.crt | TLS证书路径 |
TLS_KEY_PATH | /etc/haproxy/certs/server.key | TLS私钥路径 |
TLS_PEM_PATH | /etc/haproxy/certs/server.pem | HAProxy使用的组合PEM文件 |
TLS_CN | localhost | CN用于自动生成证书 |
TLS_SAN | DNS: | 用于自动生成证书的SAN |
TLS_DAYS | 365 | 自动生成的证书有效期 |
TLS_MIN_VERSION | TLSv1.3 | 最低TLS协议(TLSv1.2 或 TLSv1.3) |
HTTP_VERSION_MODE | auto | auto, all, h1, h2, h3, h1+h2 |
DEBUG_MODE | *(空)* | 设置为真时启用调试保持模式 |
HTTPS和HTTP版本说明
- 如果
ENABLE_HTTPS=true如果缺少证书文件,容器会自动生成自签名证书。 - 如果
TLS_CERT_PATH和TLS_KEY_PATH存在,它们被合并到TLS_PEM_PATH并直接使用。 HTTP_VERSION_MODE=h3(或auto)仅当HAProxy构建包含QUIC时才启用HTTP/3;否则,它会安全地回落。
API密钥验证说明
- 集
API_KEY以在反向代理级别强制执行身份验证。 - 预期的标题格式:
Authorization: Bearer. - 本地主机健康检查仍然可以访问活动/准备状态。
用户和组ID
找到您的ID并设置它们以避免权限问题:
id username
# uid=1000(user) gid=1000(group)时区示例
- TZ=Asia/Dhaka # Bangladesh
- TZ=America/New_York # US Eastern
- TZ=Europe/London # UK
- TZ=UTC # Universal Time______________________________________________________________________
MCP客户端配置
运输支持
| 客户端 | HTTP | SSE | WebSocket | 推荐 |
|---|---|---|---|---|
| VS代码(Cline/Roo-Cline) | ✅ | ✅ | ❌ | HTTP |
| 克劳德桌面 | ✅ | ✅ | ⚠️\* | HTTP |
| Claude 命令行界面 | ✅ | ✅ | ⚠️\* | HTTP |
| Codex CLI | ✅ | ✅ | ⚠️\* | HTTP |
| Codeium(风帆) | ✅ | ✅ | ⚠️\* | HTTP |
| 光标 | ✅ | ✅ | ⚠️\* | HTTP |
⚠️ \*WebSocket是实验性的(第1288期)
______________________________________________________________________
VS代码(Cline/Roo-Cline)
在中配置 .vscode/settings.json:
{
"mcp.servers": {
"perplexity": {
"url": "http://host-ip:8050/mcp",
"transport": "http"
}
}
}______________________________________________________________________
克劳德桌面应用程序/克劳德代码
配置:
带API_KEY
claude mcp add-json github '{"type":"http","url":"http://localhost:8045/mcp","headers":{"Authorization":"Bearer "}}'不带API_KEY
claude mcp add-json github '{"type":"http","url":"http://localhost:8045/mcp"}'______________________________________________________________________
Codex CLI
在中配置 ~/.codex/config.json:
{
"mcpServers": {
"perplexity": {
"transport": "http",
"url": "http://host-ip:8050/mcp"
}
}
}______________________________________________________________________
Codeium(风帆)
在中配置 .codeium/mcp_settings.json:
{
"mcpServers": {
"perplexity": {
"transport": "http",
"url": "http://host-ip:8050/mcp"
}
}
}______________________________________________________________________
光标
在中配置 ~/.cursor/mcp.json:
{
"mcpServers": {
"perplexity": {
"transport": "http",
"url": "http://host-ip:8050/mcp"
}
}
}______________________________________________________________________
测试配置
验证 MCP检查员:
npm install -g @modelcontextprotocol/inspector
mcp-inspector http://host-ip:8050/mcp______________________________________________________________________
网络配置
比较
| 网络模式 | 复杂性 | 性能 | 用例 |
|---|---|---|---|
| 桥 | ⭐ 简单 | ⭐⭐⭐ 良好 | 默认,隔离 |
| 主机 | ⭐⭐ 中等 | ⭐⭐⭐⭐ 优秀 | 直接访问主机 |
| MACVLAN | ⭐⭐⭐ 高级 | ⭐⭐⭐⭐ 优秀 | 专用IP |
______________________________________________________________________
网桥网络(默认)
services:
perplexity-mcp:
image: mekayelanik/perplexity-mcp:stable
ports:
- "8050:8050"优点: 容器隔离,易于设置,适用于任何地方 访问权限: http://localhost:8050/mcp
______________________________________________________________________
主机网络(仅限Linux)
services:
perplexity-mcp:
image: mekayelanik/perplexity-mcp:stable
network_mode: host优点: 最高性能,无NAT开销,无需端口映射 注意事项: 仅限Linux,共享主机网络命名空间 访问权限: http://localhost:8050/mcp
______________________________________________________________________
MACVLAN网络(高级)
services:
perplexity-mcp:
image: mekayelanik/perplexity-mcp:stable
mac_address: "AB:BC:CD:DE:EF:01"
networks:
macvlan-net:
ipv4_address: 192.168.1.100
networks:
macvlan-net:
driver: macvlan
driver_opts:
parent: eth0
ipam:
config:
- subnet: 192.168.1.0/24
gateway: 192.168.1.1优点: 专用IP,直接局域网接入 注意事项: 仅限Linux,需要额外设置 访问权限: http://192.168.1.100:8050/mcp
______________________________________________________________________
更新
Docker Compose
docker compose pull
docker compose up -d
docker image prune -fDocker命令行界面
docker pull mekayelanik/perplexity-mcp:stable
docker stop perplexity-mcp && docker rm perplexity-mcp
# Run your original docker run command
docker image prune -fWatchtower的一次性更新
docker run --rm \
-v /var/run/docker.sock:/var/run/docker.sock \
containrrr/watchtower \
--run-once \
perplexity-mcp______________________________________________________________________
故障排除
飞行前检查表
- ✅ Docker引擎23.0+
- ✅ 端口8050可用
- ✅ 充足的启动时间(ARM设备)
- ✅ 最新稳定图像
- ✅ 配置正确
常见问题
容器无法启动
# Check Docker version
docker --version
# Verify port availability
sudo netstat -tulpn | grep 8050
# Check logs
docker logs perplexity-mcp权限错误
# Get your IDs
id $USER
# Update configuration with correct PUID/PGID
# Fix volume permissions if needed
sudo chown -R 1000:1000 /path/to/volume客户端无法连接
# Test connectivity
curl http://localhost:8050/mcp
curl http://host-ip:8050/mcp
curl -k https://localhost:8050/mcp
curl -k https://host-ip:8050/mcp
# Check firewall
sudo ufw status
# Verify container
docker inspect perplexity-mcp | grep IPAddressARM性能缓慢
- 启动后等待30-60秒
- 监视器:
docker logs -f perplexity-mcp - 检查资源:
docker stats perplexity-mcp - 使用更快的存储(SSD与SD卡)
调试信息
报告问题时,包括:
# System info
docker --version && uname -a
# Container logs
docker logs perplexity-mcp --tail 200 > logs.txt
# Container config
docker inspect perplexity-mcp > inspect.json______________________________________________________________________
附加资源
文档
Docker资源
- 🐳
- 🌐
- 🛡️
监控
- 📊 Diun-更新通知器
- ⚡ 瞭望塔
______________________________________________________________________
😎 给我买杯咖啡☕︎
您的支持鼓励我继续创建/支持我的开源项目。 如果你在这个项目中发现了价值,你可以给我买杯咖啡,让我保持灵感。
支持和许可
获取帮助
Docker镜像问题:
- github:
困惑MCP问题:
- github: 应用人工智能/模型上下文协议/问题
- 网站: docs.perplexity.ai
贡献
我们欢迎捐款:
- 通过GitHub Issues报告错误
- 建议功能
- 改进文档
- 测试版发布
许可证
GPL许可证。看 许可证 了解详情。
困惑MCP服务器有自己的许可证-请参阅 .
______________________________________________________________________
重大变化
Initial Release: Full CI/CD pipeline with HAProxy, HTTPS/TLS, QUIC/HTTP3, API key auth
