Get the FREE Ultimate OpenClaw Setup Guide →

mcp -aistor

Official MCP Server for AIStor

Installation
Run this command in your terminal to add the MCP server to Claude Code.
Run in terminal:
Command
claude mcp add --transport stdio minio-mcp-server-aistor podman run -i --rm -v /Users/YOUR_USERNAME/Downloads:/Downloads -e MINIO_ENDPOINT=REPLACE_WITH_ENDPOINT -e MINIO_ACCESS_KEY=REPLACE_WITH_ACCESS_KEY -e MINIO_SECRET_KEY=REPLACE_WITH_SECRET_KEY -e MINIO_USE_SSL=true quay.io/minio/aistor/mcp-server-aistor:latest --allowed-directories /Downloads --allow-write --allow-delete --allow-admin \
  --env MINIO_USE_SSL="true|false" \
  --env MINIO_ENDPOINT="Endpoint of AIStor/MinIO-compatible store" \
  --env MINIO_ACCESS_KEY="Access key for the store" \
  --env MINIO_SECRET_KEY="Secret key for the store"

How to use

This MCP server implements a MinIO-backed AIStor MCP server that exposes a set of MCP tools for interacting with object stores. It supports standard read operations (listing buckets and objects, retrieving metadata and tags, generating presigned URLs), write operations (creating buckets, uploading objects, tagging), deletion (objects and buckets, if enabled), and admin capabilities (cluster health and space information) when run with the appropriate flags. The server also provides an AI-oriented tool set, including ask_object to describe contents, copy_object to duplicate objects across buckets, and a selection of typical MCP-compatible commands. You can access these tools through an MCP client such as Claude for Desktop using either the STDIO transport or StreamableHTTP transport, depending on your configuration. When using the StreamableHTTP transport, you’ll connect via an HTTP endpoint to mcp/heavy-lifting tasks, while STDIO works with local CLI-style interactions.

How to install

Prerequisites:

  • Docker or Podman installed on your machine
  • Access to a MinIO/AiStor-compatible object store (endpoint, access key, secret key)
  • Optional: Claude for Desktop or another MCP client supporting StreamableHTTP or STDIO transports

Step 1: Prepare your environment variables

  • Set MINIO_ENDPOINT to your AIStor/MinIO endpoint
  • Set MINIO_ACCESS_KEY and MINIO_SECRET_KEY with valid credentials

Step 2: Run the MCP server container (example using Podman)

  • Ensure you replace the placeholder values with your actual credentials and endpoint
podman run -i --rm \
  -v /Users/your_username/Downloads:/Downloads \
  -e MINIO_ENDPOINT=REPLACE_WITH_ENDPOINT \
  -e MINIO_ACCESS_KEY=REPLACE_WITH_ACCESS_KEY \
  -e MINIO_SECRET_KEY=REPLACE_WITH_SECRET_KEY \
  -e MINIO_USE_SSL=true \
  quay.io/minio/aistor/mcp-server-aistor:latest \
  --allowed-directories /Downloads \
  --allow-admin \
  --allow-delete \
  --allow-write

Step 3: Verify the server exposes MCP endpoints

  • Use your MCP client to query /mcp and list available tools (e.g., ask_object, copy_object, create_bucket, delete_bucket, delete_object).
  • If using StreamableHTTP, configure the client with the server URL and transport type accordingly.

Step 4: Optional configuration for max keys or admin features

  • To increase the number of objects/buckets returned in lists, add --max-keys <n> to your MCP client config or server flags if supported by your deployment.
  • Use --allow-admin, --allow-write, and --allow-delete flags to enable corresponding capabilities as needed.

Additional notes

Tips and notes:

  • By default the server runs in read-only mode unless flags are provided to enable write, delete, or admin operations. Carefully enable only the capabilities you need.
  • The Maximum number of keys returned in a listing can impact token usage in LLMs; use --max-keys to adjust if your model context window allows it.
  • Ensure MINIO_USE_SSL is set to true if your endpoint requires SSL; otherwise use false and adjust the endpoint accordingly.
  • For StreamableHTTP setup, ensure the client supports StreamableHTTP and use the provided URL (e.g., http://localhost:8090/mcp) and port configuration.
  • If you need to adjust the mount directory mapping, change the Docker/Podman volume binding accordingly to point to your Downloads or other required directories.
Sponsor this space

Reach thousands of developers