Filesystem MCP Server

Filesystem MCP Server

site icon
2025.01.03 1
Go文件管理文件管理
Filesystem MCP Server 是一个基于 Go 语言实现的 Model Context Protocol (MCP) 服务器,专门用于文件系统操作。它提供了丰富的文件系统操作功能,包括文件的读写、目录的创建、列出和删除、文件的移动和搜索,以及获取文件元数据等。该服务器仅允许在通过 `args` 指定的目录内进行操作,确保了操作的安全性。
View on GitHub

Overview

基本能力

产品定位

Filesystem MCP Server 是一个专门用于文件系统操作的 MCP 服务器,旨在提供高效、安全的文件系统管理功能。

核心功能

  • 文件的读写操作
  • 目录的创建、列出和删除
  • 文件的移动和重命名
  • 文件的递归搜索
  • 获取文件和目录的元数据
  • 列出服务器允许访问的目录

适用场景

  • 需要自动化文件系统操作的开发场景
  • 需要安全限制文件系统操作范围的场景
  • 需要批量处理文件或目录的场景

工具列表

  • read_file: 读取文件的完整内容,使用 UTF-8 编码。
  • read_multiple_files: 同时读取多个文件,失败的读取不会中断整个操作。
  • write_file: 创建新文件或覆盖现有文件。
  • create_directory: 创建新目录或确保目录存在。
  • list_directory: 列出目录内容,带有 [FILE] 或 [DIR] 前缀。
  • move_file: 移动或重命名文件和目录。
  • search_files: 递归搜索文件或目录,支持不区分大小写的匹配。
  • get_file_info: 获取文件或目录的详细元数据。
  • list_allowed_directories: 列出服务器允许访问的所有目录。

常见问题解答

  • 如何限制服务器可以访问的目录? 通过在 args 中指定允许的目录路径来限制服务器的操作范围。

使用教程

使用依赖

  • 需要安装 Go 语言环境。

安装教程

go install github.com/mark3labs/mcp-filesystem-server

配置 Claude Desktop

claude_desktop_config.json 中添加以下配置:

{
  "mcpServers": {
    "filesystem": {
      "command": "mcp-filesystem-server",
      "args": [
        "/Users/username/Desktop",
        "/path/to/other/allowed/dir"
      ]
    }
  }
}

调试方式

安装完成后,可以通过运行服务器并尝试调用不同的工具来调试功能是否正常。例如,使用 read_file 工具读取一个已知的文件,检查返回的内容是否正确。

许可证

该项目遵循 MIT 开源许可条款,请参阅 MIT 了解完整条款。