使用STDIO传输的Python MCP Server连接MCP Inspector时抛出「Error: SSE connection not established」错误求助
使用STDIO传输的Python MCP Server连接MCP Inspector时抛出「Error: SSE connection not established」错误求助
嘿,我之前也碰到过这个棘手的问题!其实核心原因是MCP Inspector默认会尝试建立SSE连接来接收实时事件/日志,哪怕你明确想用STDIO传输模式。下面是几个亲测有效的解决办法:
强制指定STDIO启动参数
很多官方示例默认会用HTTP模式启动服务器,这时候Inspector自然会去请求SSE端点导致报错。启动服务器时一定要加上--transport stdio参数,比如:python your_mcp_server_script.py --transport stdio切换Inspector的连接模式
不要直接点界面上默认的「Connect」按钮,去看看Inspector的连接设置里有没有「STDIO本地进程」这类选项。有些版本的Inspector需要手动选择连接类型,你可以把服务器的完整启动命令填进去,让Inspector自动启动并通过STDIO和服务器建立连接,而不是走HTTP/SSE通道。确认代码里的传输配置
检查你的服务器代码,确保初始化Server时明确指定了STDIO传输类型,比如:from mcp.server import Server, TransportType # 关键:指定STDIO传输 server = Server(transport=TransportType.STDIO) # 注册模型处理逻辑... server.run()如果这里写成了
TransportType.HTTP或者没指定,服务器还是会跑在HTTP模式下,Inspector自然会报SSE相关错误。清理残留进程
有时候之前启动的HTTP模式MCP Server进程没彻底关掉,Inspector可能会一直尝试连接旧的HTTP端口。你可以用系统工具清理相关进程:- Linux/macOS:执行
ps aux | grep python找到对应进程后,用kill <进程ID>关闭 - Windows:打开任务管理器,找到Python进程并结束
- Linux/macOS:执行
如果以上方法都没用,建议看看服务器的控制台输出,有没有类似「Starting STDIO server...」的初始化日志。如果没有,说明服务器还是没切换到STDIO模式,得再检查启动参数和代码配置哦。
备注:内容来源于stack exchange,提问作者mysynaje_navucannie




