Better MCP File Server

Better MCP File Server

🚀 更好MCP文件服务器

BetterMCPFileServer是一款经过优化的文件服务器,它能提供高效、安全且便捷的文件管理体验。用户可通过命令行界面挂载多个目录,还能借助简单的API进行文件操作。

🚀 快速开始

启动BetterMCPFileServer时,请至少指定一个别名和目录的映射关系:

BetterMCPFileServer 别名:目录 [别名2:目录2 ...]

示例用法

  • 单个目录:
    BetterMCPFileServer code:~/projects
    
  • 多个目录:
    BetterMCPFileServer code:~/Development docs:~/Documents/Technical notes:~/Notes
    

✨ 主要特性

核心功能

  • 文件写入:创建或更新文件。
  • 内容读取:获取指定文件的内容。
  • 编辑文件:对特定部分进行修改。
  • 文件管理:执行移动、重命名、复制或删除操作。
  • 目录管理:创建、重命名或删除目录。
  • 搜索功能:使用模式匹配查找文件和目录。

模式匹配示例

  • *:列出顶级项目(类似于简单的目录列表)。
  • projects/*.js:projects目录下所有.js文件。
  • **/*.md:递归查找所有Markdown文件。

📦 安装指南

使用npm安装(即将推出)

npm install -g BetterMCPFileServer  # 尚未可用

# 从源代码安装(当前方法)
git clone https://github.com/martinschlott/BetterMCPFileServer.git
cd BetterMCPFileServer
npm install
npm run build
npm link  # 可选,全局使用命令

💻 使用示例

基础用法

操作虚拟根目录

// 列出所有别名
searchFilesAndFolders({ pattern: "*" })

// 结果示例:
[
{ name: 'code', type: 'directory' },
{ name: 'docs', type: 'directory' }
]

文件管理操作

writeFile({
filePath: "projects/test.txt",
content: "Hello, World!"
});

readFileContent({
filePath: "projects/test.txt"
});

// 返回: "Hello, World!"

高级用法

可以创建一个简单的shell脚本来保持配置的一致性:

#!/bin/bash
# start-server.sh
BetterMCPFileServer \
code:~/Development/MyProjects \
docs:~/Documents/Technical \
data:~/Data/Samples \
config:~/Configuration

📚 详细文档

BetterMCPFileServer提供了6个强大的API函数,涵盖了所有文件系统操作:

1. writeFile

创建或更新一个文件:

writeFile({
filePath: "projects/README.md",
content: "# My Project\n\nThis is a readme file."
})

2. readFileContent

读取文件内容:

readFileContent({
filePath: "projects/README.md"
})

3. editFile

对文件进行特定部分的编辑:

editFile({
filePath: "projects/README.md",
edits: [
{
oldText: "# My Project",
newText: "# Awesome Project"
}
],
dryRun: false
})

4. manageFile

执行文件操作(移动、重命名、复制、删除):

manageFile({
action: "move",
filePath: "projects/old.js",
newFilePath: "projects/new.js"
})

5. manageFolder

管理目录(创建、重命名、删除):

manageFolder({
action: "create",
folderPath: "projects/new-directory"
})

6. searchFilesAndFolders

通过模式匹配搜索文件和目录:

searchFilesAndFolders({
pattern: "projects/**/*.ts",
includeMetadata: false
})

⚠️ 注意事项

⚠️ 重要提示

  • 请确保别名在系统中唯一,避免冲突。
  • 服务器运行需要足够的权限访问指定目录。
  • 对于大文件或频繁操作,建议使用合理的分页和过滤机制。

👥 项目团队

  • 开发团队:Martin Schlott及其开发团队。
  • 贡献者:感谢所有为该项目做出贡献的开源社区成员。

📄 许可证

BetterMCPFileServer遵循MIT License协议,允许自由使用、修改和分发。

📞 联系方式

如需反馈或技术支持,请联系:

  • 0 关注
  • 0 收藏,9 浏览
  • system 提出于 2025-09-29 17:27

相似服务问题