本地写了个文件系统 MCP server,Linux 上跑得好好的,Windows 客户端怎么都连不上。

客户端日志只有一句 failed to start server,没有任何细节。

最后用最笨的办法:手动在命令行跑 server 的启动命令,才看到报错——路径里的反斜杠被当成了转义符。

具体是配置文件里写了:
"args": ["C:\Users\me\data"]
JSON 解析后变成 C:Usersmedata,路径不存在,server 启动即退出。

解法:路径里用正斜杠,或者双反斜杠转义。

第二个坑:Windows 下 npx 启动的命令要用 npx.cmd,直接写 npx 有些客户端找不到。

第三个坑:中文路径。日志编码不对会乱码,看起来像文件不存在,其实是编码问题。

结论:MCP 出问题先脱离客户端手动跑一遍启动命令,比看日志快十倍。

主楼