文件系统 MCP 服务器
文件系统 MCP 服务器是最常用的 MCP 服务器之一,它允许 AI 助手安全地读取和操作本地文件系统。这对于内容创作、代码编辑和文档管理等场景非常有用。
功能特性
📁 文件操作
- 读取文件 - 获取文件内容
- 写入文件 - 创建或修改文件
- 列出目录 - 浏览文件夹结构
- 文件信息 - 获取文件元数据
🔒 安全特性
- 路径限制 - 只能访问指定目录
- 权限控制 - 可配置读写权限
- 路径验证 - 防止路径遍历攻击
- 文件类型过滤 - 限制可访问的文件类型
🚀 高级功能
- 文件搜索 - 在目录中搜索文件
- 批量操作 - 同时处理多个文件
- 文件监控 - 监听文件变化(部分实现)
- 符号链接处理 - 安全处理符号链接
安装配置
基础安装
文件系统 MCP 服务器是官方维护的服务器,可以直接通过 npx 使用:
bash
# 测试安装
npx -y @modelcontextprotocol/server-filesystem --helpClaude 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 错误 解决方案:
- 检查目录权限:
ls -la /path/to/directory - 确保用户有读写权限
- 在 macOS 上可能需要授予 Claude Desktop 文件访问权限
路径不存在
问题: Path not found 错误 解决方案:
- 验证路径是否正确
- 确保目录存在
- 检查路径中的特殊字符
连接失败
问题: MCP 服务器连接失败 解决方案:
- 检查 npx 是否正确安装
- 验证配置文件语法
- 查看 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/
性能优化
📊 性能建议
- 限制目录大小 - 避免授予包含大量文件的目录访问权限
- 文件类型过滤 - 只允许
