article
README
🚀 更好MCP文件服务器
BetterMCPFileServer 是一款专为开发者打造的功能更强大的MCP文件服务器。它提供了简单易用的接口,可用于管理文件和目录,支持文件的写入、读取、编辑、移动、复制、删除操作,还能搜索文件和目录。
🚀 快速开始
BetterMCPFileServer 使用简单,启动服务器时需要至少一个别名:路径对,示例如下:
# 单个目录
BetterMCPFileServer code:~/projects
# 多个目录
BetterMCPFileServer code:~/Development docs:~/Documents/Technical notes:~/Notes
✨ 主要特性
- 强大而简洁:通过6个核心功能处理所有文件操作。
- 虚拟根目录:通过定义别名:路径对,将物理路径映射到虚拟路径。
- 安全沙盒:严格限制访问权限,确保操作仅限于指定的目录。
- 灵活搜索:支持Glob模式匹配,帮助您高效定位文件和目录。
📦 安装指南
从npm(即将推出)
npm install -g BetterMCPFileServer # 尚未可用
从源代码(当前方法)
git clone https://github.com/martinschlott/BetterMCPFileServer.git
cd BetterMCPFileServer
npm install
npm run build
npm link # 可选,全局使用命令
💻 使用示例
基本的使用法
// 读取文件内容
const 内容 = await readFileContent({ filePath: "projects/README.md" });
// 写入文件
await writeFile({
filePath: "projects/notes.txt",
content: "重要会议笔记。"
});
// 编辑文件
await editFile({
filePath: "projects/config.json",
edits: [
{
oldText: '"version": "1.0.0"',
newText: '"version": "1.0.1"'
}
],
dryRun: false
});
高度な使用法
// 创建新目录
await manageFolder({
action: "create",
folderPath: "projects/new-feature"
});
// 列出目录内容
const 文件 = await searchFilesAndFolders({
pattern: "projects/src/*"
});
📚 详细文档
高级配置
创建一个简单的shell脚本以保持一致的配置:
#!/bin/bash
# start-server.sh
BetterMCPFileServer \
code:~/Development/MyProjects \
docs:~/Documents/Technical \
data:~/Data/Samples \
config:~/Configuration
错误排除
- 错误:无效别名:路径格式:确保每个参数使用
别名:目录格式。 - 错误:目录不存在:指定的目录必须存在。
- 访问被拒绝错误:尝试访问未允许的目录。
- 未知别名:引用的别名在服务器启动时未定义。
📄 许可证
该项目由Martin Schlott(概念和设计)与AI助手合作完成:
- Claude 3.7 Sonnet(API设计咨询和文档)
- Cursor AI(实现)
README文件由Claude生成
BetterMCPFileServer 提供了一个强大而简洁的接口,帮助您更高效地管理文件和目录。通过定义别名:路径对,您可以将物理路径映射到虚拟路径,并严格限制访问权限,确保操作仅限于指定的目录。支持写入、读取、编辑、移动、复制、删除文件以及搜索文件和目录,是开发者的理想选择。
更多详细信息请参阅项目文档。
微信扫一扫