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
..
2026-01-09 17:13:19 +08:00
2026-01-09 17:13:19 +08:00
2025-10-30 11:14:43 +08:00
2025-12-28 19:35:23 +08:00
2026-01-09 17:13:19 +08:00
2026-01-09 17:13:19 +08:00
2026-01-09 17:13:19 +08:00
2025-12-22 19:53:31 +08:00
2025-12-22 19:53:31 +08:00
2026-01-19 17:23:50 +08:00
2026-01-01 17:32:15 +08:00
2026-01-19 17:24:37 +08:00
2026-01-14 19:47:28 +08:00
2025-12-31 12:02:36 +08:00
2026-01-24 10:03:59 +08:00
2026-01-09 17:13:19 +08:00
2025-12-26 15:05:48 +08:00
2025-11-25 15:30:44 +08:00
2026-01-21 14:50:26 +08:00
2026-01-19 17:23:50 +08:00
2026-01-19 17:23:50 +08:00