mcpField
S
Spring Boot AI Cloudflare R2 MCP Server

Spring Boot AI Cloudflare R2 MCP Server

Local
github.com/lskunCloud & Infra1Updated 79w ago

About Spring Boot AI Cloudflare R2 MCP Server

A Spring Boot and Spring AI MCP server for developers who need to manage Cloudflare R2 object storage through agents. It supports bucket and object operations, including text and binary files.

Key features

  1. 01List, create, and delete buckets
  2. 02Upload, download, and list objects
  3. 03Retrieve object metadata
  4. 04Handle text and binary content

Use cases

  1. 01Inspect R2 buckets and their objects
  2. 02Upload or download files through an agent
  3. 03Check object metadata and delete objects

MCP support

The server exposes Cloudflare R2 operations as tools through Spring AI MCP for MCP clients.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

No install method listed yet

We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.

Repository

Tools

No tool list yet

Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.

Details

From the project README

Spring Boot AI Cloudflare R2 MCP Server

English | 简体中文

Introduction

Spring Boot AI Cloudflare R2 MCP Server is a Model Context Protocol (MCP) server implementation based on Spring Boot and Spring AI, providing integration with Cloudflare R2 object storage service.

Project Structure

src/main/java/com/lskun/mcp/
├── SpringBootAiCloudflareR2McpServerApplication.java (Application entry)
├── config/
│   └── McpConfiguration.java (MCP configuration class)
└── service/
    └── R2ServiceClient.java (R2 service client)

Features

  • Complete Cloudflare R2 object storage operation support
  • Integration with Spring AI's MCP server
  • Support for various file types (text, binary, etc.)
  • Comprehensive test coverage
  • Easy configuration and deployment

Prerequisites

  • JDK 17 or above
  • Maven 3.6 or above
  • Cloudflare R2 account and credentials

Configuration

Create or modify application.properties with your R2 credentials:

r2.access-key-id=${R2_ACCESS_KEY_ID}
r2.secret-access-key=${R2_SECRET_ACCESS_KEY}
r2.endpoint=${R2_ENDPOINT}

Quick Start

  1. Clone the repository:
git clone https://github.com/lskun/spring-boot-ai-cloudflare-r2-mcp-server.git
  1. Set up environment variables:
export R2_ACCESS_KEY_ID=your_access_key_id
export R2_SECRET_ACCESS_KEY=your_secret_access_key
export R2_ENDPOINT=your_r2_endpoint
  1. Build the project:
mvn clean package
  1. Run integration tests:
# Run all tests in R2ServiceClientTest
mvn test -Dtest=R2ServiceClientTest

# Or run a specific test method
mvn test -Dtest=R2ServiceClientTest#testListBuckets

The test suite includes comprehensive tests for all R2 operations:

  • Bucket operations (list, create, delete)
  • Object operations (upload, download, list, delete)
  • Content format handling (text, base64, file path)
  • Object metadata management

API Reference

The service provides the following main functionalities:

  • List buckets
  • Create/Delete buckets
  • Upload/Download objects
  • List objects in bucket
  • Get object metadata
  • Delete objects

Development

The project uses Spring Boot 3.4.4 and Spring AI 1.0.0-M6. Main components include:

  • R2ServiceClient: Core service class for R2 operations
  • McpConfiguration: MCP tool configuration
  • Integration tests for all operations

Contributing

  1. Fork the repository
  2. Create your feature branch
  3. Commit your changes
  4. Push to the branch
  5. Create a new Pull Request

License

This project is licensed under the MIT License - see the LICENSE file for details.

Contact

If you have any questions or suggestions, please feel free to create an issue.

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.