Spring Boot AI Cloudflare R2 MCP Server
LocalAbout 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
- 01List, create, and delete buckets
- 02Upload, download, and list objects
- 03Retrieve object metadata
- 04Handle text and binary content
Use cases
- 01Inspect R2 buckets and their objects
- 02Upload or download files through an agent
- 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.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMESpring 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
- Clone the repository:
git clone https://github.com/lskun/spring-boot-ai-cloudflare-r2-mcp-server.git
- 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
- Build the project:
mvn clean package
- 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 operationsMcpConfiguration: MCP tool configuration- Integration tests for all operations
Contributing
- Fork the repository
- Create your feature branch
- Commit your changes
- Push to the branch
- 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
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.