- Home
- MCP servers
- MinIO
MinIO
- python
0
GitHub Stars
python
Language
5 months ago
First Indexed
2 months ago
Catalog Refreshed
Documentation & install
Readme and setup notes from the catalogue, plus a client-ready config you can copy for your MCP host.
Installation
Add the following to your MCP client configuration file.
Configuration
View docs{
"mcpServers": {
"mcp-mirror-ucesys_minio-python-mcp": {
"command": "python",
"args": [
"src/minio_mcp_server/server.py"
],
"env": {
"SERVER_HOST": "0.0.0.0",
"SERVER_PORT": "8000",
"MINIO_SECURE": "true",
"MINIO_ENDPOINT": "play.min.io",
"MINIO_ACCESS_KEY": "your_access_key",
"MINIO_SECRET_KEY": "your_secret_key",
"ANTHROPIC_API_KEY": "your_anthropic_api_key",
"MINIO_MAX_BUCKETS": "5"
}
}
}
}You set up a MinIO MCP Server to access your MinIO data through standardized tools and interact with it from client implementations. This MCP server exposes bucket contents and objects, letting you list buckets, list objects, retrieve objects, and upload new objects, all in a consistent, scriptable way. You can run the server locally and connect using a Basic Client or an Anthropic-powered client to perform data operations and build AI-assisted workflows around your MinIO data.
How to use
Start the MCP server locally and connect a client that supports MCP. The server exposes four core tools you can use to manage and inspect your MinIO data: ListBuckets, ListObjects, GetObject, and PutObject. Use a client to list the buckets you own, explore bucket contents, fetch specific objects, and upload files to a bucket. If you use the Anthropic client, the assistant will automatically detect available tools and help you ask questions about your stored data. Keep in mind that bucket object lists are paginated and may be limited to 1000 items per bucket.
To end a session with the Anthropic-powered client, type quit or exit. The Basic Client provides straightforward interaction with the server for direct scripting or quick ad-hoc data queries.
How to install
# Prerequisites
- Python 3.11+ (or a compatible Python environment)
- Git
# 1. Clone the MCP server repository
git clone https://github.com/yourusername/minio-mcp.git
cd minio-mcp
# 2. Install Python dependencies
pip install -r requirements.txt
# Optional alternative using uvx if you prefer it
uvx pip install -r requirements.txt
# Run the MCP server locally
python src/minio_mcp_server/server.py
Additional configuration and notes
Environment variables you configure in a local environment control both the MinIO connection and the MCP server behavior. Define the following values in a .env file or your environment: MINIO_ENDPOINT, MINIO_ACCESS_KEY, MINIO_SECRET_KEY, MINIO_SECURE, MINIO_MAX_BUCKETS, SERVER_HOST, SERVER_PORT, and ANTHROPIC_API_KEY if you plan to use the Anthropic client.
If you want to integrate the MCP server with Claude Desktop or other clients, you can point the client configuration to the Python script that starts the server. The server script path used in examples is src/minio_mcp_server/server.py.
Security and troubleshooting
Securely manage access keys and secrets. Do not expose your MinIO credentials in logs or across networks. If you encounter startup errors, ensure Python and dependencies are correctly installed and that the environment variables are set before launching the server. For debugging, run the server in a development environment where you can view console output and use debugging tools to trace requests to the MCP server.
Examples and notes
The MCP server supports standard operations like listing buckets, listing objects within a bucket, retrieving an object, and uploading an object. Use these in automated scripts or AI-assisted workflows to build data pipelines around your MinIO data.
Available tools
ListBuckets
Returns a list of all buckets owned by the authenticated sender, with optional pagination and limit controls.
ListObjects
Returns a subset of objects from a bucket, with optional prefix filtering and a maximum number of keys returned.
GetObject
Retrieves a specific object from a bucket using the bucket and object names.
PutObject
Uploads a file to a MinIO bucket using the fput method, requiring bucket, object name, and file path.