返回市场
对象存储MCP

对象存储MCP

作者:1yhy6 星标更新:2025-03-23

项目介绍

OSS MCP 服务器 🚀

中文版 | 英文

oss-mcp

基于模型上下文协议(MCP)的服务器,用于将文件上传至阿里云OSS。此服务器使大型语言模型能够直接将文件上传至阿里云对象存储服务。

💡 使用场景

OSS MCP 服务器可以无缝集成其他 MCP 工具,为您提供强大的工作流程:

  • Playwright MCP集成您可以首先使用 Playwright MCP 捕获网页截图或下载网络资源,然后直接将其上传至阿里云OSS存储。
  • Figma MCP集成下载本地图像资源并直接上传至OSS,或者直接上传Figma网络文件至OSS。
  • Filesystem MCP集成您可以浏览并从本地文件系统中选择文件,然后一步上传至云端存储。
  • 数据备份过程自动从本地或其他服务备份重要数据至OSS。
  • 媒体处理流程结合其他处理工具,图片和视频可以直接处理并上传以获取可访问的URL。
  • 多OSS账户管理方便地在多个OSS账户之间切换上传目标。

✨ 特性

  • 📁 支持多个阿里云OSS配置
  • 🗂️ 可指定上传目录
  • 🔄 简单易用的界面

🔧 安装

您可以通过 npm 或从源代码进行安装:

使用 npm 安装

# 使用npm全局安装
npm install -g oss-mcp

# 或使用pnpm全局安装
pnpm add -g oss-mcp

使用示例

# 直接启动 (stdio模式)
oss-mcp --oss-config='{\"default\":{\"region\":\"oss-cn-shenzhen\",\"accessKeyId\":\"YOUR_KEY\",\"accessKeySecret\":\"YOUR_SECRET\",\"bucket\":\"YOUR_BUCKET\",\"endpoint\":\"oss-cn-shenzhen.aliyuncs.com\"}}'

# 使用Inspector调试
oss-mcp --oss-config='{ "region": "oss-cn-shenzhen", "accessKeyId": "YOUR_KEY", "accessKeySecret": "YOUR_SECRET", "bucket": "BUCKET_NAME", "endpoint": "oss-cn-shenzhen.aliyuncs.com" }' --inspect

从源代码安装

# 克隆仓库
git clone https://github.com/1yhy/oss-mcp.git
cd oss-mcp

# 安装依赖
pnpm install

# 构建项目
pnpm build

⚙️ 配置

您可以按以下方式配置阿里云OSS参数:

方法1:使用 .env 文件

在项目的根目录创建 .env 文件,参考 .env.example 模板。您可以配置多个阿里云OSS服务:

# 默认OSS配置
OSS_CONFIG_DEFAULT={"region":"oss-cn-hangzhou","accessKeyId":"your-access-key-id","accessKeySecret":"your-access-key-secret","bucket":"your-bucket-name","endpoint":"oss-cn-hangzhou.aliyuncs.com"}

# 其他OSS配置
OSS_CONFIG_TEST={"region":"oss-cn-beijing","accessKeyId":"your-access-key-id-2","accessKeySecret":"your-access-key-secret-2","bucket":"your-bucket-name-2","endpoint":"oss-cn-beijing.aliyuncs.com"}

方法2:直接设置环境变量

您也可以直接在系统中或启动命令中设置环境变量:

# 设置环境变量并启动
pnpm dev --oss-config='{ "default": { "region": "oss-cn-shenzhen", "accessKeyId": "YOUR_KEY", "accessKeySecret": "YOUR_SECRET", "bucket": "BUCKET_NAME", "endpoint": "oss-cn-shenzhen.aliyuncs.com" }, "test": { "region": "oss-cn-beijing", "accessKeyId": "YOUR_KEY", "accessKeySecret": "YOUR_SECRET", "bucket": "BUCKET_NAME", "endpoint": "oss-cn-beijing.aliyuncs.com" } }'

🔍 参数说明

  • region阿里云OSS区域
  • accessKeyId阿里云Access Key ID
  • accessKeySecret阿里云Access Key Secret
  • bucketOSS桶名
  • endpointOSS终端节点

📋 使用说明

命令行选项

选项:
  -s, --stdio    使用stdio传输启动服务器
  -h, --http     使用HTTP传输启动服务器
  -p, --port     HTTP服务器端口 (默认: 3000)
  -i, --inspect  使用Inspector工具启动
  -?, --help     显示帮助信息

从源代码启动

# 开发模式
pnpm dev

# 启动服务 (stdio模式)
pnpm start

# 启动HTTP服务
pnpm start:http

# 使用Inspector调试
pnpm inspect

🛠️ 与Claude/cursor配置集成

Cursor配置方法

  1. 在cursor中打开设置
  2. 转到MCP服务器部分
  3. 添加新的服务器配置:
{
  "mcpServers": {
    "oss-mcp": {
      "command": "npx",
      "args": [
        "oss-mcp",
        "--oss-config='{\"default\":{\"region\":\"oss-cn-shenzhen\",\"accessKeyId\":\"YOUR_KEY\",\"accessKeySecret\":\"YOUR_SECRET\",\"bucket\":\"YOUR_BUCKET\",\"endpoint\":\"oss-cn-shenzhen.aliyuncs.com\"}}'",
        "--stdio"
      ]
    }
  }
}

配置多个OSS账户

使用环境变量可以轻松配置多个OSS账户:

{
  "mcpServers": {
    "oss-mcp": {
      "command": "npx",
      "args": [
        "oss-mcp",
        "--oss-config='{\"default\":{\"region\":\"oss-cn-shenzhen\",\"accessKeyId\":\"YOUR_KEY\",\"accessKeySecret\":\"YOUR_SECRET\",\"bucket\":\"YOUR_BUCKET\",\"endpoint\":\"oss-cn-shenzhen.aliyuncs.com\"}, \"test\":{\"region\":\"oss-cn-shenzhen\",\"accessKeyId\":\"YOUR_KEY\",\"accessKeySecret\":\"YOUR_SECRET\",\"bucket\":\"YOUR_BUCKET\",\"endpoint\":\"oss-cn-shenzhen.aliyuncs.com\"}}'",
        "--stdio"
      ]
    }
  }
}

🧰 提供的工具

服务器提供以下工具:

1. 将文件上传至OSS(upload_to_oss

参数

  • filePath: 本地文件路径(必需)
  • targetDir: 目标目录路径(可选)
  • fileName: 文件名(可选,默认为原始文件名)
  • configNameOSS配置名称(可选,默认为'default')

2. 列出可用的OSS配置(list_oss_configs

无需参数,返回所有可用的OSS配置名称。

📦 发布

# 发布到npm
pnpm pub:release

# 本地打包测试
pnpm publish:local

📊 Star History

Star History Chart

📄 许可证

MIT