2025-05-09
折腾
00

目录

filesystem-mcp 无法识别指定目录
尝试的几种解决办法
1 命令、参数改用 cmd \c npx 组合
2 重新安装 node. js
3 命令、参数改用绝对路径
4 尝试 CherryStudio 的自动安装 mcp 功能
5 指定目录路径的盘符字母用大写
使用 AI 的心得总结
为什么要在 CheeryStudio 上折腾 mcp?
为什么非要折腾 filesystem 这个 mcp 服务?
除 filesystem 外安装的其他 mcp 服务?
关于安装 mcp 的感受
为什么要折腾 mcp?
为什么要学习使用 AI?

filesystem-mcp 无法识别指定目录

五一假期前,在 CherryStudio 和 Roo Code 上都安装了 filesystem-mcp,配置参考官方和 B 站视频,运行时候都出现『指定许允访问目录不存在』的错误。就纳闷为啥别人能运行成功,明明一样的设置。

几天折腾,最终发现问题原因:在 filesystem-mcp 的参数中指定访问目录,目录路径的盘符必须使用大写字母,而我用了小写。当时找到原因就很崩溃,常规情况 Windows 下大小写盘符都等同,在这就不行了😭。

因为不是 IT 专业出生,遇到问题要么搜索要么枚举测试。以下是尝试过的解决办法。

尝试的几种解决办法

1 命令、参数改用 cmd \c npx 组合

在 Windows 系统上,像 npx 这样的命令实际上是批处理脚本(例如 npx.cmd),需要命令解释器 (cmd.exe) 才能执行。当客户端尝试直接运行这些命令而不指定解释器时,可能出现连接会失败并出现“客户端已关闭”错误。

官方 filesystem-mcp 设置中,命令直接采用 npx,改为以下格式可解决路径错误问题。

