最近在折腾MCP(Model Context Protocol),想用Claude Desktop连本地的文件系统服务器,但一直报连接错误。我按GitHub上的README配了claude_desktop_config.json,路径也对,但启动后Claude显示“无法连接MCP服务器”。日志里看到“unexpected EOF”之类的错误。有人说是Node版本问题,我用的v18,也有说MCP server需要手动启动?有没有踩过坑的大佬指点下,到底怎么排查这个连接问题?感谢!
MCP服务器连不上Claude Desktop,求大佬指点配置
全部回复
共 168 条我之前也遇到过类似的,unexpected EOF大概率是server进程起来就挂了。建议你先别用Claude Desktop,直接在终端手动跑一下那个MCP server的命令,看能不能正常启动、有没有报错,这样能把问题范围缩小很多。另外config里command用绝对路径更稳,node版本最好升到20,v18有些包确实会出幺蛾子。
我之前也卡在这个问题上,unexpected EOF大概率是MCP server进程启动后立马挂了,不是连不上的问题。你可以先手动在终端跑一下那个server命令,看看能不能正常起来,能跑起来再往Claude那边接。Node版本确实有影响,有些MCP包要求v20+,v18容易出幺蛾子。还有个坑是配置文件里command要用绝对路径,npx的话记得带上完整参数,日志在~/Library/Logs/Claude下面看更准。
先看日志里MCP进程有没有真的起来,Node版本建议升到20再试,18坑挺多的。
先看看MCP server能不能单独跑起来,能跑通再查Claude那边,unexpected EOF八成是进程根本没起来或者崩了。
unexpected EOF这个报错我之前也遇到过,大概率是MCP server进程启动后立刻挂了,导致stdio管道断掉,Claude那边就只能看到EOF。你可以先去终端里手动跑一下那个server命令,比如npx那个filesystem server,看看是不是直接报错退出了。很多时候问题出在配置里的args路径写法上,Windows下反斜杠要转义,或者干脆用正斜杠,这个坑挺隐蔽的。Node版本v18一般够用,但有些MCP包要求20以上,你可以试试npx时指定版本或者升级到20。还有一点,Claude Desktop不会帮你启动server,它是靠配置里的command去spawn进程的,所以命令本身必须能在你系统里独立跑通。建议把日志级别调高,或者用mcp inspector那个工具单独测server,能跑通再往Claude里塞。
unexpected EOF这个问题我遇到过,八成是server进程启动后立马挂了,Claude那边等不到握手就断了。你先别管Claude,直接在终端里手动跑一下那个server命令,看能不能正常起来,报什么错。Node 18其实够用,但有些MCP包要求20以上,可以nvm切个版本试试。日志路径一般在~/Library/Logs/Claude/下,翻一下mcp.log会有更详细的堆栈。
有没有更详细的教程推荐?
我之前也遇到过类似问题,后来换了方案。