AIStor MCP server について
AIStor MCP server は、AIStor オブジェクトストアを操作するための公式 MCP サーバーです。読み取り、書き込み、削除、管理操作を扱い、各操作は個別のフラグで有効化します。既定は読み取り専用です。LLM からオブジェクトストレージを管理したいユーザーに向いています。
主な機能
- 01バケットとオブジェクトの一覧、メタデータとタグの取得
- 02ask_object ツールによるオブジェクト内容の説明
- 03フラグによる書き込み、削除、管理操作の有効化
- 04STDIO と StreamableHTTP のトランスポート対応
活用シーン
- 01Claude for Desktop から AIStor のバケットとオブジェクトを照会する
- 02オブジェクトのアップロード、コピー、移動、タグ設定を行う
- 03クラスターの状態とストレージ使用量を確認する
MCP 対応
バケット、オブジェクト、タグ、プリサインド URL、管理情報に関するツールを MCP クライアントに公開し、クライアントはそれらを用いて AIStor オブジェクトストアを操作します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
docker run -i --rm -e MINIO_ENDPOINT -e MINIO_ACCESS_KEY -e MINIO_SECRET_KEY -e MINIO_USE_SSL quay.io/minio/aistor/mcp-server-aistor:latestMINIO_ENDPOINTMINIO_ACCESS_KEYシークレットMINIO_SECRET_KEYシークレットMINIO_USE_SSLローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
quay.io/minio/aistor/mcp-server-aistor:lateststdioツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
AIStor MCP サーバー
AIStor オブジェクトストアとやり取りするための Model Context Protocol(MCP)サーバーです。
MCP の詳細については、公式サイトをご覧ください。
AIStor MCP サーバーの詳細については、以下のブログ記事をご覧ください。
更新情報
- 2025-05-28
- MCP バージョン 2025-03-26 のサポートを追加しました
- StreamableHTTP プロトコルのサポートを追加しました
- text_to_object ツールを追加しました
機能
読み取り操作
- バケットの一覧表示
- バケット内のオブジェクトの一覧表示
- オブジェクトのメタデータとタグの取得
- オブジェクトの有効期限付き署名済み URL の作成
AI 操作
ask_objectツールを使用してオブジェクトの内容を説明します
書き込み操作
これらの操作を有効にするには、設定で --allow-write フラグを使用してください。
- バケットの作成
- バケットへのオブジェクトのアップロード
- オブジェクトへのタグの追加
削除操作
これらの操作を有効にするには、設定で --allow-delete フラグを使用してください。
- オブジェクトの削除
- バケットの削除
管理操作
これらの操作を有効にするには、設定で --allow-admin フラグを使用してください。
- クラスター情報(設定、正常性ステータス、利用可能な容量)を人間が読みやすい形式で取得
Claude for Desktop の設定
この MCP サーバーは、ほかの MCP 対応クライアントでも動作しますが、まずは Claude で始めましょう。
サーバーとの通信には STDIO トランスポートを使用します。
StreamableHTTP トランスポートを使用してサーバーを設定する手順については、次のセクションをご覧ください。
前提条件
-
Claude から Claude for Desktop アプリケーションをダウンロードしてインストールします。 この MCP サーバーは、ほかの MCP 対応クライアントでも動作しますが、まずは Claude で始めましょう。
-
デスクトップまたはノート PC に Docker または Podman がインストールされ、使用できる状態であることを確認します。
-
AIStor(または MinIO)オブジェクトストアの認証情報(
MINIO_ACCESS_KEYとMINIO_SECRET_KEY)とエンドポイントの場所を確認します。 利用可能な AIStor または MinIO サーバーがない場合は、MinIO Playground サーバーの値を使用できます。
設定ファイル
お好みのテキストエディターで Claude for Desktop の設定ファイルを開きます。 システム上の設定ファイルを見つけるには、Model Context Protocol サイトのクイックスタート手順に従ってください。 デフォルトの場所は次のとおりです。
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
認証情報、エンドポイント、YOUR_USERNAME を実際の値に置き換えて、以下の行を設定ファイルに追加します。
この例では Podman を使用していますが、Docker を使用する場合は、command: フィールドの podman を docker に置き換えてください。
ほかの MCP サーバーを設定済みの場合は、AIStor の設定をリストに追加してください。
--allow-* フラグを追加する際は注意してください。フラグを指定しない場合、サーバーはデフォルトで読み取り専用モードで実行されます。
必要な場合にのみ、この設定に --allow-write と --allow-delete のフラグを追加してください。
--allow-admin フラグを指定すると、クラスターに関する情報を収集する管理機能が有効になります。
{
"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"
]
}
}
}
デフォルトでは、サーバーが一覧表示して LLM に送信するオブジェクトまたはバケットの数は、1000 個に制限されています。
これは、モデルのトークン数におけるコンテキストウィンドウの上限に達するのを避けるためです。
モデルがより広いコンテキストウィンドウに対応している場合は、設定ファイルに --max-keys パラメーターを追加することで、この数を増やせます。
各オブジェクトレコードには数十個のトークンが含まれることにご注意ください。
StreamableHTTP の設定
この MCP サーバーは、StreamableHTTP トランスポートに対応した、ほかの MCP 対応クライアントでも動作します。
前提条件
-
MCP と StreamableHTTP に対応した LLM クライアントをダウンロードしてインストールします。 たとえば、Cherry Studio を使用できます。
-
Docker または Podman がデスクトップ/ノートパソコンにインストールされ、使用できる状態であることを確認します。
-
AIStor(または MinIO)のオブジェクトストアの認証情報(
MINIO_ACCESS_KEYおよびMINIO_SECRET_KEY)とエンドポイントの場所を確認します。 AIStor または MinIO サーバーを利用できない場合は、MinIO Playground サーバーの値を使用してください。
サーバーを実行する
次のコマンドを実行してサーバーを起動します。
MINIO_ENDPOINT、MINIO_ACCESS_KEY、および MINIO_SECRET_KEY の値を実際の値に置き換えてください。
8090(3 か所あります!)を、システムで使用可能なポート番号に置き換えてください。
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
クライアントを設定する
クライアントに次の設定を追加します。
- MCP サーバー名:
aistor - 種類:
StreamableHTTP - URL:
http://localhost:8090/mcp
接続をテストする
サーバーで利用可能なツールの一覧を取得できることを確認します。クライアントの「Tools」タブを使用してください。
サーバーを停止する
podman stop aistor-mcp-server
使用方法
できることの例を以下に示します。
基本操作
- 「AIStor サーバー上のすべてのバケットを一覧表示して」
- 「バケット test の内容を一覧表示して」
ファイル操作
- 「ファイル example.pdf を Downloads ディレクトリにダウンロードして」
- 「バケット my-bucket を作成して」
- 「Downloads から document.pdf をバケット my-bucket にアップロードして」
メタデータ操作
- 「バケット my-bucket 内の file.pdf のメタデータを取得して」
- 「オブジェクト config.json のすべてのタグを一覧表示して」
管理操作
- 「サーバーの健全性ステータスを表示して」
- 「ストレージ使用量の統計情報を取得して」
各コマンドは、関連情報を含む、人が読みやすい形式の応答を返します。
利用可能なツール
通常、LLM はリクエストにどのツールを使えばよいか判断できます。 場合によっては、使用するツールをモデルに明示的に伝えたいこともあるでしょう。 そのような場合や、この MCP サーバーでほかに何ができるかを確認する場合は、以下の一覧をご覧ください。
Claude for Desktop アプリケーションのハンマーアイコンをクリックすると、いつでもこの一覧を表示できます。
ask_object
: AI を使用してオブジェクトの内容に関する質問に回答します。さまざまなファイル形式に対応し、文脈に沿った回答を返します
copy_object
: メタデータを保持したままオブジェクトをあるバケットから別のバケットにコピーし、必要に応じてプロパティを変更します。特定のバージョンのオブジェクトをコピーするために、バージョン ID を指定することもできます。
create_bucket
: 指定した設定と、必要に応じてバージョニング設定を使用して、新しいバケットを作成します
delete_bucket
: バケットを削除し、必要に応じて含まれるすべてのオブジェクトを強制的に削除します
delete_object
: バケットから特定のオブジェクトまたはバージョンを削除します。必要に応じて論理削除にも対応します。特定のバージョンのオブジェクトを削除するために、バージョン ID を指定することもできます。
download_object
: メタデータを保持したまま、指定したバケットからローカルファイルシステムにオブジェクトをダウンロードします。特定のバージョンのオブジェクトをダウンロードするために、バージョン ID を指定することもできます。
get_admin_info
: ステータス、パフォーマンス指標、設定など、AIStor オブジェクトストアの包括的な技術情報を取得します
get_bucket_lifecycle
: 指定したバケットのライフサイクル(ライフサイクルルール、ILM 設定とも呼ばれます)を取得します
get_bucket_replication
: 指定したバケットのレプリケーション設定を取得します
get_bucket_tags
: 指定したバケットのタグを取得します
get_bucket_versioning
: 指定したバケットのバージョニング状態と設定を取得します
get_data_usage_info
: AIStor オブジェクトストアのデータ使用状況(保存データの合計、オブジェクト数、バケットごとの使用量など)を取得します
get_object_metadata
: コンテンツタイプ、サイズ、カスタムヘッダー、システムプロパティなど、オブジェクトの詳細なメタデータを取得します
get_object_presigned_url
: バケット内のオブジェクトの署名付き URL を取得します。有効期限は任意で指定できます。デフォルトは 7 日です。
get_object_tags
: バケット内の特定のオブジェクトに関連付けられたすべてのタグを取得します
get_object_versions
: バケット内のオブジェクトのすべてのバージョンを取得します
list_allowed_directories
: サーバーでの操作が許可されているすべてのディレクトリを一覧表示します
list_bucket_contents
: サイズや最終更新日を含め、指定したバケット内のすべてのオブジェクトを一覧表示します。プレフィックスを指定してオブジェクトを絞り込んだり、バージョンを一覧表示するかどうかを指定したりすることもできます。
list_buckets
: AIStor オブジェクトストア内のすべてのバケットを基本情報とともに一覧表示します
list_local_files
: 指定したローカルディレクトリパス内のすべてのファイルとディレクトリを属性とともに一覧表示します
move_object
: オブジェクトをコピー先にコピーしてコピー元から削除することで、バケット間で移動します。特定のバージョンのオブジェクトを移動するために、バージョン ID を指定することもできます。
set_bucket_tags
: 指定したバケットのタグを設定します
set_bucket_versioning
: 管理者権限を使用して、バケットのバージョニング設定を構成します
set_object_tags
: バケット内の既存のオブジェクトのタグを設定または更新します。複数のキーと値のペアに対応しています。特定のバージョンのオブジェクトにタグを設定するために、バージョン ID を指定することもできます。
text_to_object
: さまざまなコンテンツタイプに対応し、テキストをバケット内のオブジェクトに変換します。
upload_object
: ローカルファイルシステムから指定したバケットにファイルをアップロードします。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。