使用说明
项目简介
本项目 '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 文件的内容。
安装步骤
- 确保已安装 Python 3.8 或更高版本。
- 安装必要的 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 角色。
基本使用方法
- 配置 AWS 凭证和区域信息: 按照上述 环境变量配置 部分,在 '.env' 文件中设置您的 AWS 凭证和区域信息。
- 启动 MCP 服务器: 在终端或命令提示符中,导航到 'src' 目录的上一级目录(即包含 'src' 目录的仓库根目录),然后运行以下命令启动服务器:
服务器默认使用 'stdio' 传输协议。python src/main.py - 在 MCP 客户端中配置服务器连接: 根据您的 MCP 客户端(例如 Cursor.ai)的文档,配置 'mcpServers' 部分,填入上述 服务器配置 中生成的 JSON 配置信息。确保 'command' 和 'args' 中的路径正确指向您本地的 'main.py' 文件。
- 使用 LLM 客户端调用工具: 连接成功后,您就可以在 LLM 客户端中使用预定义的工具来与 AWS S3 交互了。例如,您可以指示 LLM 调用 'getAvailableBuckets' 工具来获取存储桶列表,或调用 'getCsvObjects' 工具来查找 CSV 文件。具体的工具调用方式取决于您的 MCP 客户端的功能和界面。
信息
分类
数据库与文件