mcpField
M
Minio MCP Service

Minio MCP Service

ローカル
github.com/ucesysファイル・ストレージ684 週間前に更新

Minio MCP Service について

Minio MCP Service は、MinIO オブジェクトストレージ向けの Python 製 MCP サーバーとクライアントです。ツールとリソースでバケットやオブジェクト、ファイルデータを扱い、基本クライアントと Anthropic クライアントも備えています。

主な機能

  1. 01バケットとオブジェクトの一覧表示
  2. 02オブジェクトの取得とアップロード
  3. 03テキスト・バイナリファイルのリソース化
  4. 04バケット内容のリソース化
  5. 05基本クライアントと Anthropic クライアント

活用シーン

  1. 01バケットの閲覧とプレフィックスによる絞り込み
  2. 02MinIO でのオブジェクト取得やアップロード
  3. 03MCP リソース経由でのファイル内容の読み取り

MCP 対応

MCP サーバーは、ツールとリソースを通じて MinIO のバケットとオブジェクトを提供します。サーバーに接続する基本クライアントと Anthropic クライアントも含まれます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

MinIO Model-Context Protocol(MCP)

このプロジェクトは、MinIO オブジェクトストレージ向けの Model-Context Protocol(MCP)サーバーとクライアントを実装しています。MinIO とやり取りするための標準化された方法を提供します。

機能

サーバー
リソース

リソースを通じて MinIO のデータを公開します。サーバーは以下にアクセスし、提供できます。

  • テキストファイル(ファイル拡張子に基づいて自動検出)
  • バイナリファイル(application/octet-stream として処理)
  • バケットの内容(バケットあたり最大 1000 個のオブジェクト)
ツール
  • ListBuckets

    • リクエストの認証済み送信者が所有するすべてのバケットの一覧を返します
    • オプションのパラメーター:start_after(ページネーション)、max_buckets(結果の上限)
  • ListObjects

    • リクエストごとに、バケット内のオブジェクトの一部またはすべて(最大 1,000 個)を返します
    • 必須パラメーター:bucket_name
    • オプションのパラメーター:prefix(プレフィックスでフィルタリング)、max_keys(結果の上限)
  • GetObject

    • MinIO からオブジェクトを取得します
    • 必須パラメーター:bucket_name、object_name
  • PutObject

    • fput メソッドを使ってファイルを MinIO バケットにアップロードします
    • 必須パラメーター:bucket_name、object_name、file_path
クライアント

このプロジェクトには、複数のクライアント実装が含まれています。

  1. 基本クライアント - MinIO MCP サーバーと直接やり取りするためのシンプルなクライアント
  2. Anthropic クライアント - Anthropic の Claude モデルと連携し、AI を活用して MinIO とやり取りします

インストール

  1. リポジトリをクローンします。
git clone https://github.com/yourusername/minio-mcp.git
cd minio-mcp
  1. pip を使用して依存関係をインストールします。
pip install -r requirements.txt

または、uv を使用します。

uv pip install -r requirements.txt

環境設定

ルートディレクトリに .env ファイルを作成し、次の設定を記述します。

# MinIO Configuration
MINIO_ENDPOINT=play.min.io
MINIO_ACCESS_KEY=your_access_key
MINIO_SECRET_KEY=your_secret_key
MINIO_SECURE=true
MINIO_MAX_BUCKETS=5

# Server Configuration
SERVER_HOST=0.0.0.0
SERVER_PORT=8000

# For Anthropic Client (if using)
ANTHROPIC_API_KEY=your_anthropic_api_key

使用方法

サーバーの実行

サーバーは直接実行できます。

python src/minio_mcp_server/server.py
基本クライアントの使用
from src.client import main
import asyncio

asyncio.run(main())
Anthropic クライアントの使用
  1. src/client/servers_config.json でサーバーを設定します。
{
  "mcpServers": {
    "minio_service": {
      "command": "python",
      "args": ["path/to/minio_mcp_server/server.py"]
    }
  }
}
  1. クライアントを実行します。
python src/client/mcp_anthropic_client.py
  1. アシスタントと対話します。

    • アシスタントは利用可能なツールを自動的に検出します
    • MinIO のデータについて質問できます
    • アシスタントは適切なツールを使用して情報を取得します
  2. セッションを終了します。

    • quit または exit と入力すると、セッションが終了します

Claude Desktop との連携

この MCP サーバーを Claude Desktop と連携できます。

設定

MacOS の場合:~/Library/Application\ Support/Claude/claude_desktop_config.json
Windows の場合:%APPDATA%/Claude/claude_desktop_config.json

{
  "mcpServers": {
    "minio-mcp": {
      "command": "python",
      "args": [
        "path/to/minio-mcp/src/minio_mcp_server/server.py"
      ]
    }
  }
}

開発

プロジェクト構成
minio-mcp/
├── src/
│   ├── client/                  # Client implementations
│   │   ├── mcp_anthropic_client.py  # Anthropic integration
│   │   └── servers_config.json  # Server configuration
│   ├── minio_mcp_server/        # MCP server implementation
│   │   ├── resources/           # Resource implementations
│   │   │   └── minio_resource.py  # MinIO resource
│   │   └── server.py            # Main server implementation
│   ├── __init__.py
│   └── client.py                # Basic client implementation
├── LICENSE
├── pyproject.toml
├── README.md
└── requirements.txt
テストの実行
pytest
コードのフォーマット
black src/
isort src/
flake8 src/

デバッグ

MCP サーバーは stdio 経由で動作するため、デバッグが難しい場合があります。最適なデバッグ環境として、MCP Inspector の使用をおすすめします。

npx @modelcontextprotocol/inspector python path/to/minio-mcp/src/minio_mcp_server/server.py

起動すると、Inspector に URL が表示されます。その URL にブラウザーからアクセスして、デバッグを開始できます。

ライセンス

このプロジェクトは MIT ライセンスの下で公開されています。詳細については LICENSE ファイルをご覧ください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。