fix(mcp): avoid nested runtime panic on stdio shutdown

Run the stdio MCP server inside a blocking section when launched from the async CLI entrypoint.

  This prevents Tokio from panicking when the MCP server's internal runtime is dropped after stdin closes.
This commit is contained in:
reidliu41
2026-05-29 22:16:08 +08:00
committed by Hunter Bown
parent 0a97f18e78
commit 76089db1dc
+1 -1
View File
@@ -934,7 +934,7 @@ async fn main() -> Result<()> {
bail!("Choose exactly one server mode: --mcp, --http, or --acp");
}
if args.mcp {
mcp_server::run_mcp_server(workspace)
tokio::task::block_in_place(|| mcp_server::run_mcp_server(workspace))
} else if args.http {
let config = load_config_from_cli(&cli)?;
let cors_origins = resolve_cors_origins(&config, &args.cors_origin);