mcpField
R
R2 Upload MCP Server

R2 Upload MCP Server

本地服务
github.com/leonho文件与存储173 周前更新

关于 R2 Upload MCP Server

R2 Upload MCP Server 是将本地文件上传到 Cloudflare R2 存储的 MCP 服务,面向需要通过 Agent 上传文件的用户。它可自动识别 MIME 类型,并返回文件的公开 URL。

主要功能

  1. 01上传文件到 R2 存储桶
  2. 02自动检测 MIME 类型
  3. 03支持自定义对象键和内容类型
  4. 04返回公开文件 URL
  5. 05通过环境变量配置

适用场景

  1. 01上传图片并获取公开链接
  2. 02将文档存入 R2 存储桶
  3. 03为上传文件指定对象键或内容类型

MCP 相关

它通过 stdio 向 MCP 客户端提供 `upload_file` 工具,将本地文件上传到配置的 R2 存储桶并返回公开 URL。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

R2 上传 MCP 服务

一个用于将文件上传到 Cloudflare R2 存储的模型上下文协议(MCP)服务。

功能

  • 将文件上传到 R2 存储桶,并自动检测 MIME 类型
  • 支持自定义对象键和内容类型
  • 返回已上传文件的公开 URL
  • 支持通过环境变量配置

安装

cd apps/r2-upload
pnpm install
pnpm build

配置

服务会根据环境变量自动完成配置。请设置以下必需的环境变量:

必需的环境变量
  • R2_ACCOUNT_ID:你的 Cloudflare 账户 ID
  • R2_ACCESS_KEY_ID:R2 API 访问密钥 ID
  • R2_SECRET_ACCESS_KEY:R2 API 访问密钥
  • R2_BUCKET_NAME:R2 存储桶名称
可选的环境变量
  • R2_ENDPOINT:自定义端点 URL(默认为 https://{accountId}.r2.cloudflarestorage.com)
  • R2_CUSTOM_DOMAIN:公开文件 URL 的自定义域名(默认为 R2 开发域名)
获取 R2 凭据
  1. 登录 Cloudflare 控制面板
  2. 前往 R2 对象存储
  3. 如果尚未创建 R2 存储桶,请先创建
  4. 前往“Manage R2 API tokens”
  5. 创建一个对你的存储桶具有读写权限的新 API 令牌
  6. 记下访问密钥 ID 和访问密钥

工具

upload_file

将文件上传到已配置的 R2 存储桶。

参数:

  • filePath(必需):要上传的本地文件路径
  • key(可选):存储桶中的对象键/名称(默认为文件名)
  • contentType(可选):文件的 MIME 类型(如果未提供则自动检测)

使用示例

配置好环境变量后,你可以直接上传文件:

{
  "filePath": "/path/to/your/file.jpg",
  "key": "uploads/my-image.jpg"
}

支持的文件类型

服务会自动检测常见文件扩展名对应的 MIME 类型:

  • 图片:.jpg、.jpeg、.png、.gif、.webp
  • 文档:.pdf、.txt、.json、.html、.css
  • 脚本:.js
  • 视频:.mp4、.mov、.avi
  • 音频:.mp3、.wav

对于其他文件类型,默认使用 application/octet-stream,也可以指定自定义的 contentType。

MCP 配置

将以下内容添加到你的 mcp.json 配置文件中:

{
  "mcpServers": {
    "r2-upload": {
      "command": "node",
      "args": ["./apps/r2-upload/dist/index.js"],
      "env": {
        "R2_ACCOUNT_ID": "your-cloudflare-account-id",
        "R2_ACCESS_KEY_ID": "your-r2-access-key-id", 
        "R2_SECRET_ACCESS_KEY": "your-r2-secret-access-key",
        "R2_BUCKET_NAME": "your-bucket-name",
        "R2_ENDPOINT": "https://your-account-id.r2.cloudflarestorage.com",
        "R2_CUSTOM_DOMAIN": "files.yourdomain.com"
      }
    }
  }
}
环境变量

在 MCP 配置中设置这些环境变量以配置服务。如果所有必需的环境变量都已设置,服务即可立即上传文件。

自定义域名设置

如果你已为 R2 存储桶配置自定义域名(例如 files.yourdomain.com),请设置 R2_CUSTOM_DOMAIN 环境变量。服务将使用你的自定义域名而非默认的 R2 开发域名来返回公开 URL。

运行服务

# Build first
pnpm build

# Run standalone
pnpm start

该服务以 stdio MCP 服务的形式运行,并通过 stdin/stdout 进行通信。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。