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.
Provides AI assistants with access to Koneksi Storage for secure file storage and backup operations.
A read-only MCP server by CData that allows LLMs to query live Dropbox data. Requires the CData JDBC Driver for Dropbox.
Interact with the Intelligent Content Management platform through Box AI.
Provides tools for interacting with AWS S3 buckets.
An MCP server for interacting with Dropbox files and services.
A local server for uploading files to Alibaba Cloud Object Storage Service (OSS).
Perform CRUD operations on a WebDAV server with basic authentication.
A server for backing up and restoring data for AI agents and code editing tools.
Manage AWS S3 operations, providing secure access to S3 buckets through pre-signed URLs.
An MCP server for integrating with Dropbox, allowing clients to interact with files and folders.