Minio Python Mcp

Minio Python Mcp

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

本项目实现了 MinIO 对象存储的模型上下文协议 (MCP) 服务器与客户端,为与 MinIO 进行交互提供了一种标准化的方法。

✨ 主要特性

服务器

资源

服务器借助 资源 提供 MinIO 数据,可访问并提供如下内容:

  • 文本文件(依据文件扩展名自动检测)
  • 二进制文件(处理为 application/octet-stream)
  • 每个存储桶的内容(每个存储桶最多显示 1000 个对象)

工具

  • 列出存储桶
    • 返回所有由已认证的发送方拥有并发送请求的存储桶列表。
    • 可选参数:start_after(用于分页),max_buckets(限制结果数量)。
  • 列出对象
    • 返回某个存储桶中的部分或全部(最多 1000 个)对象,每个请求返回一定数量的对象。
    • 必需参数:bucket_name
    • 可选参数:prefix(按前缀过滤),max_keys(限制结果数量)。
  • 获取对象
    • 从 MinIO 获取对象。
    • 必需参数:bucket_nameobject_name
  • 上传对象
    • 使用 fput 方法将文件上传到 MinIO 存储桶。
    • 必需参数:bucket_nameobject_namefile_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 配置
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_api_key

运行服务器

要运行 MCP 服务器,请执行以下命令:

python -m minio_mcp_server.main

基本客户端

基本客户端提供以下接口:

  • list_buckets()
  • list_objects(bucket_name, prefix=None, max_keys=1000)
  • get_object(bucket_name, object_name)
  • put_object(bucket_name, object_name, file_path)

Anthropic 客户端

要使用 Anthropic 客户端,请先安装 Anthropic 库:

pip install anthropic

然后配置环境变量 ANTHROPIC_API_KEY,并参考 Anthropic 文档 使用其功能。

📚 详细文档

开发

项目结构

minio_mcp/
├── server/
│   ├── main.py          # MCP 服务器主程序
│   └── utils.py        # 辅助函数和工具
├── client/
│   ├── basic_client.py  # 基本客户端实现
│   └── anthropic_client.py  # Anthropic 客户端实现
└── config/             # 配置文件和环境变量处理
└── settings.py     # 应用设置和配置

运行测试

要运行 MCP 服务器的测试,请执行以下命令:

python -m pytest tests/

代码格式化

为了保持代码的一致性和可读性,我们使用以下工具:

  • black 格式化代码
  • isort 排列导入语句
  • flake8 检查代码风格和错误

安装这些工具:

pip install black isort flake8

运行格式化和检查:

black .
isort .
flake8

调试

由于 MCP 服务器通过标准输入/输出运行,调试可能比较困难。为了获得最佳的调试体验,我们建议使用 MCP 检查器:

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

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

📄 许可证

该项目根据 MIT 许可证发布 - 请查看 LICENSE 文件以获取详细信息。

  • 0 关注
  • 0 收藏,20 浏览
  • system 提出于 2025-10-05 04:33

相似服务问题

相关AI产品