minio-storage-mcp
MCP 服务配置
复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用
{
"mcpServers": {
"minio-mcp": {
"args": [
"@pickstar-2002/minio-mcp@latest",
"--endpoint=your-endpoint",
"--access-key=key",
"--secret-key=secret",
"--use-ssl=true"
],
"command": "npx"
}
}
}
服务介绍
MinIO MCP Server
一个功能强大的 MinIO 对象存储 MCP (Model Context Protocol) 服务器为 AI 助手提供完整的对象存储操作能力
特性
- 完整的 MinIO 集成 - 支持所有主要的对象存储操作
- 存储桶管理 - 创建删除列出存储桶
- 对象操作 - 上传下载删除复制文件
- 高级功能 - 预签名 URL批量操作存储统计
- 安全策略 - 存储桶策略管理
- 类型安全 - 完整的 TypeScript 支持
- 高性能 - 异步操作支持大文件处理
安装
作为 MCP 服务器使用推荐
在您的 AI 助手配置中添加以下配置
{
"mcpServers": {
"minio-mcp": {
"command": "npx",
"args": [
"@pickstar-2002/minio-mcp@latest",
"--endpoint=your-minio-endpoint",
"--access-key=your-access-key",
"--secret-key=your-secret-key",
"--use-ssl=true"
]
}
}
}
本地开发安装
# 克隆仓库
git clone https://github.com/pickstar-2002/minio-mcp.git
cd minio-mcp
# 安装依赖
npm install
# 构建项目
npm run build
# 启动服务
npm start
快速开始
1. 基本配置
npx @pickstar-2002/minio-mcp@latest \
--endpoint=api.minio.pickstar.site \
--access-key=your-access-key \
--secret-key=your-secret-key \
--use-ssl=true
2. 在 Cursor 中使用
在 .cursorrules 或 cursor-settings.json 中添加
{
"mcp": {
"servers": {
"minio-mcp": {
"command": "npx",
"args": ["@pickstar-2002/minio-mcp@latest", "--endpoint=your-endpoint", "--access-key=key", "--secret-key=secret"]
}
}
}
}
3. 在 Claude Desktop 中使用
在 claude_desktop_config.json 中添加
{
"mcpServers": {
"minio-mcp": {
"command": "npx",
"args": ["@pickstar-2002/minio-mcp@latest", "--endpoint=your-endpoint", "--access-key=key", "--secret-key=secret", "--use-ssl=true"]
}
}
}
API 功能
连接管理
connect_minio- 连接到 MinIO 服务器
存储桶操作
list_buckets- 列出所有存储桶create_bucket- 创建存储桶delete_bucket- 删除存储桶bucket_exists- 检查存储桶是否存在
对象操作
list_objects- 列出存储桶中的对象upload_file- 上传文件到存储桶download_file- 从存储桶下载文件delete_object- 删除存储桶中的对象delete_objects- 批量删除对象copy_object- 复制对象get_object_info- 获取对象信息
高级功能
generate_presigned_url- 生成预签名 URLget_storage_stats- 获取存储统计信息upload_files- 批量上传文件download_files- 批量下载文件
策略管理
set_bucket_policy- 设置存储桶策略get_bucket_policy- 获取存储桶策略delete_bucket_policy- 删除存储桶策略
使用示例
基本文件操作
// 上传文件
await uploadFile({
bucketName: "my-bucket",
objectName: "documents/file.pdf",
filePath: "/local/path/to/file.pdf"
});
// 下载文件
await downloadFile({
bucketName: "my-bucket",
objectName: "documents/file.pdf",
filePath: "/local/download/path/file.pdf"
});
// 生成预签名 URL
const url = await generatePresignedUrl({
bucketName: "my-bucket",
objectName: "documents/file.pdf",
method: "GET",
expires: 3600 // 1小时
});
批量操作
// 批量上传
await uploadFiles({
bucketName: "my-bucket",
files: [
{ localPath: "/path/file1.jpg", objectName: "images/file1.jpg" },
{ localPath: "/path/file2.jpg", objectName: "images/file2.jpg" }
]
});
// 批量删除
await deleteObjects({
bucketName: "my-bucket",
objectNames: ["images/file1.jpg", "images/file2.jpg"]
});
配置选项
| 参数 | 描述 | 必需 | 默认值 |
|---|---|---|---|
--endpoint |
MinIO 服务器地址 | - | |
--access-key |
访问密钥 | - | |
--secret-key |
秘密密钥 | - | |
--use-ssl |
是否使用 SSL | false |
|
--port |
服务器端口 | 9000 |
|
--region |
区域设置 | us-east-1 |
开发
项目结构
minio-mcp/
src/
index.ts # 主入口文件
tools/ # MCP 工具定义
types/ # TypeScript 类型定义
build/ # 构建输出
package.json
README.md
构建命令
# 开发模式
npm run dev
# 构建项目
npm run build
# 运行测试
npm test
# 代码检查
npm run lint
# 格式化代码
npm run format
贡献
欢迎贡献代码请遵循以下步骤
- Fork 本仓库
- 创建特性分支 (
git checkout -b feature/AmazingFeature) - 提交更改 (
git commit -m 'Add some AmazingFeature') - 推送到分支 (
git push origin feature/AmazingFeature) - 开启 Pull Request
许可证
本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情
支持
如果您遇到问题或有任何疑问请
- 提交 Issue
- 参与 Discussions
- 发送邮件至开发者
致谢
- MinIO - 高性能对象存储
- Model Context Protocol - AI 助手协议标准
- 所有贡献者和用户的支持
微信: pickstar_loveXX
如果这个项目对您有帮助请给我们一个 Star