MacOS Claude Desktop运行MCP Server时遇spawn dotnet ENOENT错误求助
解决Claude Desktop连接MCP Server时的spawn dotnet ENOENT错误
问题场景
使用Claude Desktop连接.NET Core编写的MCP Server时出现spawn dotnet ENOENT错误,但通过npx @modelcontextprotocol/inspector测试服务器运行正常。
MCP服务器配置
"command": "dotnet", "args": [ "run", "--project", "/Volumes/Backup/Projects/Innovt/DeveloperMCP/src" ]
错误信息
2025-06-09T19:16:48.403Z [innovt] [error] spawn dotnet ENOENT {metadata: { stack: "Error: spawn dotnet ENOENT " + " at ChildProcess._handle.onexit (node:internal/child_process:285:19) " + " at onErrorNT (node:internal/child_process:483:16) " + " at process.processTicksAndRejections (node:internal/process/task_queues:90:21)"}}
解决方案
- 指定dotnet的完整路径
Claude Desktop的运行环境可能未将dotnet加入系统PATH,导致无法找到命令。可替换为dotnet的绝对路径,macOS/Linux可通过which dotnet获取,Windows用where dotnet。修改后配置示例:
"command": "/usr/local/share/dotnet/dotnet", "args": [ "run", "--project", "/Volumes/Backup/Projects/Innovt/DeveloperMCP/src" ]
- 让Claude Desktop继承终端环境变量
npx测试正常是因为终端已配置dotnet的PATH,而Claude Desktop可能运行在独立环境中。可从终端启动Claude Desktop以继承环境:
open -a "Claude Desktop"
- 验证项目路径有效性
确保/Volumes/Backup/Projects/Innovt/DeveloperMCP/src路径下存在有效的.csproj文件,可在终端执行以下命令测试项目能否正常启动:
dotnet run --project /Volumes/Backup/Projects/Innovt/DeveloperMCP/src
- 检查dotnet版本兼容性
执行dotnet --version查看当前安装版本,确认项目文件中的<TargetFramework>配置与该版本匹配。
内容的提问来源于stack exchange,提问作者Michel Borges
相关产品推荐
相关产品推荐

