方案 2(更可靠):向 GrokSearch 项目反馈 Windows 兼容性 bug
这是 GrokSearch 项目本身的 bug — server.py 的 main() 函数应该在 Windows 上设置 SelectorEventLoop:
if sys.platform == 'win32':
import asyncio
asyncio.set_event_loop_policy(asyncio.WindowsSelectorEventLoopPolicy())
你可以到 https://github.com/GuDaStudio/GrokSearch 提 Issue,或者尝试切换到 main 分支看是否已修复:
将 grok-with-tavily 改为 main:
"args": [
"--native-tls",
"--from",
"git+https://github.com/GuDaStudio/GrokSearch@main",
"grok-search"
]
总结:根本原因是 Windows 上 Python asyncio 默认使用 IocpProactor 事件循环,不支持 stdio pipe 异步读取,导致 MCP
服务器卡死无法响应。这是 GrokSearch 项目的 Windows 兼容性缺陷。