S3 MCP 服务器是一个用于访问亚马逊 S3 存储桶的模型上下文协议(MCP)服务器。它通过 MCP 提供与 S3 存储的无缝集成,能够高效处理大文件,包括 PDF 文件,通过流式传输功能实现,为用户提供了便捷、高效的存储访问体验。
S3 MCP 服务器通过 MCP 协议,实现了与 S3 存储的无缝集成,让你可以轻松访问和管理 S3 存储桶中的文件。它支持流式传输,能高效处理大文件,还具备多种实用功能和便捷的配置选项。
使用以下命令安装 S3 MCP 服务器:
npx -y @geunoh/s3-mcp-server
使用以下命令启动服务器,并可通过选项进行配置:
npx -y @geunoh/s3-mcp-server [options]
选项说明:
--port, -p:服务器端口(默认:3000)--region, -r:AWS 区域(默认:ap-northeast-2)--bucket, -b:S3 桶名称(默认:my-dancing-bucket)export AWS_ACCESS_KEY_ID="your_access_key"
export AWS_SECRET_ACCESS_KEY="your_secret_key"
export AWS_REGION="ap-northeast-2"
export S3_BUCKET_NAME="my-bucket-name"
在 mcp.json 中添加以下配置:
{
"mcpServers": {
"s3-mcp-server": {
"command": "npx",
"args": ["-y", "@geunoh/s3-mcp-server"],
"env": {
"AWS_ACCESS_KEY_ID": "YOUR_AWS_ACCESS_KEY_ID",
"AWS_SECRET_ACCESS_KEY": "YOUR_AWS_SECRET_ACCESS_KEY",
// 可选
"AWS_REGION": "ap-northeast-2",
"S3_BUCKET_NAME": "my-bucket-name",
}
}
}
}
列出 S3 桶中的对象。 参数:
prefix(可选):按前缀过滤对象从 S3 桶中获取对象。通过流式传输优化大文件处理。 参数:
key:要检索的对象键
返回值:stream:对象内容的 ReadableStreamcontentType:对象的 MIME 类型contentLength:对象大小,以字节为单位lastModified:最后修改时间戳text:原始 PDF 的 ByteArray 文本缓冲区所需的最小权限(参见 s3-policy.json):
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:ListBucket",
"s3:GetObject"
],
"Resource": "arn:aws:s3:::my-bucket-name"
}
]
}
.
├── src/ # TypeScript 源文件
├── dist/ # 编译后的 JavaScript 文件和运行时依赖项
├── tsconfig.json # TypeScript 配置
└── package.json # 项目配置和依赖关系
git clone https://github.com/Geun-Oh/s3-mcp-server.git
cd s3-mcp-server
npm install
npm run build
node dist/cli.js
npm version patch
npm publish --access public
GitHub Actions 工作流会在推送新的版本标签时自动发布包。
本项目采用 MIT 许可证。
如需贡献,请参考项目仓库中的贡献指南。