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-26 15:05:48 +08:00
2025-12-30 10:03:20 +08:00
2026-01-13 16:45:58 +08:00
2025-12-06 14:08:20 +08:00
2026-01-21 14:51:17 +08:00
2026-01-13 16:44:07 +08:00
2026-01-13 16:45:58 +08:00
2026-01-19 17:24:37 +08:00
2026-01-01 17:32:15 +08:00
2026-01-24 10:03:59 +08:00
2026-01-19 17:24:37 +08:00
2026-01-13 16:45:58 +08:00
2026-01-19 17:24:37 +08:00
2025-11-30 09:57:49 +08:00
2026-01-14 19:48:18 +08:00
2025-12-30 10:04:41 +08:00
2026-01-13 16:45:58 +08:00
2026-01-21 14:52:22 +08:00
2025-11-12 11:16:32 +08:00
2026-01-09 21:19:18 +08:00
2025-12-31 12:02:36 +08:00