File System MCP Server
镜子 (jìng zi)
MCP-Mirror
README
文件系统 MCP 服务器
一个强大的文件系统管理服务器,基于 FastMCP 构建,提供了一套全面的文件和目录操作工具。该服务器允许您通过结构化的 API 执行各种文件系统操作,使其成为自动化和与其他系统集成的理想选择。
平台支持
该服务器旨在跨不同的操作系统工作,但功能级别有所不同:
Windows
- 完整功能支持
- 驱动器列表
- 特殊文件夹访问
- Windows 特定的路径处理
- 详细的系统信息
macOS/Linux
- 基本文件操作
- 目录操作
- 文件搜索和元数据
- 基本系统信息
- 注意:某些 Windows 特定的功能不可用
未来实现
计划的 macOS 支持
- macOS 的原生路径处理
- macOS 特定的系统信息检索
- 与 macOS 文件系统功能集成
- 支持 macOS 特定的文件属性
- 实现 macOS 特定的实用程序(类似于 windows_utils.py)
计划的 Linux 支持
- Linux 的原生路径处理
- Linux 特定的系统信息检索
- 与 Linux 文件系统功能集成
- 支持 Linux 文件权限和属性
- 实现 Linux 特定的实用程序
跨平台改进
- 统一的路径处理系统
- 平台无关的驱动器检测
- 一致的系统信息 API
- 跨平台的标准化文件属性
- 跨平台的文件系统事件监控
- 通用的文件集合系统
时间线
- 阶段 1:基本跨平台兼容性改进
- 阶段 2:平台特定功能实现
- 阶段 3:高级跨平台功能
- 阶段 4:性能优化和改进
功能
文件操作
- 复制文件,支持备份
- 移动文件,支持备份
- 删除文件,带有安全检查
- 读取文件内容
- 写入文件内容
- 获取文件信息(大小、创建时间、修改时间)
- 按名称模式搜索文件
- 创建文件集合以组织相关文件
目录操作
- 列出目录内容
- 创建目录
- 删除目录
- 递归列出目录(树状结构)
- 按名称模式搜索目录
系统信息
- 获取系统信息(操作系统、CPU、内存、磁盘使用情况)
- 获取磁盘信息(总空间、已用空间、可用空间)
- 获取目录信息(文件数、总大小)
项目结构
file-system-mcp-server/
├── fs_server.py # 主要服务器实现
├── windows_utils.py # Windows 特定的实用程序(仅限 Windows)
├── requirements.txt # 项目依赖
└── test_prompts_example.md # 示例测试提示
集合存储
集合可以存储在用户指定的任何目录中。 如果未指定存储位置,集合将存储在项目 data/collections
目录中的默认位置。
用法示例:
# 存储在默认位置
create_collection("my_collection", ["file1.txt", "file2.txt"])
# 存储在自定义位置
create_collection("my_collection", ["file1.txt", "file2.txt"], storage_path="/path/to/store")
依赖项
必需的依赖项
- FastMCP
- Pydantic
- pywin32(仅限 Windows)
- WMI(仅限 Windows)
安装依赖项:
pip install -r requirements.txt
设置
- 克隆存储库:
git clone https://github.com/calebmwelsh/file-system-mcp-server.git
cd file-system-mcp-server
- 创建并激活虚拟环境:
python -m venv venv
source venv/bin/activate # 在 Windows 上:venv\Scripts\activate
- 安装依赖项:
pip install -r requirements.txt
用法
有关跨不同开发环境(Claude、Cursor、Windsurf)的详细 MCP 配置说明,请访问: MCP 配置指南
与 Claude 集成
要将文件系统 MCP 服务器与 Claude 集成,请将以下内容添加到您的 claude_desktop_config.json
文件中:
{
"mcpServers": {
"file-system": {
"command": "/absolute/path/to/python",
"args": [
"/absolute/path/to/file-system-mcp-server/fs_server.py"
]
}
}
}
查找您的 Python 路径
要查找您的 Python 可执行文件路径,请使用以下命令:
Windows (PowerShell):
(Get-Command python).Source
Windows (命令提示符/终端):
where python
Linux/macOS (终端):
which python
将 /absolute/path/to/python
替换为上面相应命令的输出。
示例配置
对于 Windows,您的配置可能如下所示:
{
"mcpServers": {
"file-system": {
"command": "C:\\Users\\YourUsername\\AppData\\Local\\Programs\\Python\\Python39\\python.exe",
"args": [
"C:\\Users\\YourUsername\\Documents/file-system-mcp-server/fs_server.py"
]
}
}
}
对于 macOS/Linux:
{
"mcpServers": {
"file-system": {
"command": "/usr/local/bin/python3",
"args": [
"/Users/YourUsername/Documents/file-system-mcp-server/fs_server.py"
]
}
}
}
添加配置后:
- 保存
claude_desktop_config.json
文件 - 重启 Claude
- 现在,您可以通过要求 Claude 执行文件操作来使用文件系统工具
可用工具
文件操作
copy_file
: 复制文件,带有可选备份move_file
: 移动文件,带有可选备份delete_file
: 删除文件,带有安全检查read_file
: 读取文件内容write_file
: 将内容写入文件get_file_info
: 获取详细的文件信息search_files
: 按名称模式搜索文件create_collection
: 创建文件集合
目录操作
list_directory
: 列出目录内容create_directory
: 创建新目录delete_directory
: 删除目录list_directory_recursively
: 以树状格式显示目录结构search_directories
: 按名称模式搜索目录
系统信息
get_system_info
: 获取系统信息get_disk_info
: 获取磁盘使用信息get_directory_info
: 获取目录统计信息
已知问题
以下功能目前存在问题,可能无法按预期工作:
-
删除文件功能
delete_file
函数在某些情况下可能无法正确删除文件- 建议用户手动验证文件删除情况,或在关键情况下使用替代方法
- 该问题正在调查中,将在未来的更新中修复
-
列出驱动器功能
list_drives
函数可能无法正确检测或显示所有可用驱动器- 某些驱动器可能会从列表中丢失或显示不正确的信息
- 这是一个已知的限制,将在未来的更新中解决
-
平台特定限制
- Windows 特定的功能在 macOS/Linux 上不可用
- 某些路径处理可能因平台而异
- 系统信息检索因平台而异
错误处理
服务器包括全面的错误处理,用于:
- 无效的文件路径
- 未找到文件/目录
- 权限问题
- 磁盘空间限制
- 无效操作
- 平台特定错误
安全
- 所有文件操作都包括路径验证
- 在破坏性操作之前创建备份文件
- 系统信息访问仅限于安全操作
- 文件操作以适当的错误处理执行
贡献
- Fork 存储库
- 创建一个功能分支
- 提交您的更改
- 推送到分支
- 创建一个 Pull Request
许可证
该项目根据 MIT 许可证获得许可 - 有关详细信息,请参阅 LICENSE 文件。
致谢
- 基于 FastMCP 构建
- 使用 Pydantic 进行数据验证
- 灵感来自现代文件系统管理工具
推荐服务器
Excel MCP Server
一个模型上下文协议服务器,使 AI 助手能够读取和写入 Microsoft Excel 文件,支持诸如 xlsx、xlsm、xltx 和 xltm 等格式。
Claude Code MCP
一个实现了 Claude Code 作为模型上下文协议(Model Context Protocol, MCP)服务器的方案,它可以通过标准化的 MCP 接口来使用 Claude 的软件工程能力(代码生成、编辑、审查和文件操作)。

