file-system-mcp-server

file-system-mcp-server

一个全面的 MCP (模型上下文协议) 服务器,用于文件系统操作,为 Claude 和其他 AI 助手提供访问本地文件和目录的能力。

Category
访问服务器

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 进行数据验证
  • 灵感来自现代文件系统管理工具

推荐服务器

Baidu Map

Baidu Map

百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。

官方
精选
JavaScript
Playwright MCP Server

Playwright MCP Server

一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。

官方
精选
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。

官方
精选
本地
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。

官方
精选
本地
TypeScript
VeyraX

VeyraX

一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。

官方
精选
本地
graphlit-mcp-server

graphlit-mcp-server

模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。

官方
精选
TypeScript
Kagi MCP Server

Kagi MCP Server

一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。

官方
精选
Python
e2b-mcp-server

e2b-mcp-server

使用 MCP 通过 e2b 运行代码。

官方
精选
Neon MCP Server

Neon MCP Server

用于与 Neon 管理 API 和数据库交互的 MCP 服务器

官方
精选
Exa MCP Server

Exa MCP Server

模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。

官方
精选