hybrid server
The server is able to function both locally and remotely, depending on the configuration or use case.
Integrations
Supports running the MCP server in Docker containers, allowing containerized deployment and access to object storage services.
Provides support for macOS environments, with specific configuration paths and integration with the macOS file system.
Enables interaction with MinIO object storage, allowing users to manage buckets and objects, perform file operations, access metadata, generate presigned URLs, and retrieve administrative information about the storage cluster.
AIStor MCP サーバー
これは、AIStor オブジェクト ストアと対話するためのモデル コンテキスト プロトコル (MCP) サーバーです。
MCP の詳細については、公式サイトをご覧ください。
AIStor MCP サーバーの詳細については、当社のブログ投稿をご覧ください。
特徴
読み取り操作
- バケットをリストする
- バケット内のオブジェクトを一覧表示する
- オブジェクトのメタデータとタグを取得する
- オブジェクトの有効期限付き署名付き URL を作成する
AI運用
ask-object
関数を使用してオブジェクトの内容を説明します
書き込み操作
これらの操作は、設定で--allow-write
フラグを使用して有効にする必要があります。
- バケットを作成する
- バケットにオブジェクトをアップロードする
- オブジェクトにタグを追加する
削除操作
これらの操作は、設定で--allow-delete
フラグを使用して有効にする必要があります。
- オブジェクトを削除する
- バケットを削除する
管理操作
これらの操作は、設定で--allow-admin
フラグを使用して有効にする必要があります。
- 人間が読める形式でクラスタ情報(構成、ヘルスステータス、使用可能なスペース)を取得します
構成
前提条件
- Claudeから Claude for Desktop アプリケーションをダウンロードしてインストールします。この MCP サーバーは他の MCP 対応クライアントでも動作しますが、まずは Claude から始めましょう。
- デスクトップ/ラップトップに 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
フラグは、クラスターに関する情報を収集する管理機能を有効にします。
デフォルトでは、サーバーがリスト化してLLMに送信するオブジェクトまたはバケットの数は1000個に制限されています。これは、モデルのコンテキストウィンドウのトークン数の上限に達するのを防ぐためです。モデルでより広いコンテキストウィンドウを許容する場合は、設定ファイルに--max-keys
パラメータを追加することで、この数を増やすことができます。各オブジェクトレコードには数十個のトークンが含まれていることにご注意ください。
使用法
実行できることの例をいくつか示します。
基本操作
- 「AIStor サーバー上のすべてのバケットを一覧表示する」
- 「バケットテストの内容を一覧表示する」
ファイル操作
- 「example.pdf ファイルをダウンロードディレクトリにダウンロードします」
- 「バケット my-bucket を作成する」
- 「ダウンロードからバケット my-bucket に document.pdf をアップロード」
メタデータ操作
- 「バケット 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を指定して、オブジェクトの特定のバージョンにタグを設定することもできます。
upload-object
: メタデータとタグをサポートして、ローカルファイルシステムから指定されたバケットにファイルをアップロードします。