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サーバーです。MIMEタイプを自動判定し、アップロードしたファイルの公開URLを返します。

主な機能

  1. 01R2バケットへのファイルアップロード
  2. 02MIMEタイプの自動判定
  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 ストレージにファイルをアップロードする Model Context Protocol(MCP)サーバーです。

機能

  • MIME タイプを自動検出して、R2 バケットにファイルをアップロードします
  • カスタムオブジェクトキーとコンテンツタイプに対応します
  • アップロードしたファイルの公開 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 Dashboard にログインします
  2. R2 Object Storage に移動します
  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 を介して通信します。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。