u

ucesys

@ucesys/minio-python-mcp
0 Stars 361 次浏览 ucesys 更新于 2026-08-23

MCP 服务配置

复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用

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

服务介绍

MinIO 模型-上下文协议 (MCP)

该项目实现了用于 MinIO 对象存储的模型-上下文协议 (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. 克隆仓库:
    bash
    git clone https://github.com/yourusername/minio-mcp.git
    cd minio-mcp

  2. 使用 pip 安装依赖项:
    bash
    pip install -r requirements.txt

或者使用 uv:
bash
uv pip install -r requirements.txt

环境配置

在根目录下创建一个 .env 文件,并添加以下配置:

env

MinIO 配置

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_HOST=0.0.0.0
SERVER_PORT=8000

如果使用 Anthropic 客户端

ANTHROPIC_API_KEY=your_anthropic_api_key

使用方法

运行服务器

可以直接运行服务器:

bash
python src/minio_mcp_server/server.py

使用基本客户端

python
from src.client import main
import asyncio

asyncio.run(main())

使用 Anthropic 客户端

  1. src/client/servers_config.json 中配置服务器:

json
{
"mcpServers": {
"minio_service": {
"command": "python",
"args": ["path/to/minio_mcp_server/server.py"]
}
}
}

  1. 运行客户端:

bash
python src/client/mcp_anthropic_client.py

  1. 与助手交互:

    • 助手会自动检测可用工具
    • 您可以询问有关您的 MinIO 数据的问题
    • 助手将使用适当的工具来检索信息
  2. 退出会话:

    • 输入 quitexit 结束会话

与 Claude Desktop 集成

您可以将此 MCP 服务器与 Claude Desktop 集成:

配置

在 MacOS 上:~/Library/Application Support/Claude/claude_desktop_config.json
在 Windows 上:%APPDATA%/Claude/claude_desktop_config.json

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

开发

项目结构

minio-mcp/
├── src/
│ ├── client/ # 客户端实现
│ │ ├── mcp_anthropic_client.py # Anthropic 集成
│ │ └── servers_config.json # 服务器配置
│ ├── minio_mcp_server/ # MCP 服务器实现
│ │ ├── resources/ # 资源实现
│ │ │ └── minio_resource.py # MinIO 资源
│ │ └── server.py # 主服务器实现
│ ├── init.py
│ └── client.py # 基本客户端实现
├── LICENSE
├── pyproject.toml
├── README.md
└── requirements.txt### 运行测试

bash
pytest

代码格式化

bash
black src/
isort src/
flake8 src/

调试

由于MCP服务器通过stdio运行,调试可能会比较困难。为了获得最佳的调试体验,我们建议使用MCP Inspector:

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

启动后,Inspector会显示一个URL,您可以在浏览器中访问该URL以开始调试。

许可证

本项目采用MIT许可证发布 - 详情请参阅LICENSE文件。

相关 MCP 服务