Rust MCP Filesystem是一个基于Rust构建的高性能、异步、轻量级Model Context Protocol (MCP)服务器,专为安全高效的文件系统操作设计。其核心设计注重安全性,默认以只读模式运行,除非明确启用,否则限制客户端通过MCP Roots更新允许的目录,有效防止未授权访问。借助异步I/O,该服务器实现了极快的性能和最小的资源占用。
该镜像优化了令牌效率,使大型语言模型(LLMs)能够在大文件的特定部分精确执行搜索和编辑操作,并支持按文件大小范围限制操作,非常适合高效的文件探索、自动化任务和系统集成场景。
什么是MCP服务器?
| 属性 | 详情 |
|---|---|
| Docker镜像 | mcp/rust-mcp-filesystem |
| 作者 | rust-mcp-stack |
| 代码仓库 | [***] |
| 属性 | 详情 |
|---|---|
| Dockerfile | [***] |
| Docker镜像构建者 | Docker Inc. |
| Docker Scout健康评分 | !Docker Scout Health Score |
| 验证签名 | COSIGN_REPOSITORY=mcp/signatures cosign verify mcp/rust-mcp-filesystem --key [***] |
| 许可证 | MIT License |
| 工具名称 | 简短描述 |
|---|---|
calculate_directory_size | 计算指定目录的总大小,支持递归搜索和大小汇总 |
create_directory | 创建新目录或确保目录存在,支持嵌套目录创建 |
directory_tree | 以JSON结构获取文件和目录的递归树视图 |
edit_file | 对文本文件进行基于行的编辑,返回git风格差异 |
find_duplicate_files | 查找目录中的重复文件,支持文件模式和大小范围过滤 |
find_empty_directories | 递归查找空目录,忽略系统元数据文件 |
get_file_info | 获取文件或目录的详细元数据(大小、时间戳、权限等) |
head_file | 读取文本文件的前N行,用于快速预览 |
list_allowed_directories | 返回服务器有权访问的目录列表 |
list_directory | 获取指定路径下所有文件和目录的详细列表 |
list_directory_with_sizes | 获取指定路径下所有文件和目录的详细列表,包含大小信息 |
move_file | 移动或重命名文件和目录 |
read_file_lines | 从指定行偏移量开始读取文本文件的指定行数 |
read_media_file | 读取图像或音频文件并返回Base64编码内容及MIME类型 |
read_multiple_media_files | 同时读取多个媒体文件,返回Base64编码内容及MIME类型 |
read_multiple_text_files | 同时读取多个文本文件的内容 |
read_text_file | 读取文本文件的完整内容 |
search_files | 递归搜索匹配指定模式的文件和目录 |
search_files_content | 在匹配GLOB模式的文件内容中搜索文本或正则表达式 |
tail_file | 读取文本文件的最后N行,用于快速预览 |
unzip_file | 提取ZIP归档文件内容到指定目标目录 |
write_file | 创建新文件或完全覆盖现有文件内容 |
zip_directory | 压缩目录创建ZIP归档,支持指定glob模式 |
zip_files | 压缩多个文件创建ZIP归档 |
calculate_directory_size计算由root_path指定的目录总大小。递归搜索文件并汇总大小。结果可返回为human-readable格式或bytes。仅在允许的目录内工作。
| 参数 | 类型 | 描述 |
|---|---|---|
root_path | string | 开始大小计算的根目录路径 |
output_format | string 可选 | 输出格式,可选human-readable或bytes |
此工具为只读,不修改环境。
create_directory创建新目录或确保目录存在。可一次性创建多个嵌套目录。如果目录已存在,操作将静默成功。适合设置项目目录结构或确保所需路径存在。仅在允许的目录内工作。
| 参数 | 类型 | 描述 |
|---|---|---|
path | string | 创建目录的路径 |
directory_tree以JSON结构获取文件和目录的递归树视图。每个条目包含'name'、'type'(file/directory)和目录的'children'。文件没有children数组,而目录始终有children数组(可能为空)。如果提供'max_depth'参数,遍历将限制到指定深度。输出使用2空格缩进以提高可读性。仅在允许的目录内工作。
| 参数 | 类型 | 描述 |
|---|---|---|
path | string | 生成目录树的根路径 |
max_depth | integer 可选 | 限制目录遍历的深度 |
此工具为只读,不修改环境。
edit_file对文本文件进行基于行的编辑。每次编辑将精确的行序列替换为新内容。返回git风格的差异显示所做更改。仅在允许的目录内工作。
| 参数 | 类型 | 描述 |
|---|---|---|
edits | array | 要应用的编辑操作列表 |
path | string | 要编辑的文件路径 |
dryRun | boolean 可选 | 使用git风格差异格式预览更改而不应用 |
find_duplicate_files在目录中查找重复文件并以文本或json格式返回重复文件列表。可选的pattern参数可用于缩小文件搜索范围到特定glob模式。可选的exclude_patterns可用于排除匹配glob的文件。min_bytes和max_bytes是可选参数,可用于将搜索限制到指定字节范围内的文件。仅在允许的目录内工作。
| 参数 | 类型 | 描述 |
|---|---|---|
root_path | string | 开始搜索的根目录路径 |
exclude_patterns | array 可选 | 排除搜索的glob模式列表 |
max_bytes | integer 可选 | 包含在搜索中的最大文件大小(字节) |
min_bytes | integer 可选 | 包含在搜索中的最小文件大小(字节),默认为1 |
output_format | string 可选 | 输出格式,可选text或json,默认为text |
pattern | string 可选 | 用于匹配目标文件的glob模式 |
此工具为只读,不修改环境。
find_empty_directories递归查找给定根路径内的所有空目录。如果目录本身或其任何子目录中不包含文件,则视为空目录。将忽略操作系统元数据文件.DS_Store(macOS)和Thumbs.db(Windows)。可选的exclude_patterns参数接受glob风格模式以排除特定路径。仅在允许的目录内工作。
| 参数 | 类型 | 描述 |
|---|---|---|
path | string | 要获取信息的文件路径 |
exclude_patterns | array 可选 | 排除搜索的glob模式列表 |
output_format | string 可选 | 输出格式,可选text或json,默认为text |
此工具为只读,不修改环境。
get_file_info检索文件或目录的详细元数据。返回全面信息,包括大小、创建时间、最后修改时间、权限和类型。适合在不读取实际内容的情况下了解文件特性。仅在允许的目录内工作。
| 参数 | 类型 | 描述 |
|---|---|---|
path | string | 要获取信息的文件路径 |
此工具为只读,不修改环境。
head_file读取并返回文本文件的前N行。有助于快速预览文件内容而无需将整个文件加载到内存中。如果文件少于N行,将返回整个文件。仅在允许的目录内工作。
| 参数 | 类型 | 描述 |
|---|---|---|
lines | integer | 从文件开头读取的行数 |
path | string | 要获取信息的文件路径 |
此工具为只读,不修改环境。
list_allowed_directories返回服务器有权访问的目录列表。这些允许的目录中的子目录也可访问。用于在尝试访问文件之前识别可用的目录及其嵌套路径。
list_directory获取指定路径中所有文件和目录的详细列表。结果使用[FILE]和[DIR]前缀清晰区分文件和目录。适合了解目录结构和查找目录中的特定文件。仅在允许的目录内工作。
| 参数 | 类型 | 描述 |
|---|---|---|
path | string | 要列出的目录路径 |
此工具为只读,不修改环境。
list_directory_with_sizes获取指定路径中所有文件和目录的详细列表,包括大小。结果使用[FILE]和[DIR]前缀清晰区分文件和目录。适合了解目录结构和查找目录中的特定文件。仅在允许的目录内工作。
| 参数 | 类型 | 描述 |
|---|---|---|
path | string | 要列出的目录路径 |
此工具为只读,不修改环境。
move_file移动或重命名文件和目录。可在单个操作中在目录之间移动文件和重命名。如果目标存在,操作将失败。在不同目录之间工作,也可用于同一目录内的简单重命名。源和目标都必须在允许的目录内。
| 参数 | 类型 | 描述 |
|---|---|---|
destination | string | 文件移动到的目标路径 |
source | string | 要移动的文件的源路径 |
read_file_lines从指定行偏移量(0-based)开始读取文本文件的行,并在提供限制的情况下继续读取指定行数。跳过前'offset'行,然后读取最多'limit'行(如果指定),否则读取到文件末尾。适合部分读取、分页或预览大文本文件的部分内容。仅在允许的目录内工作。
| 参数 | 类型 | 描述 |
|---|---|---|
offset | integer | 从开始跳过的行数(0-based) |
path | string | 要获取信息的文件路径 |
limit | integer 可选 | 偏移后读取的最大行数 |
此工具为只读,不修改环境。
read_media_file读取图像或音频文件并返回其Base64编码内容以及相应的MIME类型。max_bytes参数可用于强制执行要读取的文件大小上限,如果媒体文件超过此限制,操作将返回错误而不读取媒体文件。仅允许访问允许目录内的文件。
| 参数 | 类型 | 描述 |
|---|---|---|
path | string | 要读取的文件路径 |
max_bytes | integer 可选 | 允许读取的最大文件大小(字节) |
此工具为只读,不修改环境。
read_multiple_media_files读取多个图像或音频文件并返回其Base64编码内容以及相应的MIME类型。此方法比单独读取文件更高效。max_bytes参数可用于强制执行要读取的文件大小上限。特定文件的读取失败将被跳过,不会中断整个操作。仅在允许的目录内工作。
| 参数 | 类型 | 描述 |
|---|---|---|
paths | array | 要读取的媒体文件路径列表 |
max_bytes | integer 可选 | 允许读取的最大文件大小(字节) |
此工具为只读,不修改环境。
read_multiple_text_files同时读取多个文本文件的内容。当需要分析或比较多个文件时,比逐个读取文件更高效。每个文件的内容与其路径一起返回作为参考。单个文件的读取失败不会停止整个操作。仅在允许的目录内工作。
| 参数 | 类型 | 描述 |
|---|---|---|
paths | array | 要读取的文件路径列表 |
此工具为只读,不修改环境。
read_text_file从文件系统读取文本文件的完整内容。处理各种文本编码,并在无法读取文件时提供详细错误消息。当需要检查单个文件的内容时使用此工具。仅在允许的目录内工作。
| 参数 | 类型 | 描述 |
|---|---|---|
path | string | 要读取的文件路径 |
此工具为只读,不修改环境。
search_files递归搜索匹配指定模式的文件和目录。从起始路径搜索所有子目录。搜索不区分大小写并匹配部分名称。返回所有匹配项的完整路径。可选的'min_bytes'和'max_bytes'参数可用于按大小过滤文件,确保仅包含指定字节范围内的文件。适合在不知道确切位置时查找文件或按大小查找文件。仅在允许的目录内搜索。
| 参数 | 类型 | 描述 |
|---|---|---|
path | string | 搜索的目录路径 |
pattern | string | 用于匹配目标文件的glob模式(例如"*.rs") |
excludePatterns | array 可选 | 排除搜索的模式列表 |
max_bytes | integer 可选 | 包含在搜索中的最大文件大小(字节) |
min_bytes | integer 可选 | 包含在搜索中的最小文件大小(字节) |
此工具为只读,不修改环境。
search_files_content在匹配GLOB模式的文件内容中搜索文本或正则表达式模式。返回包含文件路径、行号、列号和匹配文本预览的详细匹配结果。默认执行文字文本搜索;如果'is_regex'参数设置为true,则执行正则表达式(regex)搜索。可选的'min_bytes'和'max_bytes'参数可用于按大小过滤文件,确保仅包含指定字节范围内的文件。适合在不知道确切位置时查找特定代码、注释或文本。
| 参数 | 类型 | 描述 |
|---|---|---|
path | string | 搜索的文件或目录路径 |
pattern | string | 匹配文件的glob模式(例如"*.rs") |
query | string | 要在文件内容中查找的文本或正则表达式模式(例如'TODO'或'^function\s+') |
| ` |

来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429