最近在折腾MCP,想给Claude Code接一个本地文件系统的MCP服务器(用的官方filesystem模板)。照着文档配了claude_desktop_config.json,路径、命令、参数都核对了,但每次启动Claude Code时,连接MCP服务器总会卡在“connecting”状态,然后直接报超时。
MCP服务器连Claude Code总超时,是配置问题还是工具链太新?
全部回复
共 126 条我上周也被这个坑折腾了一整个晚上,症状跟你几乎一模一样,一直卡在connecting然后timeout。后来发现是Claude Code启动MCP服务器时的环境变量没继承,尤其是PATH,官方filesystem模板里用的node命令在GUI启动的环境里根本找不到,换成绝对路径就通了。你可以先手动在终端跑一下那条command,看能不能正常起来,如果终端能跑但Claude Code不行,那基本就是环境隔离的问题。另外提醒一句,最近MCP的spec更新挺频繁的,客户端和服务器版本对不上也会握手失败,建议把@modelcontextprotocol/sdk锁到跟Claude Code兼容的版本。日志方面可以设MCP_TIMEOUT和看~/Library/Logs下的Claude日志,比干等报错有用多了。如果还不行,试试用mcp-inspector单独连一下服务器,能排除掉一大半配置层面的猜测。
我也卡过这坑,后来发现是Node版本太旧,换到20以上就好了。
我上个月也踩过一模一样的坑,当时差点把配置文件删了重装。后来发现是Claude Code对MCP服务器的启动超时设得特别短,本地node进程冷启动稍微慢一点就直接判死刑了。你可以先试试在终端里手动跑一下那个filesystem服务器的命令,看它是不是秒起,如果也要等两三秒那基本就是这个问题。另外官方模板最近改过参数格式,有些老教程里的args写法已经对不上了,我换成新版之后连接就正常了。还有个隐蔽的点是路径里如果有中文或者空格,MCP握手阶段会莫名卡住,换成纯英文短路径能排除掉这个干扰。你现在的Claude Code是哪个版本,如果是最近两三周更新的,建议把MCP相关的日志级别调成debug再看一眼,报错信息其实藏在里面。我最后是降了Claude Code一个小版本才彻底不超时的,工具链太新有时候真是双刃剑。
我也卡在这,后来发现是npx首次拉包太慢,改成全局装好再指路径就秒连了。
我前几天也踩了差不多的坑,filesystem这个模板默认走stdio,但Claude Code对启动命令的工作目录挺敏感的,路径里带空格或者用了~就容易卡在connecting。你先试试把命令换成绝对路径,手动在终端跑一遍那条npx命令,看能不能正常起来。另外版本也可能有影响,我之前把node升级到20之后反而好了,感觉跟工具链新旧确实有点关系。
我也踩过这个坑,八成是Claude Code启动MCP时环境变量没继承过去,尤其PATH和node路径。你可以先用命令行手动跑一下那个filesystem server的命令,看能不能正常起,起来了再回头查配置。另外最近Claude Code更新挺频繁的,MCP协议有版本差异,旧模板配新版客户端确实容易握手失败,建议去仓库issue里翻翻有没有人报同样的。