如何用 Trae + RustFS MCP 实现自然语言对对象存储的操作?

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 图片,而且将其保存到了本地:

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

相关推荐
带娃的IT创业者5 小时前
重新定义前端构建速度:深度解析 SWC 如何用 Rust 颠覆 JavaScript 工具链
前端·javascript·rust·前端构建·swc
Yeauty9 小时前
用 Whisper 转录前,你不用再离开 Rust
开发语言·rust·ffmpeg·音视频·视频
程序员爱钓鱼9 小时前
Rust HashMap 详解:键值存储、查询、更新与统计
后端·面试·rust
doiito1 天前
【AI 应用】从“外国人味”到地道中文:kokoroi-rs v0.1.2 架构升级深度解析
ai·rust·系统设计
Zwarwolf1 天前
Rust零散知识点项目汇总
开发语言·rust
X档案库1 天前
【开源】我做了一套可以 AI 托管的 Markdown 博客与知识库
rust·博客·markdown·marksharex
梦想的颜色1 天前
2026 VibeCoding 工具链精选|IDE + 大模型成套组合推荐,按场景分级收录
ide·trae·ai 编程·vibecoding·国产海外 ai 编程方案·氛围编程成套配置·副业 ai 开发工具栈
程序员爱钓鱼1 天前
Rust Vec 动态数组详解:创建、增删、遍历与排序
前端·后端·rust
_abab1 天前
Rust重塑系统编程:从Linux内核到AI推理引擎的2026全景解析
linux·人工智能·rust
doiito2 天前
【Agent Harness】Gliding Horse 高级认知优化:让 Agent 的“大脑”和“免疫系统”真正协同
ai·rust·架构设计·系统设计·ai agent