中文版 | 英文
基于模型上下文协议(MCP)的服务器,用于将文件上传至阿里云OSS。此服务器使大型语言模型能够直接将文件上传至阿里云对象存储服务。
OSS MCP 服务器可以无缝集成其他 MCP 工具,为您提供强大的工作流程:
您可以通过 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参数:
在项目的根目录创建 .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"}
您也可以直接在系统中或启动命令中设置环境变量:
# 设置环境变量并启动
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 IDaccessKeySecret阿里云Access Key SecretbucketOSS桶名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
{
"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账户:
{
"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"
]
}
}
}
服务器提供以下工具:
upload_to_oss)参数:
filePath: 本地文件路径(必需)targetDir: 目标目录路径(可选)fileName: 文件名(可选,默认为原始文件名)configNameOSS配置名称(可选,默认为'default')list_oss_configs)无需参数,返回所有可用的OSS配置名称。
# 发布到npm
pnpm pub:release
# 本地打包测试
pnpm publish:local