Provides access to MinIO object storage through standardized tools for listing buckets, listing objects, retrieving objects, and uploading files to MinIO buckets.
MinIO Model-Context Protocol (MCP)
This project implements a Model-Context Protocol (MCP) server and client for MinIO object storage. It provides a standardized way to interact with MinIO.
Features
Server
Resources
Exposes MinIO data through Resources. The server can access and provide:
Text files (automatically detected based on file extension)
Binary files (handled as application/octet-stream)
Bucket contents (up to 1000 objects per bucket)
Tools
ListBuckets
Returns a list of all buckets owned by the authenticated sender of the request
Optional parameters:
start_after(pagination),max_buckets(limit results)
ListObjects
Returns some or all (up to 1,000) of the objects in a bucket with each request
Required parameter:
bucket_nameOptional parameters:
prefix(filter by prefix),max_keys(limit results)
GetObject
Retrieves an object from MinIO
Required parameters:
bucket_name,object_name
PutObject
Uploads a file to MinIO bucket using fput method
Required parameters:
bucket_name,object_name,file_path
Client
The project includes multiple client implementations:
Basic Client - Simple client for direct interaction with the MinIO MCP server
Anthropic Client - Integration with Anthropic's Claude models for AI-powered interactions with MinIO
Related MCP server: MCP File Server
Installation
Clone the repository:
Install dependencies using pip:
Or using uv:
Environment Configuration
Create a .env file in the root directory with the following configuration:
Usage
Running the Server
The server can be run directly:
Using the Basic Client
Using the Anthropic Client
Configure the servers in
src/client/servers_config.json:
Run the client:
Interact with the assistant:
The assistant will automatically detect available tools
You can ask questions about your MinIO data
The assistant will use the appropriate tools to retrieve information
Exit the session:
Type
quitorexitto end the session
Integration with Claude Desktop
You can integrate this MCP server with Claude Desktop:
Configuration
On MacOS: ~/Library/Application\ Support/Claude/claude_desktop_config.json
On Windows: %APPDATA%/Claude/claude_desktop_config.json
Development
Project Structure
Running Tests
Code Formatting
Debugging
Since MCP servers run over stdio, debugging can be challenging. For the best debugging experience, we recommend using the MCP Inspector:
Upon launching, the Inspector will display a URL that you can access in your browser to begin debugging.
License
This project is licensed under the MIT License - see the LICENSE file for details.