Crawlab MCP Server
Edit File Lines MCP Server
一个基于 TypeScript 的 MCP 服务器,它提供工具,用于对允许目录内的文本文件进行精确的、基于行的编辑。
mcp-server-code-assist
一个模型上下文协议服务器,它通过大型语言模型提供代码修改和生成工具,允许用户使用结构化的 XML 指令来创建、修改、重写和删除文件。
Terminal Controller for MCP
一个 MCP 服务器,它通过一个标准化的接口,使 LLM 能够安全地执行终端命令、进行目录导航和进行文件系统操作。

Obsidian MCP REST Server
为人工智能助手提供一个标准化的接口,通过本地 REST API 与 Obsidian vault 进行交互,从而实现笔记的读取、写入、搜索和管理。

MCP Tasks Organizer
一个 MCP 服务器,可以将 Cursor agent 计划转换为结构化的 Markdown 任务列表,并将其组织在您的存储库中,帮助您将 AI 生成的计划和建议作为可执行的规范进行跟踪。

MCP PDF Forms
一个服务器,通过 MCP 的 API 提供 PDF 表单操作工具,允许用户在目录中查找 PDF 文件、提取表单字段信息,并在文档中可视化表单字段。
Google Drive MCP Server
启用与 Google Drive 的集成,用于列出、读取和搜索文件,支持各种文件类型,并为 Google Workspace 文件提供自动导出功能。