MartinSchlott_BetterMCPFileServer

MartinSchlott_BetterMCPFileServer

🚀 更好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 提供了一个强大而简洁的接口,帮助您更高效地管理文件和目录。通过定义别名:路径对,您可以将物理路径映射到虚拟路径,并严格限制访问权限,确保操作仅限于指定的目录。支持写入、读取、编辑、移动、复制、删除文件以及搜索文件和目录,是开发者的理想选择。

更多详细信息请参阅项目文档。

  • 0 关注
  • 0 收藏,12 浏览
  • system 提出于 2025-09-29 18:00

相似服务问题