使用说明

项目简介

本项目 'AWS S3 Bucket Utility MCP Server' 是一个基于 Model Context Protocol (MCP) 构建的服务器应用,旨在为大型语言模型 (LLM) 客户端提供访问和操作 AWS S3 云存储服务的标准化接口。通过此服务器,LLM 可以安全、便捷地列出 S3 存储桶、检索存储对象(包括CSV文件)以及读取CSV文件内容,从而扩展 LLM 在数据处理和分析方面的能力。

主要功能点

  • 列出可用S3存储桶:允许 LLM 获取用户可访问的 S3 存储桶列表。
  • 获取存储桶对象:支持 LLM 获取指定或所有存储桶中的对象列表。
  • 筛选CSV文件:能够让 LLM 仅检索和操作存储桶中的 CSV 文件。
  • 读取CSV文件内容:允许 LLM 读取指定 S3 存储桶中 CSV 文件的内容。

安装步骤

  1. 确保已安装 Python 3.8 或更高版本。
  2. 安装必要的 Python 包: 打开终端或命令提示符,运行以下命令安装项目依赖:
    pip install aioboto3 mcp[cli] python-dotenv
    • 'aioboto3': 用于异步 AWS S3 客户端操作。
    • 'mcp[cli]': MCP 服务器框架及其命令行工具。
    • 'python-dotenv': 用于从 .env 文件加载环境变量。

服务器配置

为了让 MCP 客户端(例如 Cursor.ai)连接到此 MCP 服务器,您需要配置客户端的 'mcpServers' 部分。以下是一个示例配置,您需要根据实际情况进行调整。

{
  "mcpServers": {
    "AWS-S3-AccessTool": {
      "command": "python",
      "args": ["/path/to/your/aws-s3-bucket-utility-mcp/src/main.py"]
    }
  }
}

配置参数说明:

  • '"AWS-S3-AccessTool"': MCP 服务器的名称,客户端用此名称来引用该服务器。您可以自定义名称。
  • '"command": "python"': 启动服务器的命令,这里使用 'python' 解释器。
  • '"args": ["/path/to/your/aws-s3-bucket-utility-mcp/src/main.py"]': 传递给 'python' 命令的参数,指定 'main.py' 脚本的绝对路径。请务必将 '/path/to/your/aws-s3-bucket-utility-mcp/src/main.py' 替换为 'main.py' 文件在您本地文件系统中的实际绝对路径。

环境变量配置:

此 MCP 服务器依赖于以下环境变量进行 AWS 身份验证和配置。您需要在项目根目录下创建 '.env' 文件,并填入以下信息,替换为您自己的 AWS 凭证和区域:

AWS_ACCESS_KEY_ID=your_access_key_id
AWS_SECRET_ACCESS_KEY=your_secret_access_key
AWS_REGION=your_aws_region
S3_BUCKETS=bucket1,bucket2  # (可选) 限制访问的存储桶列表,多个桶名用逗号分隔
  • 'AWS_ACCESS_KEY_ID': 您的 AWS 访问密钥 ID。
  • 'AWS_SECRET_ACCESS_KEY': 您的 AWS 秘密访问密钥。
  • 'AWS_REGION': 您的 AWS 区域,例如 'us-west-2'。
  • 'S3_BUCKETS' (可选): 如果您只想允许 LLM 访问特定的 S3 存储桶,可以在这里列出桶名,用逗号分隔。如果不设置此项,LLM 将可以访问您 AWS 账户下所有可访问的存储桶。

请注意: 妥善保管您的 AWS 凭证,避免泄露。在生产环境中,建议使用更安全的凭证管理方式,例如 AWS IAM 角色。

基本使用方法

  1. 配置 AWS 凭证和区域信息: 按照上述 环境变量配置 部分,在 '.env' 文件中设置您的 AWS 凭证和区域信息。
  2. 启动 MCP 服务器: 在终端或命令提示符中,导航到 'src' 目录的上一级目录(即包含 'src' 目录的仓库根目录),然后运行以下命令启动服务器:
    python src/main.py
    服务器默认使用 'stdio' 传输协议。
  3. 在 MCP 客户端中配置服务器连接: 根据您的 MCP 客户端(例如 Cursor.ai)的文档,配置 'mcpServers' 部分,填入上述 服务器配置 中生成的 JSON 配置信息。确保 'command' 和 'args' 中的路径正确指向您本地的 'main.py' 文件。
  4. 使用 LLM 客户端调用工具: 连接成功后,您就可以在 LLM 客户端中使用预定义的工具来与 AWS S3 交互了。例如,您可以指示 LLM 调用 'getAvailableBuckets' 工具来获取存储桶列表,或调用 'getCsvObjects' 工具来查找 CSV 文件。具体的工具调用方式取决于您的 MCP 客户端的功能和界面。

信息

分类

数据库与文件