
Can’t view the MCP Details Page
快速结论:该报错通常出现在 LobeChat 自托管 Docker 部署场景中,主要原因是由于 HTTP 访问导致浏览器 crypto.subtle API 不可用,或 M2M token 过期。优先尝试将访问协议切换到 HTTPS。
问题场景
用户在 Windows 系统上通过 Chrome 浏览器,以 Docker 自托管方式部署 LobeChat 最新版本(Web 桌面端),尝试访问市场中的 MCP 详情页面时触发。
报错原文
Request error: {"error":"invalid_token","error_description":"Access token is invalid or expired"}
Error fetching mcp detail: Error [MarketAPIError]: invalid_token
原因分析
- HTTP 访问(最常见):如果通过
http://而非https://访问实例,浏览器的crypto.subtleAPI 不可用,这会破坏市场访问所需的 PKCE 认证流程。 - M2M token 过期/时机问题:用于市场 API 调用的机器对机器(M2M)令牌可能已过期或未能正确设置。
环境排查
- 确认 LobeChat Docker 镜像是否已更新至最新版本(latest)。
- 确认访问协议:当前是通过
http://还是https://访问实例。 - 检查是否有配置
MARKET_TRUSTED_CLIENT_ID和MARKET_TRUSTED_CLIENT_SECRET环境变量。
解决步骤
- 切换到 HTTPS 访问(可优先尝试):这是最直接的修复方式。为 Docker 部署配置有效的 SSL 证书,确保通过
https://访问 LobeChat 实例。 - 设置可信客户端环境变量:如果无法切换到 HTTPS,可以通过设置以下环境变量绕过脆弱的 M2M cookie 流程:
MARKET_TRUSTED_CLIENT_ID=your_client_id MARKET_TRUSTED_CLIENT_SECRET=your_client_secret - 创建在线账号:在 LobeChat 设置中创建一个在线账号(Online Profile),这可以为市场访问建立合适的凭证。
- 确保拉取的是最新的 Docker 镜像,因为近期 PR(如 #15923)已改进了认证错误处理,使其能够更优雅地降级而不是直接抛错。
验证方法
完成上述任一解决步骤后,重新加载 MCP 详情页面。如果不再显示 invalid_token 错误且能够正常查看详情,则问题已解决。



