You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JetBrains Rider中使用MCP的StdioServerTransport时连接意外关闭的问题求助

JetBrains Rider中使用MCP的StdioServerTransport时连接意外关闭的问题求助

大家好,我最近在.NET 8环境下用C#开发基于ModelContextProtocol(MCP)的工具,碰到了一个特别棘手的问题——在JetBrains Rider里启动MCP服务器时,连接会立刻断开,但在VS Code和Claude Desktop里运行完全正常,想请教下有没有人遇到过类似的情况或者有解决思路?

我的环境与配置

  • 项目基于.NET 8,使用MCP的ModelContextProtocol开发工具
  • Program.cs中的MCP服务器配置:
    builder.Services.AddMcpServer()
        .WithStdioServerTransport()
        .WithToolsFromAssembly();
    
  • 在VS Code中,我通过如下配置可以正常启动并连接MCP:
    {
      "servers": {
        "TestMcp": {
          "type": "stdio",
          "command": "dotnet",
          "args": [ "run", "--project", "/Path/To/My/Project/Project.csproj" ]
        }
      }
    }
    

Rider中遇到的问题

不管我用哪种方式在Rider里启动:

  • 常规的Run Configuration运行项目
  • 通过MCP工具集成(使用.mcp.json或JSON配置)
    都会立刻收到错误:MCP error -1: Connection closed

奇怪的是,日志明明显示应用已经成功启动,还打印出了Application started...,说明标准输入输出流是正常存在的,但MCP就是一启动就断开连接。我甚至把应用Docker化后,用Rider执行docker run -i .命令,结果还是一样的问题。

我已经尝试过的解决方案(均无效)

  • 替换传输方式为WithStreamServerTransport(Console.OpenStandardInput(), Console.OpenStandardOutput()),问题依旧
  • 在代码中手动调用Console.Out.Flush()刷新输出流,没有改善
  • 在.mcp.json里明确设置"type": "stdio",但在Rider里似乎没有起到作用

我的疑问

这是不是Rider和MCP的StdioServerTransport之间的已知兼容性问题?有没有什么Rider的隐藏配置会影响标准输入输出的交互逻辑?

内容来源于stack exchange

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.08 11:24:35