Skip to main content
Glama
saeedshoh

minio-mcp-server

by saeedshoh
README.md
# minio-mcp-server

An [MCP](https://modelcontextprotocol.io) server exposing MinIO/S3 object storage operations as tools for LLM agents.

## Tools

- `list_buckets` — list all buckets
- `list_objects(bucket, prefix, recursive)` — list objects in a bucket
- `get_object(bucket, name)` — read a text object's content
- `put_object(bucket, name, content)` — write text content to an object
- `make_bucket(bucket)` — create a bucket if it doesn't exist
- `remove_object(bucket, name)` — delete an object
- `presigned_url(bucket, name, expires_seconds)` — generate a presigned GET URL

## Setup

1. Create a virtual environment and install dependencies:

   ```bash
   python3 -m venv venv
   source venv/bin/activate
   pip install -r requirements.txt
   ```

2. Copy `.env.example` to `.env` and fill in your MinIO credentials:

   ```bash
   cp .env.example .env
   ```

   | Variable | Description |
   |---|---|
   | `MINIO_ENDPOINT` | Host and port of your MinIO server, e.g. `localhost:9000` |
   | `MINIO_ACCESS_KEY` | MinIO access key |
   | `MINIO_SECRET_KEY` | MinIO secret key |
   | `MINIO_SECURE` | `true` to use HTTPS, `false` for HTTP |

3. Run the server:

   ```bash
   python server.py
   ```

## Security

`.env` is gitignored and must never be committed — it contains live credentials. Use dedicated, least-privilege MinIO credentials for this server rather than the root/admin account.