AIStor MCP server

Interact with MinIO AIStor object stores.
Back to servers
Provider
MinIO
Release date
Mar 28, 2025
Language
Go
Stats
26 stars

The AIStor MCP server enables interaction with AIStor object stores using the Model Context Protocol (MCP). It provides tools for managing storage objects, executing AI operations on those objects, and performing administrative functions. More information about MCP can be found on the official MCP site.

Installation

Prerequisites

  1. Download and install an MCP-enabled client like Claude for Desktop from Claude's website
  2. Install Docker or Podman on your system
  3. Obtain your AIStor (or MinIO) object store credentials (MINIO_ACCESS_KEY and MINIO_SECRET_KEY) and endpoint location

Setup for Claude for Desktop (STDIO Transport)

  1. Locate the Claude for Desktop configuration file:

    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows: %APPDATA%\Claude\claude_desktop_config.json
  2. Add the AIStor MCP server configuration to the file:

{
  "mcpServers": {
    "aistor": {
      "command": "podman",
      "args": [
        "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"
      ]
    }
  }
}

Note: Replace podman with docker if you're using Docker. Update the path, credentials, and username accordingly. The --allow-write, --allow-delete, and --allow-admin flags are optional and should only be added when needed.

Setup for StreamableHTTP Transport

  1. Run the server with the following command:
podman run -d --name aistor-mcp-server \
  -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 \
  -p 8090:8090 \
  quay.io/minio/aistor/mcp-server-aistor:latest \
  --allowed-directories /Downloads \
  --allow-admin \
  --allow-delete \
  --allow-write \
  --http \
  --http-port 8090
  1. Configure your MCP-enabled client (e.g., Cherry Studio):

    • MCP server name: aistor
    • Type: StreamableHTTP
    • URL: http://localhost:8090/mcp
  2. To stop the server:

podman stop aistor-mcp-server

Usage

Basic Operations

  • List all buckets: "List all buckets on my AIStor server"
  • List bucket contents: "List the contents of bucket test"

File Operations

  • Download files: "Download the file example.pdf to my Downloads directory"
  • Create buckets: "Create a bucket my-bucket"
  • Upload files: "Upload document.pdf from Downloads to bucket my-bucket"

Metadata Operations

  • Get object metadata: "Get metadata of file.pdf in bucket my-bucket"
  • View object tags: "List all tags for object config.json"

Admin Operations

  • Check health: "Show server health status"
  • View storage stats: "Get storage usage statistics"

Available Tools

The MCP server includes numerous tools that the LLM can use to perform various operations:

Storage Management Tools

  • create_bucket: Create new buckets with configurable settings
  • delete_bucket: Remove buckets and their contents
  • list_buckets: Display all available buckets
  • list_bucket_contents: Show objects within a bucket

Object Operations

  • upload_object: Upload files to a bucket
  • download_object: Download files to local filesystem
  • delete_object: Remove objects from a bucket
  • copy_object: Copy objects between buckets
  • move_object: Move objects between buckets

Metadata Tools

  • get_object_metadata: View detailed object information
  • get_object_tags/set_object_tags: Manage object tags
  • get_bucket_tags/set_bucket_tags: Manage bucket tags
  • get_object_presigned_url: Generate temporary access URLs

AI Operations

  • ask_object: Query an object's contents using AI
  • text_to_object: Convert text to an object in a bucket

Administrative Tools

  • get_admin_info: View cluster configuration and health
  • get_data_usage_info: Check storage usage statistics
  • get_bucket_lifecycle: View lifecycle management rules
  • get_bucket_replication: View replication settings
  • set_bucket_versioning/get_bucket_versioning: Configure versioning

How to add this MCP server to Cursor

There are two ways to add an MCP server to Cursor. The most common way is to add the server globally in the ~/.cursor/mcp.json file so that it is available in all of your projects.

If you only need the server in a single project, you can add it to the project instead by creating or adding it to the .cursor/mcp.json file.

Adding an MCP server to Cursor globally

To add a global MCP server go to Cursor Settings > MCP and click "Add new global MCP server".

When you click that button the ~/.cursor/mcp.json file will be opened and you can add your server like this:

{
    "mcpServers": {
        "cursor-rules-mcp": {
            "command": "npx",
            "args": [
                "-y",
                "cursor-rules-mcp"
            ]
        }
    }
}

Adding an MCP server to a project

To add an MCP server to a project you can create a new .cursor/mcp.json file or add it to the existing one. This will look exactly the same as the global MCP server example above.

How to use the MCP server

Once the server is installed, you might need to head back to Settings > MCP and click the refresh button.

The Cursor agent will then be able to see the available tools the added MCP server has available and will call them when it needs to.

You can also explictly ask the agent to use the tool by mentioning the tool name and describing what the function does.

Want to 10x your AI skills?

Get a free account and learn to code + market your apps using AI (with or without vibes!).

Nah, maybe later