Desktop 2.2.9: STDIO MCP tools/list succeeds, but connector.syncTools fails and no tool permissions are registered

此问题发生在 LobeChat Desktop 2.2.9 Windows 环境中,当使用 STDIO 方式运行本地 Docker MCP 服务器时, Test Connection 可以成功获取工具列表,但点击 Install 后 connector.syncTools 报错 500,工具权限页面

快速结论:此问题发生在 LobeChat Desktop 2.2.9 Windows 环境中,当使用 STDIO 方式运行本地 Docker MCP 服务器时,Test Connection 可以成功获取工具列表,但点击 Installconnector.syncTools 报错 500,工具权限页面显示空白。优先排查:确认该问题为 v2.2.3 架构重构后已知回归,可尝试在失败后重新保存配置以触发迁移/重新同步流程。

适用环境:LobeChat Desktop v2.2.9 (Electron 应用),Windows 系统,Docker Desktop,本地构建的 Docker 镜像。(Issue 中未涉及 Python、CUDA、PyTorch、显卡版本等,不补写)

最快修复方案:暂无确认的一步修复方案。可优先尝试:安装失败后,前往 设置 → 技能,找到已显示为已安装但工具为空的 MCP 连接器,点击 配置 并保存——这可能会触发 v2.2.9 中新增的迁移/重新同步流程。

注意事项:该方案来自 Issue 维护者的建议,尚未在本 Issue 中被明确验证为有效。如果问题在最新版本中仍未解决,可能属于 Desktop (Electron) 环境下 STDIO 路径的单独缺陷。

问题场景

用户在 LobeChat Desktop 2.2.9(Windows 环境)中添加自定义 STDIO MCP 服务器(通过 Docker 运行本地构建的 filesystem-pro 镜像)。Test Connection 成功获取并展示工具列表,但点击 Install 后安装失败,连接器虽显示为已安装,但工具权限页面为空白。

报错原文

POST app://renderer/trpc/lambda/connector.syncTools?batch=1 500 (Internal Server Error)

TRPCClientError: Failed to fetch tools from MCP server: Failed to start MCP service process

[DevModal] Install failed: TRPCClientError: Failed to fetch tools from MCP server: Failed to start MCP service process

原因分析

这是一个从 v2.2.3 架构重构开始出现的已知回归问题。Test ConnectionInstall 走的是两套完全不同的代码路径:Test Connection 直接向 MCP 服务器查询 tools/list 并在 UI 中展示结果;而 Install 触发 connector.syncTools,后者需要将工具列表持久化到数据库的 connector_tools 表并注册权限——这个过程在 v2.2.3+ 中被移到了服务端执行,并引入了新的权限模型。问题发生在这一步,导致连接器虽然被标记为已安装,但工具未能正确注册。

注意:报错信息 “Failed to start MCP service process” 具有误导性。Docker 日志显示 MCP 服务器实际已经成功启动,并正常返回了 initializetools/list 响应。因此,问题不在 MCP 服务器一侧,而在 LobeHub 的同步持久化层。

环境排查

  • LobeChat 版本: Desktop 2.2.9(Electron)。
  • 操作系统: Windows。
  • Docker: Docker Desktop(Docker 镜像已本地构建为 local/mcp-filesystem-pro:latest)。
  • MCP 服务器: lordc-dev/filesystem-pro(通过 Docker STDIO 启动)。
  • 是否在另一客户端验证过: 同一 Docker MCP 配置在 Cherry Studio 中可以正常调用 filesystem-pro: read_text_file,排除 MCP 服务器本身的问题。

解决步骤

  1. 步骤 1(可优先尝试): 安装失败后,前往 LobeChat 的 设置 → 技能,找到刚刚安装且工具列表为空的 MCP 连接器,点击 配置 并保存。此操作可能触发 v2.2.9 中新增的迁移/重新同步流程,修复工具注册问题。
  2. 步骤 2(隔离测试): 尝试一个更简单的 STDIO 命令(例如不使用 Docker,改用 npx 运行一个基本的 MCP 服务器),以排除 Docker 容器生命周期导致 Desktop 应用在持久化工具前丢失 STDIO 连接的可能性。
  3. 步骤 3(等待官方修复): 关注 LobeHub 的后续发布版本。多个 PR(如 #16172、#16180、#16470)已经修正了部分相关问题,但本 Issue 所描述的 Desktop STDIO 路径的情况可能尚未被完全覆盖。

验证方法

修复后,重复安装流程:点击 Install 后不出现 500 错误,前往 设置 → 工具权限 页面确认已注册的工具列表正常显示,而非 “No tool permissions to configure.”。

参考来源

lobehub/lobe-chat #16533

GamsGo AI

AI 工具推荐

想把多个 AI 模型放在一个入口?

GamsGo AI 集成 ChatGPT、DeepSeek、Gemini、Claude、Midjourney、Veo 等常用模型,适合写作、绘图、视频和日常 AI 工作流。

了解 GamsGo AI

推广链接:通过此链接购买,我可能获得佣金,不影响你的价格。

这个方案解决了吗?

celebrityanime
celebrityanime
文章: 16126

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注