文件系统MCP📁
AI代理的安全文件系统操作-通过批处理优化令牌
](https://www.npmjs.com/package/@sylphx/filesystem-mcp) ](https://hub.docker.com/r/sylphx/filesystem-mcp) 
批量操作 • 项目根安全 • 令牌优化 • Zod验证
______________________________________________________________________
🚀 概述
为您的AI代理(如Claude/Cline)提供安全、高效和节省令牌的项目文件访问权限。这个Node.js服务器实现了 模型上下文协议(MCP) 提供一组强大的文件系统工具。
问题:
Traditional AI filesystem access:
- Shell commands for each operation ❌
- No batch processing (high token cost) ❌
- Unsafe (no project root boundaries) ❌
- High latency (shell spawn overhead) ❌解决方案:
Filesystem MCP Server:
- Batch operations (10+ files at once) ✅
- Token optimized (reduce round trips) ✅
- Secure (confined to project root) ✅
- Direct API (no shell overhead) ✅结果:为AI代理提供安全、快速和令牌高效的文件系统操作。
______________________________________________________________________
⚡ 性能优势
令牌和延迟优化
| 度量 | 单个Shell命令 | 文件系统MCP | 改进 |
|---|---|---|---|
| 操作/请求 | 1个文件 | 10+个文件 | 减少10倍 |
| 往返旅程 | N个操作 | 1个请求 | N×更少 |
| 延迟 | Shell 生成直接 API | 速度提高5-10倍 | |
| 令牌使用 | 高开销 | 批处理上下文 | 减少50-70% |
| 错误报告 | stderr解析 | 每项状态 | 详细 |
现实世界的好处
- 批处理文件读取 -在一个请求中读取10个文件vs 10个请求
- 多文件编辑 -使用单个工具调用编辑多个文件
- 递归操作 -高效地列出整个目录树
- 详细状态 -每项成功/失败报告
______________________________________________________________________
🎯 为什么选择此服务器?
安全与安保
- 🛡️ 项目根限制 -所有操作仅限于
cwd发射时 - 🔒 权限控制 -内置chmod/chown工具
- ✅ 验证 -Zod模式验证所有参数
- 🚫 路径穿越预防 -无法转义项目目录
效率和性能
- ⚡ 批处理 -每个请求处理多个文件/目录
- 🎯 令牌优化 -减少AI服务器通信开销
- 🚀 直接API -无壳进程生成
- 📊 详细结果 -批处理操作的每个项目状态
开发者体验
- 🔧 简易设置 -
npx/bunx立即使用 - 🐳 Docker就绪 -官方Docker镜像可用
- 📦 综合工具 -11+文件系统操作
- 🔄 MCP标准 -完全符合协议要求
______________________________________________________________________
📦 安装
方法1:npx/bunx(推荐)
最简单的方法-始终使用npm的最新版本。
使用npx:
{
"mcpServers": {
"filesystem-mcp": {
"command": "npx",
"args": ["@sylphx/filesystem-mcp"],
"name": "Filesystem (npx)"
}
}
}使用bunx:
{
"mcpServers": {
"filesystem-mcp": {
"command": "bunx",
"args": ["@sylphx/filesystem-mcp"],
"name": "Filesystem (bunx)"
}
}
}重要提示: 服务器使用自己的当前工作目录(cwd)作为项目的根。确保您的MCP主机(例如Cline/VSCode)使用以下命令启动该命令 cwd 设置到项目的根目录。
方法二:Docker
在容器化环境中使用官方Docker镜像。
{
"mcpServers": {
"filesystem-mcp": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-v",
"/path/to/your/project:/app",
"sylphx/filesystem-mcp:latest"
],
"name": "Filesystem (Docker)"
}
}
}记得更换 /path/to/your/project 根据您的实际项目路径。
方法3:本地建设(开发)
# Clone repository
git clone https://github.com/SylphxAI/filesystem-mcp.git
cd filesystem-mcp
# Install dependencies
pnpm install
# Build
pnpm run build
# Watch mode (auto-rebuild)
pnpm run devMCP主机配置:
{
"mcpServers": {
"filesystem-mcp": {
"command": "node",
"args": ["/path/to/filesystem-mcp/dist/index.js"],
"name": "Filesystem (Local Build)"
}
}
}______________________________________________________________________
🚀 快速开始
在MCP主机中配置后(请参阅安装),您的AI代理可以立即使用文件系统工具。
代理交互示例
filesystem-mcp
read_content
{"paths": ["src/index.ts", "package.json"]}
服务器响应:
{
"results": [
{
"path": "src/index.ts",
"content": "...",
"success": true
},
{
"path": "package.json",
"content": "...",
"success": true
}
]
}______________________________________________________________________
📋 特性
文件操作
| 工具 | 说明 | 批量支持 |
|---|---|---|
| read_内容 | 读取文件内容 | ✅ 多个文件 |
| write_内容 | 写入/附加到文件 | ✅ 多个文件 |
| edit_file | 具有差异输出的外科编辑 | ✅ 多个文件 |
| 搜索文件 | 带上下文的正则表达式搜索 | ✅ 多个文件 |
| 替换内容 | 多文件搜索和替换 | ✅ 多个文件 |
目录操作
| 工具 | 说明 | 批量支持 |
|---|---|---|
| 列表文件 | 递归列出文件/目录 | 单路径 |
| 统计项目 | 获取详细的文件/目录状态 | ✅ 多个项目 |
| create_directories | 与家长一起创建目录 | ✅ 多条路径 |
管理操作
| 工具 | 说明 | 批量支持 |
|---|---|---|
| 删除项目 | 删除文件/目录 | ✅ 多个项目 |
| move_items | 移动/重命名文件/目录 | ✅ 多个项目 |
| copy_items | 复制文件/目录 | ✅ 多个项目 |
权限操作
| 工具 | 说明 | 批量支持 |
|---|---|---|
| chmod_项目 | 更改POSIX权限 | ✅ 多个项目 |
| chown_items | 更改所有权 | ✅ 多个项目 |
主要优势: 支持批量操作的工具单独处理每个项目,并返回每个项目的详细状态报告。
______________________________________________________________________
💡 设计理念
核心原则
- 安全第一
- 所有操作仅限于项目根 - 路径遍历预防 - 内置权限控制
- 注重效率
- 批处理减少了令牌的使用 - 直接API调用(无shell开销) - 最少的通信往返
- 鲁棒性
- 每项成功/失败报告 - 详细的错误消息 - Zod模式验证
- 简洁
- 清晰、一致的API - MCP标准合规性 - 易于集成
______________________________________________________________________
📊 与备选方案的比较
| 功能 | 文件系统MCP | Shell命令 | 其他脚本 |
|---|---|---|---|
| 安全 | ✅ 根系受限 | ❌ 完全shell访问权限 | ⚠️ 变量 |
| 代币效率 | ✅ 批处理 | ❌ 一个操作/命令 | ⚠️ 变量 |
| 延迟 | ✅ 直接API | ❌ 贝壳产卵 | ⚠️ 变量 |
| 批量操作 | ✅ 大多数工具 | ❌ 否 | ⚠️ 也许吧 |
| 错误报告 | ✅ 每项详细信息 | ❌ stderr解析 | ⚠️ 变量 |
| 设置 | ✅ 简单(npx/Docker) | ⚠️ 安全外壳设置 | ⚠️ 自定义 |
| MCP标准 | ✅ 完全合规 | ❌ 否 | ⚠️ 变量 |
______________________________________________________________________
🛠️ 技术栈
| 组件 | 技术 |
|---|---|
| 语言 | TypeScript(严格模式) |
| 运行时 | Node.js/Bun |
| 协议 | 模型上下文协议(MCP) |
| 验证 | Zod模式 |
| 包管理器 | pnpm |
| 分布 | npm+Docker Hub |
______________________________________________________________________
🎯 用例
AI代理开发
使AI代理能够:
- 读取项目文件 -访问代码、配置、文档
- 编辑多个文件 -跨代码库重构
- 搜索代码库 -查找模式和定义
- 管理项目结构 -创建、移动、组织文件
代码助理
构建强大的编码工具:
- Cline/Claude整合 -直接文件系统访问
- 批量重构 -一次编辑多个文件
- 安全操作 -仅限于项目目录
- 高效运营 -降低代币成本
自动化和脚本
自动化开发任务:
- 文件生成 -创建样板文件
- 项目设置 -初始化目录结构
- 批量处理 -高效处理多个文件
- 内容转换 -跨文件搜索和替换
______________________________________________________________________
🗺️ 路线图
✅ 完成
- \[x\] 核心文件系统操作(读、写、编辑等)
- \[x\] 大多数工具的批处理
- \[x\] 项目根安全
- \[x\] Docker镜像
- \[x\] npm包
- \[x\] Zod验证
🚀 计划的
- \[\]文件监视功能
- \[\]大文件的流媒体支持
- \[\]高级过滤
list_files - \[\]性能基准
- \[\]压缩/解压缩工具
- \[\]Symlink管理
______________________________________________________________________
🤝 贡献
欢迎投稿!请遵循以下指南:
- 分叉存储库
- 创建要素分支 -
git checkout -b feature/my-feature - 编写测试 -确保良好的覆盖率
- 遵循TypeScript严格模式 -类型安全第一
- 添加文档 -必要时更新README
- 提交拉取请求
开发设置
# Clone and install
git clone https://github.com/SylphxAI/filesystem-mcp.git
cd filesystem-mcp
pnpm install
# Build
pnpm run build
# Watch mode (auto-rebuild)
pnpm run dev______________________________________________________________________
🤝 支持
](https://www.npmjs.com/package/@sylphx/filesystem-mcp) ](https://github.com/SylphxAI/filesystem-mcp/issues)
表示支持: ⭐ 明星•👀 观看•🐛 报告错误•💡 建议功能•🔀 贡献
______________________________________________________________________
📄 许可证
MIT© Sylphx
______________________________________________________________________
🙏 学分
内置:
- 模型上下文协议 -MCP标准
- 佐德 -架构验证
- TypeScript -类型安全
- -包管理器
特别感谢MCP社区❤️
______________________________________________________________________
📚 出版
此存储库使用GitHub Actions自动发布到:
- npm: @sylphx/文件系统mcp
- Docker 中心: sylphx/文件系统mcp
在版本标签上触发(v*.*.*)推到 main 支。
所需的秘密: NPM_TOKEN, DOCKERHUB_USERNAME, DOCKERHUB_TOKEN
______________________________________________________________________
Secure. Efficient. Token-optimized.
The filesystem MCP server that saves tokens and keeps your projects safe
sylphx.com • @SylphxAI • hi@sylphx.com
