Files
MuMuAINovel/backend/app/api
snemc 980cc5b0e5 fix: 修复MCP插件创建和测试时的500错误
问题:MCP SDK使用anyio TaskGroup,与FastAPI请求上下文不兼容,
导致在请求中直接await MCP操作时报RuntimeError: No response returned

解决方案:
- 将MCP连接操作放到后台任务执行,避免阻塞请求
- 添加is_registered()和get_session_status()同步检查方法
- 测试时先检查会话是否存在,不存在则触发后台注册
- 改进ExceptionGroup错误处理,显示详细错误信息
- 状态同步改用异步队列,避免阻塞

修改文件:
- backend/app/api/mcp_plugins.py: 重写test_plugin和create_plugin_simple
- backend/app/mcp/facade.py: 添加同步检查方法和改进错误处理
- backend/app/mcp/status_sync.py: 使用异步队列同步状态
- backend/app/services/mcp_test_service.py: 使用同步检查代替异步ensure
2026-01-24 10:03:59 +08:00
..
2025-10-30 11:14:43 +08:00
2025-12-31 12:02:36 +08:00