File System MCP Server

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

设置

  1. 克隆存储库:
git clone https://github.com/calebmwelsh/file-system-mcp-server.git
cd file-system-mcp-server
  1. 创建并激活虚拟环境:
python -m venv venv
source venv/bin/activate  # 在 Windows 上:venv\Scripts\activate
  1. 安装依赖项:
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"
      ]
    }
  }
}

添加配置后:

  1. 保存 claude_desktop_config.json 文件
  2. 重启 Claude
  3. 现在,您可以通过要求 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: 获取目录统计信息

已知问题

以下功能目前存在问题,可能无法按预期工作:

  1. 删除文件功能

    • delete_file 函数在某些情况下可能无法正确删除文件
    • 建议用户手动验证文件删除情况,或在关键情况下使用替代方法
    • 该问题正在调查中,将在未来的更新中修复
  2. 列出驱动器功能

    • list_drives 函数可能无法正确检测或显示所有可用驱动器
    • 某些驱动器可能会从列表中丢失或显示不正确的信息
    • 这是一个已知的限制,将在未来的更新中解决
  3. 平台特定限制

    • Windows 特定的功能在 macOS/Linux 上不可用
    • 某些路径处理可能因平台而异
    • 系统信息检索因平台而异

错误处理

服务器包括全面的错误处理,用于:

  • 无效的文件路径
  • 未找到文件/目录
  • 权限问题
  • 磁盘空间限制
  • 无效操作
  • 平台特定错误

安全

  • 所有文件操作都包括路径验证
  • 在破坏性操作之前创建备份文件
  • 系统信息访问仅限于安全操作
  • 文件操作以适当的错误处理执行

贡献

  1. Fork 存储库
  2. 创建一个功能分支
  3. 提交您的更改
  4. 推送到分支
  5. 创建一个 Pull Request

许可证

该项目根据 MIT 许可证获得许可 - 有关详细信息,请参阅 LICENSE 文件。

致谢

  • 基于 FastMCP 构建
  • 使用 Pydantic 进行数据验证
  • 灵感来自现代文件系统管理工具

推荐服务器

Excel MCP Server

Excel MCP Server

一个模型上下文协议服务器,使 AI 助手能够读取和写入 Microsoft Excel 文件,支持诸如 xlsx、xlsm、xltx 和 xltm 等格式。

精选
本地
Go
Claude Code MCP

Claude Code MCP

一个实现了 Claude Code 作为模型上下文协议(Model Context Protocol, MCP)服务器的方案,它可以通过标准化的 MCP 接口来使用 Claude 的软件工程能力(代码生成、编辑、审查和文件操作)。

精选
本地
JavaScript
Crawlab MCP Server

Crawlab MCP Server

官方
Python
Edit File Lines MCP Server

Edit File Lines MCP Server

一个基于 TypeScript 的 MCP 服务器,它提供工具,用于对允许目录内的文本文件进行精确的、基于行的编辑。

本地
TypeScript
mcp-server-code-assist

mcp-server-code-assist

一个模型上下文协议服务器,它通过大型语言模型提供代码修改和生成工具,允许用户使用结构化的 XML 指令来创建、修改、重写和删除文件。

本地
Python
Terminal Controller for MCP

Terminal Controller for MCP

一个 MCP 服务器,它通过一个标准化的接口,使 LLM 能够安全地执行终端命令、进行目录导航和进行文件系统操作。

本地
Python
Obsidian MCP REST Server

Obsidian MCP REST Server

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

本地
TypeScript
MCP Tasks Organizer

MCP Tasks Organizer

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

本地
Python
MCP PDF Forms

MCP PDF Forms

一个服务器,通过 MCP 的 API 提供 PDF 表单操作工具,允许用户在目录中查找 PDF 文件、提取表单字段信息,并在文档中可视化表单字段。

本地
Python
Google Drive MCP Server

Google Drive MCP Server

启用与 Google Drive 的集成,用于列出、读取和搜索文件,支持各种文件类型,并为 Google Workspace 文件提供自动导出功能。

本地
JavaScript