Filesystem MCP Server
实现用于文件系统操作的模型上下文协议的 Node.js 服务器,允许 Claude 在指定位置读取、写入和操作文件和目录。
README
文件系统 MCP 服务器
用于文件系统操作的 Model Context Protocol (MCP) 的 Node.js 服务器实现。
功能
- 读取/写入文件
- 创建/列出/删除目录
- 移动文件/目录
- 搜索文件
- 获取文件元数据
注意: 该服务器仅允许在通过 args 指定的目录中进行操作。
API
资源
file://system: 文件系统操作接口
工具
-
read_file
- 读取文件的完整内容
- 输入:
path(字符串) - 使用 UTF-8 编码读取完整的文件内容
-
read_multiple_files
- 同时读取多个文件
- 输入:
paths(字符串数组) - 读取失败不会停止整个操作
-
write_file
- 创建新文件或覆盖现有文件(请谨慎使用)
- 输入:
path(字符串): 文件位置content(字符串): 文件内容
-
edit_file
- 使用高级模式匹配和格式化进行选择性编辑
- 功能:
- 基于行和多行内容匹配
- 具有缩进保留的空格规范化
- 具有置信度评分的模糊匹配
- 具有正确位置的多个同时编辑
- 缩进样式检测和保留
- 具有上下文的 Git 风格差异输出
- 使用试运行模式预览更改
- 使用置信度评分进行失败匹配调试
- 输入:
path(字符串): 要编辑的文件edits(数组): 编辑操作列表oldText(字符串): 要搜索的文本(可以是子字符串)newText(字符串): 要替换的文本
dryRun(布尔值): 预览更改而不应用(默认值:false)options(对象): 可选的格式设置preserveIndentation(布尔值): 保留现有缩进(默认值:true)normalizeWhitespace(布尔值): 在保留结构的同时规范化空格(默认值:true)partialMatch(布尔值): 启用模糊匹配(默认值:true)
- 返回试运行的详细差异和匹配信息,否则应用更改
- 最佳实践:始终首先使用 dryRun 预览更改,然后再应用它们
-
create_directory
- 创建新目录或确保它存在
- 输入:
path(字符串) - 如果需要,创建父目录
- 如果目录存在,则静默成功
-
list_directory
- 列出目录内容,带有 [FILE] 或 [DIR] 前缀
- 输入:
path(字符串)
-
move_file
- 移动或重命名文件和目录
- 输入:
source(字符串)destination(字符串)
- 如果目标存在,则失败
-
search_files
- 递归搜索文件/目录
- 输入:
path(字符串): 起始目录pattern(字符串): 搜索模式excludePatterns(字符串数组): 排除任何模式。支持 Glob 格式。
- 不区分大小写的匹配
- 返回匹配项的完整路径
-
get_file_info
- 获取详细的文件/目录元数据
- 输入:
path(字符串) - 返回:
- 大小
- 创建时间
- 修改时间
- 访问时间
- 类型(文件/目录)
- 权限
-
list_allowed_directories
- 列出服务器允许访问的所有目录
- 无需输入
- 返回:
- 此服务器可以从中读取/写入的目录
与 Claude Desktop 一起使用
将其添加到您的 claude_desktop_config.json 中:
注意:您可以通过将沙盒目录挂载到 /projects 来为服务器提供沙盒目录。 添加 ro 标志将使服务器对目录只读。
Docker
注意:默认情况下,所有目录都必须挂载到 /projects。
{
"mcpServers": {
"filesystem": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"--mount", "type=bind,src=/Users/username/Desktop,dst=/projects/Desktop",
"--mount", "type=bind,src=/path/to/other/allowed/dir,dst=/projects/other/allowed/dir,ro",
"--mount", "type=bind,src=/path/to/file.txt,dst=/projects/path/to/file.txt",
"mcp/filesystem",
"/projects"
]
}
}
}
NPX
{
"mcpServers": {
"filesystem": {
"command": "npx",
"args": [
"-y",
"@modelcontextprotocol/server-filesystem",
"/Users/username/Desktop",
"/path/to/other/allowed/dir"
]
}
}
}
构建
Docker 构建:
docker build -t mcp/filesystem -f src/filesystem/Dockerfile .
许可证
此 MCP 服务器已获得 MIT 许可证的许可。 这意味着您可以自由使用、修改和分发该软件,但须遵守 MIT 许可证的条款和条件。 有关更多详细信息,请参阅项目存储库中的 LICENSE 文件。
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。