本项目实现了 MinIO 对象存储的模型上下文协议 (MCP) 服务器与客户端,为与 MinIO 进行交互提供了一种标准化的方法。
服务器借助 资源 提供 MinIO 数据,可访问并提供如下内容:
start_after(用于分页),max_buckets(限制结果数量)。bucket_name。prefix(按前缀过滤),max_keys(限制结果数量)。bucket_name,object_name。bucket_name,object_name,file_path。本项目包含多个客户端实现:
git clone https://github.com/yourusername/minio-mcp.git
cd minio-mcp
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 库:
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 文件以获取详细信息。