Spring Boot AI Cloudflare R2 MCP Server について
Agent経由でCloudflare R2を管理したい開発者向けの、Spring BootとSpring AIによるMCPサーバーです。バケットやオブジェクトの操作に対応し、テキストとバイナリの両方を扱えます。
主な機能
- 01バケットの一覧・作成・削除
- 02オブジェクトのアップロード・ダウンロード・一覧表示
- 03オブジェクトメタデータの取得
- 04テキストとバイナリの処理
活用シーン
- 01R2のバケットとオブジェクトの確認
- 02エージェント経由でのファイルのアップロードやダウンロード
- 03オブジェクトメタデータの確認と削除
MCP 対応
Spring AI MCPを通じてCloudflare R2操作をツールとして公開し、MCPクライアントから呼び出せます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Spring Boot AI Cloudflare R2 MCP サーバー
English | 簡体中文
はじめに
Spring Boot AI Cloudflare R2 MCP サーバーは、Spring Boot と Spring AI をベースにした Model Context Protocol(MCP)サーバーの実装で、Cloudflare R2 オブジェクトストレージサービスとの連携を提供します。
プロジェクト構成
src/main/java/com/lskun/mcp/
├── SpringBootAiCloudflareR2McpServerApplication.java (Application entry)
├── config/
│ └── McpConfiguration.java (MCP configuration class)
└── service/
└── R2ServiceClient.java (R2 service client)
機能
- Cloudflare R2 オブジェクトストレージの操作を包括的にサポート
- Spring AI の MCP サーバーとの連携
- さまざまなファイル形式(テキスト、バイナリなど)をサポート
- 包括的なテストカバレッジ
- 簡単な設定とデプロイ
前提条件
- JDK 17 以上
- Maven 3.6 以上
- Cloudflare R2 アカウントと認証情報
設定
R2 の認証情報を指定して、application.properties を作成または編集します。
r2.access-key-id=${R2_ACCESS_KEY_ID}
r2.secret-access-key=${R2_SECRET_ACCESS_KEY}
r2.endpoint=${R2_ENDPOINT}
クイックスタート
- リポジトリをクローンします。
git clone https://github.com/lskun/spring-boot-ai-cloudflare-r2-mcp-server.git
- 環境変数を設定します。
export R2_ACCESS_KEY_ID=your_access_key_id
export R2_SECRET_ACCESS_KEY=your_secret_access_key
export R2_ENDPOINT=your_r2_endpoint
- プロジェクトをビルドします。
mvn clean package
- 統合テストを実行します。
# Run all tests in R2ServiceClientTest
mvn test -Dtest=R2ServiceClientTest
# Or run a specific test method
mvn test -Dtest=R2ServiceClientTest#testListBuckets
テストスイートには、すべての R2 操作を網羅する包括的なテストが含まれています。
- バケット操作(一覧表示、作成、削除)
- オブジェクト操作(アップロード、ダウンロード、一覧表示、削除)
- コンテンツ形式の処理(テキスト、base64、ファイルパス)
- オブジェクトのメタデータ管理
API リファレンス
このサービスでは、次の主な機能を提供します。
- バケットの一覧表示
- バケットの作成/削除
- オブジェクトのアップロード/ダウンロード
- バケット内のオブジェクトの一覧表示
- オブジェクトのメタデータの取得
- オブジェクトの削除
開発
このプロジェクトでは Spring Boot 3.4.4 と Spring AI 1.0.0-M6 を使用しています。主なコンポーネントは次のとおりです。
R2ServiceClient:R2 操作用の中核サービスクラスMcpConfiguration:MCP ツールの設定- すべての操作を対象とする統合テスト
貢献
- リポジトリをフォークします
- 機能ブランチを作成します
- 変更をコミットします
- ブランチにプッシュします
- 新しいプルリクエストを作成します
ライセンス
このプロジェクトは MIT License の下でライセンスされています。詳細については LICENSE ファイルを参照してください。
お問い合わせ
ご質問やご提案がある場合は、お気軽に issue を作成してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。