json
{ "mcpServers": { "filesystem": { "command": "cmd", "args": [ "/c", "npx", "@modelcontextprotocol/server-filesystem", "i:\\temp\\MCP_Dir" //此写法仅展示错误,正确写法应盘符字母大写 ] } }

结果:尝试以上办法仍然无法正常运行 filesystem-mcp。

其实只要 npx 在环境变量里,直接作为命令设置也没问题。

2 重新安装 node. js

查到一个 GitHub 上的讨论,大意是如果采用安装器方式安装的 node. js,npm 只能获得所在目录的本地权限,如果全局执行 npm 可能出现权限错误。

于是吭哧吭哧按照建议先正确卸载 node,再采用版本管理器 nvm 安装 node. js。

  1. 完全卸载已安装的 node. js,按照这篇文章的步骤:《How to Completely Remove Node.js from Windows ? - GeeksforGeeks
  2. 正确安装 node. js,参考这篇文章中的 nvm 方法:《How to Install Node.js on Windows: Top 4 Methods

结果:尝试以上办法仍然无法正常运行 filesystem-mcp。

3 命令、参数改用绝对路径

搜索到 Windows 下采用绝对路径设置命令、参数,可以避免连接 mcp 服务器错误和路径问题。

需要先安装 mcp 服务的 node 包。

bash
npm install -g @modelcontextprotocol/server-filesystem

由于我用 nvm 重新安装了 node. js,因此 npx 和 server-filesystem 包的执行文件都在 c:\nvm4w。这个目录在安装 nvm 过程中可以设置。

于是采用绝对路径的设置如下。

json
{ "mcpServers": { "filesystem": { "command": "C:\\nvm4w\\nodejs\\node.exe", "args": [ "C:\\nvm4w\\nodejs\\node_modules\\@modelcontextprotocol\\server-filesystem\\dist\\index.js", "i:\\temp\\MCP_Dir" //此写法仅展示错误,正确写法应盘符字母大写 ] } }

结果:尝试以上办法仍然无法正常运行 filesystem-mcp。

4 尝试 CherryStudio 的自动安装 mcp 功能

其实最初在 CherryStudio 上就是用自动安装的,mcp 设置里可以搜到 CherryStudio 提供的 filesystem-mcp,一键安装后再添加指定目录既可。

这里有个误会,我先是在 VSCode 的 Roo Code 上配置了 filesystem-mcp,测试时由于所在工作目录恰好是指定的 filesystem-mcp 可访问目录,导致我以为运行成功了。实际上 Roo Code 用的是 VSCode 本身的读写功能,而不是 filesystem-mcp。这就导致在 CherryStudio 无法运行 filesystem-mcp 时,我认为是 CherryStudio 出了问题。

5 指定目录路径的盘符字母用大写

这是我灵机一动想出来的。测试时候给 AI 的文件地址的盘符字母用的大写,本着一致性,就把设置里指定目录的路径也改成大写盘符,结果就成了。

另外对于小白来说,注意 Windows 下 mcp 设置里的路径地址不能用单反斜杠 \,而是必须用双反斜杠 \\

使用 AI 的心得总结

MCP 能极大扩展 LLM 的功能性,所以四月份刚火,我就开始尝试。最初在 Roo Code 上,后来 CheeryStudio 也跟进支持。

为什么要在 CheeryStudio 上折腾 mcp?

我不是 IT 行业的,Roo Code 主要适用于编程,CheeryStudio 方便配置和切换模型、有知识库功能,因此平时多用 CheeryStudio,习惯了。

查询到似乎 Roo Code 采用内置的 prompt 方案实现 mcp 功能,所以不挑 LLM。CheeryStudio 中调用 mcp 需要 LLM 本身具备工具调用功能,所以挑 LLM。不过随着 Agent 概念的流行,最近出的 LLM 都标配工具调用功能。

我的主观体验:实现 mcp 的方式不同,导致 Roo Code 调用 mcp 特别费 tokens。当时测试 tavily-mcp,跑了 7、8 次就耗费了大概 25 万 token😅。CheeryStudio 貌似耗费 tokens 更少些。

题外话,字节的 Trae 提供免费 LLM 使用,挺适合作为 mcp 客户端的。

为什么非要折腾 filesystem 这个 mcp 服务?

纯粹好奇心驱使。五一前试了 filesystem-mcp 不成功,也试着找问题无果。本来就不打算再折腾了,可看到 B 站一视频,UP 的 mcp 设置跟我一模一样。这时我一方面没关注指定目录的写法,因为不同人肯定不同目录,没必要特别关注;另一方面误以为 Roo Code 运行 filesystem-mcp 成功,因此认为 CheeryStudio 有问题。

两方面错误认知,在我脑中形成这样一个情况:别人用同样的 mcp 设置,在同样的 windows 系统下,在比我版本旧的 CheeryStudio 上,成功运行 filesystem-mcp。这种只有我是列外的情况感觉太不真实了,对于好奇心重的人就是重锤。打个比方,你跟别人喝同一饮水机的水,别人没事,你中毒,甚至你用别人的杯子喝也中毒,别人就是没事,这谁受得了。

除 filesystem 外安装的其他 mcp 服务?

目前添加的 mcp 服务有:

  • Filesystem
  • Time
  • Excel
  • Quickchart
  • Sequential-thinking
  • Tavily
  • Fetch

以上都安装试用成功,但部分还没有深度使用体验。

关于安装 mcp 的感受

其实除了 filesystem,其他 mcp 服务安装都挺容易,一遍搞定。

Mcp 服务一般由两种语言编写:JavaScript 和 Python。一个 mcp 服务就是两种语言的模块包,前者用 npx(或 node 直接运行)运行,后者用 uvx(或 python 直接运行)运行。采用 npx 或 uvx 命令,属于即插即用,设置好 mcp 配置就会自行下载相关模块包,不需要提前手动安装。

Roo Code 上安装的 mcp 似乎只对当前工作目录有效,如果切换目录,会自动重新安装 mcp 服务并连接。

搜索发现也有全局安装 mcp 的办法,我没研究过。

为什么要折腾 mcp?

为了学习使用 AI,让 AI 用得更顺手、更具实用性。

折腾了几天,最终的解决方案太有戏剧性了。小小一个盘符字母大小写问题,花费了相当多的精力。这就是我这种非 IT 专业人士缺少基本编程知识需要付出的学费。

为什么要学习使用 AI?

三年前 ChatGPT 横空出世,舆论宣传 AI 普及是时代大趋势。但直到去年底 DeepSeek-R1 出现,才切身体会到 AI 的巨大能量,必须学习使用 AI。之前也试用过不少 LLM,两年多时间里,由于 OpenAI 的地域隔离,以及国产 AI 能力有限,感受是 AI 对我目前工作没啥帮助,除了生成一些喊口号、形式主义的文字应付交差。

自身笼统的体验,DeepSeek-R1 之前,使用国产 AI 完成的任务处于不及格水平,之后至少能达到 60 分及格。这就使得 AI 有可能在实际工作中应用起来、普及开来。

我的工作中,几乎文字工作和图纸工作各半,使用工具资料,如标准、规范、过程文件等,全以文字为主。大语言模型天生处理文字,而且通过『脚本代码』这类特殊文字,可以在 AutoCAD、Blender 这类支持脚本绘制的图像软件中绘图。那么在我目前工作中使用 AI 就是大势所趋。

微软 WorkLab 的 2025 工作趋势指数报告中,预测 AI 将重塑工作方式,诞生一种新型组织——“前沿公司”(Frontier Firm),其特征包括:AI 智能随时可用(intelligence on tap)、人机混合团队(human-agent teams),以及每位员工成为“AI 代理主管”(agent boss),负责管理 AI 代理。

只有懂得将使用 AI 和自身能力结合,才能在人机混合团队中立足,才能管理 AI agent 员工。这是一个远景,我司很大可能不会成为这种『前沿公司』。但万一呢。

看过一个视频,内容展示如何用 DeepSeek 制作脚本在 AutoCAD 中绘制一个简单图形。当时第一反应很兴奋,想着以后用 AI 画图,一来解放颈椎和胳膊,二来节省时间可以摸鱼。

今年开始,国内深度求索、阿里千问、字节跳动带头,将 LLM 能力提升了一个境界,又想会不会两三年后 AI 真得能自己画 CAD 图了,于是多少有点危机感。不过好在我这行工作,还是需要人做审核,所以完全被 AI 取代估计是很久之后的事儿。希望不要被打脸。但也不能坐以待毙,所以定了个没目标的计划,平日里要关注 AI 应用领域,要学习使用 AI,把 AI 用到工作中。

卖课的经常说一句话,有道理但没必要焦虑:可能取代你的不是 AI,而是会用 AI 的人。

本文作者:tsingk

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!