MCP server and client for MinIO object storage, configured via environment variables.
This project implements a Model-Context Protocol (MCP) server and client for MinIO object storage. It provides a standardized way to interact with MinIO.
Exposes MinIO data through Resources. The server can access and provide:
ListBuckets
start_after
(pagination), max_buckets
(limit results)ListObjects
bucket_name
prefix
(filter by prefix), max_keys
(limit results)GetObject
bucket_name
, object_name
PutObject
bucket_name
, object_name
, file_path
The project includes multiple client implementations:
git clone https://github.com/yourusername/minio-mcp.git
cd minio-mcp
pip install -r requirements.txt
Or using uv:
uv pip install -r requirements.txt
Create a .env
file in the root directory with the following configuration:
# MinIO Configuration
MINIO_ENDPOINT=play.min.io
MINIO_ACCESS_KEY=your_access_key
MINIO_SECRET_KEY=your_secret_key
MINIO_SECURE=true
MINIO_MAX_BUCKETS=5
# Server Configuration
SERVER_HOST=0.0.0.0
SERVER_PORT=8000
# For Anthropic Client (if using)
ANTHROPIC_API_KEY=your_anthropic_api_key
The server can be run directly:
python src/minio_mcp_server/server.py
from src.client import main
import asyncio
asyncio.run(main())
src/client/servers_config.json
:{
"mcpServers": {
"minio_service": {
"command": "python",
"args": ["path/to/minio_mcp_server/server.py"]
}
}
}
python src/client/mcp_anthropic_client.py
Interact with the assistant:
Exit the session:
quit
or exit
to end the sessionYou can integrate this MCP server with Claude Desktop:
On MacOS: ~/Library/Application\ Support/Claude/claude_desktop_config.json
On Windows: %APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"minio-mcp": {
"command": "python",
"args": [
"path/to/minio-mcp/src/minio_mcp_server/server.py"
]
}
}
}
minio-mcp/
├── src/
│ ├── client/ # Client implementations
│ │ ├── mcp_anthropic_client.py # Anthropic integration
│ │ └── servers_config.json # Server configuration
│ ├── minio_mcp_server/ # MCP server implementation
│ │ ├── resources/ # Resource implementations
│ │ │ └── minio_resource.py # MinIO resource
│ │ └── server.py # Main server implementation
│ ├── __init__.py
│ └── client.py # Basic client implementation
├── LICENSE
├── pyproject.toml
├── README.md
└── requirements.txt
pytest
black src/
isort src/
flake8 src/
Since MCP servers run over stdio, debugging can be challenging. For the best debugging experience, we recommend using the MCP Inspector:
npx @modelcontextprotocol/inspector python path/to/minio-mcp/src/minio_mcp_server/server.py
Upon launching, the Inspector will display a URL that you can access in your browser to begin debugging.
This project is licensed under the MIT License - see the LICENSE file for details.
Interact with the Intelligent Content Management platform through Box AI.
File access and search for Box.
An MCP server for interacting with Dropbox, allowing clients to manage files and folders.
Interact with Google Drive, Sheets, and Docs APIs.
A server for backing up and restoring data for AI agents and code editing tools.
An MCP server for interacting with Dropbox files and services.
A local server for uploading files to Alibaba Cloud Object Storage Service (OSS).
An MCP server for integrating with Dropbox, allowing clients to interact with files and folders.
Remote SSE MCP server for hosting HTML webpages and sharing content through temporary URLs without authentication
Perform CRUD operations on a WebDAV server with basic authentication.