R2 Upload MCP Server について
R2 Upload MCP Serverは、ローカルファイルをCloudflare R2にアップロードするMCPサーバーです。MIMEタイプを自動判定し、アップロードしたファイルの公開URLを返します。
主な機能
- 01R2バケットへのファイルアップロード
- 02MIMEタイプの自動判定
- 03オブジェクトキーとコンテンツタイプの指定
- 04ファイル公開URLの返却
- 05環境変数による設定
活用シーン
- 01画像をアップロードして公開リンクを取得
- 02文書をR2バケットに保存
- 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 アカウント IDR2_ACCESS_KEY_ID:R2 API アクセスキー IDR2_SECRET_ACCESS_KEY:R2 API シークレットアクセスキーR2_BUCKET_NAME:R2 バケット名
任意の環境変数
R2_ENDPOINT:カスタムエンドポイント URL(デフォルトはhttps://{accountId}.r2.cloudflarestorage.com)R2_CUSTOM_DOMAIN:公開ファイル URL 用のカスタムドメイン(デフォルトは R2 開発用ドメイン)
R2 認証情報の取得
- Cloudflare Dashboard にログインします
- R2 Object Storage に移動します
- まだ作成していない場合は、R2 バケットを作成します
- 「Manage R2 API tokens」に移動します
- バケットに対する読み取り/書き込み権限を付与した新しい API トークンを作成します
- アクセスキー 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 を介して通信します。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。