使用说明
项目简介
AWS S3 MCP Server 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在为大型语言模型(LLMs)提供与 Amazon S3 云存储交互的能力。它允许LLM安全、标准地访问和管理S3存储桶和对象,从而扩展LLM的上下文理解和数据处理能力。
主要功能点
- 列出S3存储桶: 允许LLM获取配置中允许访问的S3存储桶列表。
- 列出存储桶中的对象: 允许LLM查看指定S3存储桶内的对象,并支持按前缀过滤。
- 获取对象内容: 允许LLM检索S3存储桶中指定对象的内容,文本文件直接返回文本内容,二进制文件返回Base64编码的摘要信息。
- 安全访问控制: 通过环境变量配置允许访问的S3存储桶,保障数据访问安全。
- 易于集成: 可以通过简单的配置与支持MCP协议的LLM客户端(如Claude Desktop)集成。
安装步骤
- 安装 Node.js: 确保你的系统已安装 Node.js 18 或更高版本。
- 全局安装 'aws-s3-mcp': 打开终端,运行以下命令进行全局安装:
npm install -g aws-s3-mcp - 配置 AWS 凭证和 S3 访问权限:
- 创建一个 '.env' 文件在你的用户根目录或服务器可执行文件所在目录。
- 在 '.env' 文件中配置 AWS 区域、允许访问的 S3 存储桶以及 AWS 访问密钥等信息。例如:
注意: 请将 'YOUR_AWS_ACCESS_KEY_ID' 和 'YOUR_AWS_SECRET_ACCESS_KEY' 替换为你的实际 AWS 凭证。'S3_BUCKETS' 配置允许访问的存储桶名称,用逗号分隔。'AWS_REGION' 设置为你的 S3 存储桶所在的区域。AWS_REGION=us-east-1 S3_BUCKETS=bucket1,bucket2,bucket3 S3_MAX_BUCKETS=5 AWS_ACCESS_KEY_ID=YOUR_AWS_ACCESS_KEY_ID AWS_SECRET_ACCESS_KEY=YOUR_AWS_SECRET_ACCESS_KEY
服务器配置
要将此 MCP 服务器与 MCP 客户端(例如 Claude Desktop)连接,您需要配置客户端以启动并连接到此服务器。以下是 Claude Desktop 客户端的 'claude_desktop_config.json' 配置文件示例,展示了如何配置 'aws-s3-mcp' 服务器:
{ "mcpServers": { "s3": { "command": "aws-s3-mcp", "args": [], "env": { "AWS_REGION": "us-east-1", "S3_BUCKETS": "bucket1,bucket2,bucket3", "S3_MAX_BUCKETS": "5", "AWS_ACCESS_KEY_ID": "YOUR_AWS_ACCESS_KEY_ID", "AWS_SECRET_ACCESS_KEY": "YOUR_AWS_SECRET_ACCESS_KEY" } } } }
配置参数说明:
- '"s3"': 服务器名称,客户端用此名称引用该服务器。
- '"command": "aws-s3-mcp"': 启动 MCP 服务器的命令。假设 'aws-s3-mcp' 已全局安装,可以直接使用此命令。
- '"args": []': 传递给启动命令的参数,本例中无需额外参数。
- '"env": { ... }': 服务器运行所需的环境变量。
- '"AWS_REGION"': AWS 区域,例如 '"us-east-1"'。
- '"S3_BUCKETS"': 允许访问的 S3 存储桶列表,用逗号分隔,例如 '"bucket1,bucket2,bucket3"'。
- '"S3_MAX_BUCKETS"': 列出存储桶时返回的最大数量,例如 '"5"'。
- '"AWS_ACCESS_KEY_ID"': AWS 访问密钥 ID,用于身份验证。请替换为您的实际密钥。
- '"AWS_SECRET_ACCESS_KEY"': AWS 秘密访问密钥,用于身份验证。请替换为您的实际密钥。
重要提示: 请务必将 'YOUR_AWS_ACCESS_KEY_ID' 和 'YOUR_AWS_SECRET_ACCESS_KEY' 替换为您的真实 AWS 凭证,并将 'S3_BUCKETS' 和 'AWS_REGION' 配置为您的实际 S3 环境信息。
基本使用方法
-
启动服务器: 安装并配置完成后,在终端中运行 'aws-s3-mcp' 命令即可启动 MCP 服务器。
-
连接客户端: 配置您的 MCP 客户端(例如 Claude Desktop)连接到该服务器。
-
通过客户端与 S3 交互: 在客户端中,您可以使用自然语言指令指示 LLM 使用 S3 MCP 服务器的功能。例如,在 Claude 中,您可以提问:
- "列出我的 S3 存储桶"
- "显示我的图片存储桶中的内容"
- "获取我的文档存储桶中的 README.txt 文件"
LLM 将调用相应的 MCP 工具来执行您的请求,并将结果返回给您。
信息
分类
数据库与文件