Skip to content

文件系统 MCP 服务器

文件系统 MCP 服务器是最常用的 MCP 服务器之一,它允许 AI 助手安全地读取和操作本地文件系统。这对于内容创作、代码编辑和文档管理等场景非常有用。

功能特性

📁 文件操作

  • 读取文件 - 获取文件内容
  • 写入文件 - 创建或修改文件
  • 列出目录 - 浏览文件夹结构
  • 文件信息 - 获取文件元数据

🔒 安全特性

  • 路径限制 - 只能访问指定目录
  • 权限控制 - 可配置读写权限
  • 路径验证 - 防止路径遍历攻击
  • 文件类型过滤 - 限制可访问的文件类型

🚀 高级功能

  • 文件搜索 - 在目录中搜索文件
  • 批量操作 - 同时处理多个文件
  • 文件监控 - 监听文件变化(部分实现)
  • 符号链接处理 - 安全处理符号链接

安装配置

基础安装

文件系统 MCP 服务器是官方维护的服务器,可以直接通过 npx 使用:

bash
# 测试安装
npx -y @modelcontextprotocol/server-filesystem --help

Claude Desktop 配置

macOS 配置

编辑配置文件:~/Library/Application Support/Claude/claude_desktop_config.json

json
{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-filesystem",
        "/Users/username/Documents"
      ]
    }
  }
}

Windows 配置

编辑配置文件:%APPDATA%\Claude\claude_desktop_config.json

json
{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-filesystem",
        "C:\\Users\\username\\Documents"
      ]
    }
  }
}

Linux 配置

编辑配置文件:~/.config/claude/claude_desktop_config.json

json
{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-filesystem",
        "/home/username/documents"
      ]
    }
  }
}

高级配置选项

多目录访问

json
{
  "mcpServers": {
    "filesystem-docs": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-filesystem",
        "/path/to/documents"
      ]
    },
    "filesystem-projects": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-filesystem",
        "/path/to/projects"
      ]
    }
  }
}

只读模式

json
{
  "mcpServers": {
    "filesystem-readonly": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-filesystem",
        "--readonly",
        "/path/to/readonly/directory"
      ]
    }
  }
}

使用方法

基本文件操作

读取文件

请读取我的项目文档 README.md 文件的内容。

写入文件

请帮我创建一个新的 Python 脚本文件 hello.py,内容包含一个简单的 Hello World 程序。

列出目录

请显示我的项目目录下的所有文件和文件夹。

高级使用场景

代码分析

请分析我的 src 目录下的所有 JavaScript 文件,总结代码结构和主要功能。

文档整理

请查看我的文档目录,帮我整理和分类这些 Markdown 文件。

项目管理

请检查我的项目文件,生成一个项目结构图和功能说明。

安全考虑

🔒 权限设置

  • 最小权限原则 - 只授予必要的目录访问权限
  • 敏感目录保护 - 避免授予系统目录访问权限
  • 定期审查 - 定期检查和更新访问权限

⚠️ 风险提醒

  • 系统文件 - 不要授予对系统关键目录的访问权限
  • 个人信息 - 注意保护包含个人敏感信息的文件
  • 代码安全 - 小心处理包含密钥或密码的配置文件

🛡️ 安全最佳实践

json
{
  "mcpServers": {
    "filesystem": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-filesystem",
        "/safe/working/directory"  // 使用专门的工作目录
      ],
      "env": {
        "NODE_ENV": "production"
      }
    }
  }
}

故障排除

常见问题

权限错误

问题: Permission denied 错误 解决方案:

  1. 检查目录权限:ls -la /path/to/directory
  2. 确保用户有读写权限
  3. 在 macOS 上可能需要授予 Claude Desktop 文件访问权限

路径不存在

问题: Path not found 错误 解决方案:

  1. 验证路径是否正确
  2. 确保目录存在
  3. 检查路径中的特殊字符

连接失败

问题: MCP 服务器连接失败 解决方案:

  1. 检查 npx 是否正确安装
  2. 验证配置文件语法
  3. 查看 Claude Desktop 错误日志

调试技巧

测试连接

bash
# 直接运行服务器测试
npx -y @modelcontextprotocol/server-filesystem /path/to/test/directory

检查日志

  • macOS: ~/Library/Logs/Claude/
  • Windows: %APPDATA%\Claude\Logs\
  • Linux: ~/.local/share/claude/logs/

性能优化

📊 性能建议

  • 限制目录大小 - 避免授予包含大量文件的目录访问权限
  • 文件类型过滤 - 只允许

Released under the MIT License.