article
README
🚀 MinIO 模型上下文协议(MCP)
本项目实现了 MinIO 对象存储的模型上下文协议 (MCP) 服务器与客户端,为与 MinIO 进行交互提供了一种标准化的方法。
✨ 主要特性
服务器
资源
服务器借助 资源 提供 MinIO 数据,可访问并提供如下内容:
- 文本文件(依据文件扩展名自动检测)
- 二进制文件(处理为 application/octet-stream)
- 每个存储桶的内容(每个存储桶最多显示 1000 个对象)
工具
- 列出存储桶
- 返回所有由已认证的发送方拥有并发送请求的存储桶列表。
- 可选参数:
start_after(用于分页),max_buckets(限制结果数量)。
- 列出对象
- 返回某个存储桶中的部分或全部(最多 1000 个)对象,每个请求返回一定数量的对象。
- 必需参数:
bucket_name。 - 可选参数:
prefix(按前缀过滤),max_keys(限制结果数量)。
- 获取对象
- 从 MinIO 获取对象。
- 必需参数:
bucket_name,object_name。
- 上传对象
- 使用 fput 方法将文件上传到 MinIO 存储桶。
- 必需参数:
bucket_name,object_name,file_path。
客户端
本项目包含多个客户端实现:
- 基本客户端:用于与 MinIO MCP 服务器进行直接交互的简单客户端。
- Anthropic 客户端:与 Anthropic 的 Claude 模型集成,提供 AI 驱动的 MinIO 交互功能。
📦 安装指南
- 克隆仓库:
git clone https://github.com/yourusername/minio-mcp.git
cd minio-mcp
- 使用 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 文件以获取详细信息。
微信扫一扫