为什么还要做一个 MCP Filesystem 的 Python 实现?

目前 MCP 生态里,很多能力是 Node.js 实现的,Python 这边要么只是封装一层,要么偏同步阻塞。对那种“我就想写个 async 小工具”的场景,其实不太友好:

  • 整条链路最好都是 async I/O,跟主流生态对齐
  • 不想为了这点能力额外引一堆依赖
  • 返回结构要规整,人能看懂还不够,AI 也得读得舒服

所以在自己的 MCP 工具里,基于官方协议搞了一个「精简版」实现,主要特点:

  • 异步 I/O 实现:接口全部是 async,方便直接接到现有的 async Web 框架 / 任务系统
  • 无第三方依赖(基础操作):只用标准库,适合受限环境或者简单脚本项目
  • 结构体友好:返回体设计得比较规整,方便后面再封装成 dataclass / Pydantic 等
  • 代码简单有注释:逻辑刻意写得直白,没有做重度优化,更适合 fork 下来按自己需求魔改

可以自行 TODO / 二次开发的方向包括:

  • 更严格的读写保证与错误处理(重试、限流、幂等等)
  • 目录边界策略调整:
    • 目前通过 DATA_DIR 做目录沙箱,防止越界访问,避免一上来就摸整个磁盘
    • 也可以根据业务需要去掉或替换为自定义根目录、甚至开放整盘访问

Github 项目地址:

mcp-filesystem-python

技术含量不多,纯粹有相同需求的人可以不用再思考太多,直接用,也可以当作组件拼接到其他地方。

举报· 136 次点击
登录 注册 站外分享
快来抢沙发
0 条回复  
返回顶部