Skip to main content
Glama
ucesys

MinIO Model-Context Protocol (MCP) Server

by ucesys

MinIO モデルコンテキスト プロトコル (MCP)

このプロジェクトは、MinIOオブジェクトストレージ用のモデルコンテキストプロトコル(MCP)サーバーとクライアントを実装します。MinIOとやり取りするための標準化された方法を提供します。

特徴

サーバ

リソース

Resourcesを通じてMinIOデータを公開します。サーバーは以下のものにアクセスし、提供することができます。

  • テキストファイル(ファイル拡張子に基づいて自動的に検出されます)

  • バイナリ ファイル (application/octet-stream として処理)

  • バケットの内容(バケットあたり最大 1000 個のオブジェクト)

ツール

  • リストバケット

    • リクエストの認証された送信者が所有するすべてのバケットのリストを返します。

    • オプションパラメータ: start_after (ページ区切り)、 max_buckets (結果の制限)

  • リストオブジェクト

    • 各リクエストごとにバケット内のオブジェクトの一部またはすべて(最大 1,000 個)を返します。

    • 必須パラメータ: bucket_name

    • オプションパラメータ: prefix (プレフィックスでフィルタリング)、 max_keys (結果の制限)

  • GetObject

    • MinIOからオブジェクトを取得します

    • 必須パラメータ: bucket_name 、 object_name

  • オブジェクトを配置する

    • fputメソッドを使用してMinIOバケットにファイルをアップロードします

    • 必須パラメータ: bucket_name 、 object_name 、 file_path

クライアント

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

  1. 基本クライアント- MinIO MCP サーバーと直接対話するためのシンプルなクライアント

  2. Anthropic Client - MinIO との AI を活用したインタラクションを実現する Anthropic の Claude モデルとの統合

Related MCP server: S3 MCP Server

インストール

  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

起動すると、ブラウザでアクセスしてデバッグを開始できる URL がインスペクタに表示されます。

ライセンス

このプロジェクトは MIT ライセンスに基づいてライセンスされています - 詳細については LICENSE ファイルを参照してください。

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    D
    maintenance
    Enables AI assistants to manage MinIO object storage through comprehensive bucket operations, file uploads/downloads, batch processing, permissions management, and URL generation. Supports both automatic and manual connection modes with flexible authentication options.
    19
    8 npm
    2
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Enables interaction with S3-compatible storage services like AWS S3 and Cloudflare R2, supporting bucket management, object listing, reading, uploading, and deletion operations.
    5
    8 npm
    ISC
  • A
    license
    Not graded
    quality
    Not graded
    maintenance
    Enables interaction with MinIO object storage through a standardized Model-Context Protocol interface. Supports listing buckets and objects, retrieving files, and uploading data to MinIO storage.
    MIT
  • F
    license
    A
    quality
    D
    maintenance
    Provides tools for interacting with MinIO and S3-compatible object storage through MCP clients like Claude. It enables comprehensive bucket and object management, including listing, creating, uploading, and generating presigned URLs.
    13
    2
    -