MCP 被认为是 AI 时代的 "HTTP",可以让用户通过自然语言对资源进行操作。RustFS MCP Server 能够对 RustFS 的资源(存储桶、对象等)进行操作。本文分享 RustFS MCP 在 Trae 中的配置使用。
关于 RustFS
RustFS 是用 Rust 编写的一款开源对象存储系统,在 GitHub 上开源仅一个月 Star 数就突破 7000+。RustFS 是 MinIO 的国产平替,完全兼容 S3。目前支持多个平台,Linux、Windows、macOS,可以用二进制或 Docker 进行安装部署。
RustFS MCP
RustFS MCP 服务器是一个高性能的模型上下文协议(MCP) 服务器,它为 AI/LLM 工具提供对 S3 兼容对象存储操作的无缝访问。该服务器使用 Rust 构建,以实现最大的性能和安全性,它使像 Claude Desktop 这样的 AI 助手能够通过标准化协议与云存储进行交互。
可用的工具
list_buckets
:列出所有当前所配 RustFS 实例上的存储桶;list_objects
:列出当前所配 RustFS 实例上的对象;upload_file
:上传文件到当前所配 RustFS 实例上的存储桶中;get_object
:获取当前所配 RustFS 实例上的对象(读取内容或下载);
RustFS MCP 的使用
RustFS MCP 支持在 Docker 中运行。下面分享整个使用过程。
前提条件
- Docker 环境;
- RustFS 凭据配置(可通过环境变量配置或使用 AWS CLI 等)。对于 RustFS 凭据的创建,可以参考 RustFS 访问密钥管理章节;
- 一个可用的 RustFS 实例。
Docker 镜像构建
执行如下命令可完成 RustFS MCP Server Docker 镜像的构建:
bash
# clone the repository
git clone git@github.com:rustfs/rustfs.git
# build docker image from root directory
docker build -f crates/mcp/Dockerfile -t rustfs/rustfs-mcp .
# build docker image from mcp directory
docker build -f Dockerfile -t rustfs/rustfs-mcp ../../
在 Trae 中使用
Trae 是字节跳动发布的一款 AI IDE,是 AI Coding(或称之为 Vibe Coding)领域非常流行的一款 AI 工具。Trae 支持 MCP。在 Trae 的 MCP 配置中,写入如下内容:
json
{
"mcpServers": {
"rustfs-mcp": {
"command": "docker",
"args": [
"run",
"--rm",
"-i",
"-e",
"AWS_ACCESS_KEY_ID",
"-e",
"AWS_SECRET_ACCESS_KEY",
"-e",
"AWS_REGION",
"-e",
"AWS_ENDPOINT_URL",
"rustfs/rustfs-mcp"
],
"env": {
"AWS_ACCESS_KEY_ID": "rustfs_access_key",
"AWS_SECRET_ACCESS_KEY": "rustfs_secret_key",
"AWS_REGION": "cn-east-1",
"AWS_ENDPOINT_URL": "rustfs_instance_url"
}
}
}
}
注意 :由于 RustFS 完全兼容 S3,是 MinIO 的平替,所以在变量的使用上和 S3、MinIO 都很相似。
添加成功,可以在 Trae MCP 的页面中,看到可用的工具:
接着在 Trae 的聊天窗口中,输入如下提示词:
请帮我列出当前 RustFS 实例上所有的存储桶,谢谢!
可以看到,Trae 调用了 RustFS MCP 中的 list_buckets
工具,找出了所配 RustFS 实例上所有的存储桶:

再来给一个提示词,列出某个存储桶下面的数据:
arduino
在帮我看一下 ai-image bucket 中有什么数据?
可以看到,Trae 调用了 RustFS MCP 中的 list_objects
工具,列出了 ai-image
存储桶汇中的数据,是一个 PNG 图片,而且将其保存到了本地:

对于其他两个工具的使用也是一样。