Skip to main content
Glama
pickstar-2002

MinIO Storage MCP

🗄️ MinIO MCP Server

npm version License: MIT Node.js Version TypeScript

🚀 一个功能强大的 MinIO 对象存储 MCP (Model Context Protocol) 服务器,为 AI 助手提供完整的对象存储操作能力。

✨ 特性

  • 🔗 完整的 MinIO 集成 - 支持所有主要的对象存储操作

  • 📁 存储桶管理 - 创建、删除、列出存储桶

  • 📄 对象操作 - 上传、下载、删除、复制文件

  • 🔍 高级功能 - 预签名 URL、批量操作、存储统计

  • 🛡️ 安全策略 - 存储桶策略管理

  • 🎯 类型安全 - 完整的 TypeScript 支持

  • 高性能 - 异步操作,支持大文件处理

Related MCP server: cloudinary-mcp-server

📦 安装

作为 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 中使用

.cursorrulescursor-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 - 生成预签名 URL

  • get_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

🤝 贡献

欢迎贡献代码!请遵循以下步骤:

  1. Fork 本仓库

  2. 创建特性分支 (git checkout -b feature/AmazingFeature)

  3. 提交更改 (git commit -m 'Add some AmazingFeature')

  4. 推送到分支 (git push origin feature/AmazingFeature)

  5. 开启 Pull Request

📄 许可证

本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情。

🆘 支持

如果您遇到问题或有任何疑问,请:

🙏 致谢


微信: pickstar_loveXX

⭐ 如果这个项目对您有帮助,请给我们一个 Star!

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/pickstar-2002/minio-storage-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server