小贴士:按下Ctrl+D 或 ⌘+D,一键收藏本站,方便下次快速访问!
0
最近更新:4个月前

集成AWS S3以实现存储桶列表与管理功能,便于需要文件组织或内容分发的应用程序执行云存储操作。

s3-tools MCP 服务器

一个提供与 AWS S3 存储桶交互工具的 MCP 服务器。该服务器通过模型上下文协议(Model Context Protocol)实现对 S3 存储桶操作的直接访问。

功能

工具

服务器当前实现了以下工具:

  • list-s3-buckets:列出 AWS 账户中的所有 S3 存储桶
    • 可选参数 region 用于指定 AWS 区域
    • 返回格式化的存储桶名称列表

先决条件

  • Python 3.13 或更高版本
  • 配置好的 AWS 凭据(参见AWS 凭据设置
  • uv 包管理器

安装

通过 PyPI 安装

bash 复制代码
uvx install s3-tools

从源码安装

  1. 克隆仓库
  2. 使用 uv 安装:
bash 复制代码
uv pip install .

AWS 凭据设置

该服务器需要 AWS 凭据来访问您的 S3 存储桶。您可以通过以下几种方式配置凭据:

  1. AWS CLI 配置(推荐)

    bash 复制代码
    aws configure

    这将在 ~/.aws/credentials 中创建/更新凭据

  2. 环境变量

    bash 复制代码
    export AWS_ACCESS_KEY_ID="您的访问密钥"
    export AWS_SECRET_ACCESS_KEY="您的密钥"
    export AWS_DEFAULT_REGION="首选区域"  # 可选
  3. IAM 角色(如果在 AWS 基础设施上运行)

有关 AWS 凭据的更多信息,请参阅AWS 文档

配置

Claude Desktop

将服务器配置添加到您的 Claude Desktop 配置文件中:

MacOS~/Library/Application Support/Claude/claude_desktop_config.json
Windows%APPDATA%/Claude/claude_desktop_config.json

json 复制代码
{
  "mcpServers": {
    "s3-tools": {
      "command": "uvx",
      "args": ["s3-tools"]
    }
  }
}

开发配置

对于开发/测试,您可以直接从源代码运行服务器:

json 复制代码
{
  "mcpServers": {
    "s3-tools": {
      "command": "uv",
      "args": [
        "--directory",
        "/path/to/s3-tools",
        "run",
        "s3-tools"
      ]
    }
  }
}

开发

构建

  1. 同步依赖:
bash 复制代码
uv sync
  1. 构建包:
bash 复制代码
uv build

发布

发布到 PyPI:

bash 复制代码
uv publish

注意:您需要通过以下方式配置 PyPI 凭据:

  • Token:--tokenUV_PUBLISH_TOKEN
  • 或者用户名/密码:--username/UV_PUBLISH_USERNAME--password/UV_PUBLISH_PASSWORD

调试

由于 MCP 服务器通过 stdio 进行通信,调试可能具有挑战性。我们推荐使用MCP Inspector进行开发:

bash 复制代码
npx @modelcontextprotocol/inspector uv run s3-tools

许可证

MIT

贡献

欢迎贡献!请随时提交 Pull Request。