S3预签名URL服务

通过预签名URL提供对AWS S3存储桶的安全访问,支持对象列表、获取、上传和删除操作。

  • by OpenWorkspace-o1
  • TypeScript
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 openworkspace-o1/aws-ow-s3-mcp

使用说明

AWS S3 MCP服务器

用于AWS S3操作的MCP服务器,通过预签名的URL提供对S3存储桶的安全访问。

工具

  1. list_objects

    • 列出S3存储桶中的对象
    • 输入:
      • prefix (字符串,可选):对象键的前缀过滤器
    • 返回值:包含键、大小和上次修改日期的对象数组
  2. get_object

    • 生成用于访问对象的预签名URL
    • 输入:
      • key (string,必填):要检索的对象键
      • expiry (数字,可选):URL过期时间(秒)(默认值:3600)
    • 退货: object_url 包含预签名的URL
  3. put_object

    • 生成用于上传对象的预签名URL
    • 输入:
      • key (string,必填):要上传的对象密钥
      • expiry (数字,可选):URL过期时间(秒)(默认值:3600)
    • 退货: upload_url 包含预签名的URL
  4. delete_object

    • 从bucket中删除对象
    • 输入:
      • key (字符串,必填):要删除的对象键
    • 退货: success 布尔值表示删除状态

设置

环境变量

服务器需要以下环境变量:

  • BUCKET_NAME:S3存储桶的名称(必填)
  • REGION:AWS区域(默认:“ap-southeast-1”)

应使用标准的AWS凭据配置方法(环境变量、IAM角色或AWS凭据文件)配置AWS凭据。

使用Claude Desktop

将以下内容添加到您的 claude_desktop_config.json:

{
  "mcpServers": {
    "aws-ow-s3-mcp": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "BUCKET_NAME",
        "-e",
        "REGION",
        "-e",
        "AWS_ACCESS_KEY_ID",
        "-e",
        "AWS_SECRET_ACCESS_KEY",
        "mcp/aws-ow-s3-mcp"
      ],
      "env": {
        "BUCKET_NAME": "<YOUR_BUCKET_NAME>",
        "REGION": "<AWS_REGION>",
        "AWS_ACCESS_KEY_ID": "<YOUR_ACCESS_KEY>",
        "AWS_SECRET_ACCESS_KEY": "<YOUR_SECRET_KEY>"
      }
    }
  }
}

NPX命令

{
  "mcpServers": {
    "aws-ow-s3-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-aws-ow-s3-mcp"
      ],
      "env": {
        "BUCKET_NAME": "<YOUR_BUCKET_NAME>",
        "REGION": "<AWS_REGION>",
        "AWS_ACCESS_KEY_ID": "<YOUR_ACCESS_KEY>",
        "AWS_SECRET_ACCESS_KEY": "<YOUR_SECRET_KEY>"
      }
    }
  }
}

构建

Docker构建:

docker build -t mcp/aws-ow-s3-mcp-server .

发展

服务器是使用以下方式构建的:

  • Node.js
  • TypeScript
  • @模型上下文协议/sdk
  • @awssdk/client-s3
  • @awssdk/s3请求主持人

许可证

此MCP服务器根据MIT许可证获得许可。这意味着您可以根据MIT许可证的条款和条件自由使用、修改和分发软件。有关更多详细信息,请参阅项目存储库中的LICENSE文件。