基于Starlette+Uvicorn的MCP服务器:服务端异常无输出调试难题
问题:MCP服务器服务端异常无输出,调试困难
背景
为学习智能体AI开发,我搭建了本地MCP服务器对接llama.cpp实例(通过WebUI访问),最终采用Starlette+Uvicorn部署。目前服务器可正常与llama.cpp交互、获取工具列表,本地Gemma 4模型也能按需调用工具。
核心问题
服务端异常完全无输出:我在代码第53行手动抛出异常测试,刷新llama.cpp的MCP服务器连接时,工具列表无法加载(证明异常已触发),但服务器启动终端无任何提示,日志语句也无法输出;WebUI也未显示连接相关的错误信息。
已尝试的操作
- 在关键调用位置添加通用异常处理,但终端仍无输出
- 通过PDB调试发现,MCP底层的
mcp.server.lowlevel.server._handle_message和mcp.server.lowlevel.server._handle_request包含raise_exceptions标志,但不清楚如何配置该参数 - 使用MCP Inspector可收到错误信息
MCP error 0: this won't crash the server,但服务器端仍无可见日志
需求
如何捕获并处理服务端异常,或至少让服务器崩溃以方便调试?
相关包版本
mcp 1.27.1 starlette 0.41.3 uvicorn 0.46.0
内容的提问来源于stack exchange,提问作者Umlin
相关产品推荐
相关产品推荐

