S3存储桶列表工具

一个简单的MCP服务器,提供与Amazon S3交互的工具,允许用户列出AWS账户中的所有S3存储桶。

  • by dolimovkhumoyun
  • TypeScript
  • 本地部署
  • 更新于
在 GitHub 查看 dolimovkhumoyun/aws-s3-mcp-server

使用说明

AWS S3 MCP服务器

一个简单的模型上下文协议(MCP)服务器,提供与Amazon S3交互的工具。此服务器允许您列出AWS帐户中的所有S3存储桶。

特性

  • list_s3_buckets:从您的AWS帐户中获取所有S3存储桶及其名称和创建日期

先决条件

  • Node.js 18+
  • TypeScript
  • 已配置AWS凭据(请参阅AWS配置部分)

安装

  1. 克隆或下载此项目
  2. 安装依赖项:
    npm install
    

AWS配置

在使用此MCP服务器之前,您需要配置AWS凭据。您可以通过多种方式做到这一点:

选项1:AWS凭据文件

创建或更新 ~/.aws/credentials:

[default]
aws_access_key_id = YOUR_ACCESS_KEY_ID
aws_secret_access_key = YOUR_SECRET_ACCESS_KEY

选项2:环境变量

export AWS_ACCESS_KEY_ID=your_access_key_id
export AWS_SECRET_ACCESS_KEY=your_secret_access_key
export AWS_REGION=us-east-1  # Optional, defaults to us-east-1

选项3:AWS配置文件

export AWS_PROFILE=your_profile_name

建立和运行

  1. 构建TypeScript代码:

    npm run build
    
  2. 启动服务器:

    npm start
    

    或者用于自动重建的开发:

    npm run dev
    

与MCP客户端一起使用

此服务器通过stdio进行通信,可以与任何兼容MCP的客户端一起使用。服务器提供以下工具:

list_s3_buckets

描述:列出AWS帐户中的所有S3存储桶

输入:不需要参数

输出:JSON对象包含:

  • buckets:桶对象数组 name 和 creationDate
  • total:桶总数
  • message:摘要消息

输出示例:

{
  "buckets": [
    {
      "name": "my-bucket-1",
      "creationDate": "2023-01-15T10:30:00.000Z"
    },
    {
      "name": "my-bucket-2", 
      "creationDate": "2023-02-20T14:45:00.000Z"
    }
  ],
  "total": 2,
  "message": "Found 2 S3 bucket(s)"
}

使用Claude Desktop进行配置

要将此服务器与Claude Desktop一起使用,请将以下内容添加到您的 claude_desktop_config.json:

{
  "mcpServers": {
    "aws-s3": {
      "command": "node",
      "args": ["/path/to/your/aws-s3-mcp-server/dist/index.js"],
      "env": {
        "AWS_REGION": "us-east-1",
        "AWS_REGION": "AWS_REGION",
        "AWS_ACCESS_KEY_ID": "AWS_ACCESS_KEY_ID",
        "AWS_SECRET_ACCESS_KEY": "AWS_SECRET_ACCESS_KEY"
      }
    }
  }
}

安全说明

  • 切勿将AWS凭据提交到版本控制
  • 使用具有最低所需权限的IAM角色
  • 在EC2上运行应用程序时,考虑使用AWS IAM角色
  • 服务器只需要 s3:ListAllMyBuckets list_s3_buckets工具的权限

发展

  • npm run build:将TypeScript编译为JavaScript
  • npm run dev:构建并运行服务器
  • npm run watch:监视更改并自动重建

许可证

MIT许可证