使用说明
项目简介
AWS MCP Server 是一个开源项目,它实现了 Model Context Protocol (MCP) 服务器,旨在为大型语言模型(LLM)客户端提供访问和操作 Amazon Web Services (AWS) 资源的标准化接口。目前,该服务器主要支持 AWS S3 (对象存储) 和 DynamoDB (NoSQL 数据库) 这两种核心服务。通过预定义的工具,LLM 客户端可以安全、便捷地与 AWS 云服务进行交互,例如创建 S3 存储桶、上传/下载 S3 对象、创建/查询 DynamoDB 表格等。所有操作都会被详细记录在审计日志中,方便用户追踪和管理。
主要功能点
- S3 服务集成: 提供了一系列工具,允许 LLM 客户端执行常见的 S3 操作,包括:
- 创建、列出和删除 S3 存储桶
- 上传、删除和列出 S3 对象
- 读取 S3 对象内容
- DynamoDB 服务集成: 提供全面的 DynamoDB 工具集,支持:
- 表格操作:创建、描述、列出、删除和更新 DynamoDB 表格
- 项目操作:在 DynamoDB 表格中进行项目的 增、删、改、查 (CRUD) 操作,包括单项和批量操作
- TTL (Time To Live) 操作:管理 DynamoDB 表格的 TTL 设置
- PartiQL 批量执行:支持批量执行 PartiQL 语句
- 审计日志: 所有通过该 MCP 服务器执行的 AWS 操作都会被记录在审计日志中,LLM 客户端可以通过读取 'audit://aws-operations' 资源来查看详细的操作历史。
- 标准 MCP 协议: 遵循 Model Context Protocol 规范,确保与兼容 MCP 协议的 LLM 客户端无缝对接。
- Stdio 传输: 使用标准输入/输出 (stdio) 作为默认的通信协议,易于部署和集成。
安装步骤
- 克隆仓库
git clone https://github.com/MCP-Mirror/rishikavikondala_mcp-server-aws.git cd rishikavikondala_mcp-server-aws - 配置 AWS 凭证
该服务器需要 AWS 账户的读写 (RW) 权限才能操作 S3 和 DynamoDB 服务。您可以通过以下两种方式配置 AWS 凭证:
- 环境变量: 设置以下环境变量:
- 'AWS_ACCESS_KEY_ID'
- 'AWS_SECRET_ACCESS_KEY'
- 'AWS_REGION' (默认为 'us-east-1')
- AWS 凭证链: 如果您已经配置了 AWS CLI,可以使用默认的 AWS 凭证链。
- 环境变量: 设置以下环境变量:
- 安装 Python 包
建议使用 'uv' 或 'pip' 包管理器安装项目依赖和自身。在仓库根目录下执行:
或者uv pip install .pip install .
服务器配置
为了让 MCP 客户端(例如 Claude 桌面应用)连接到 AWS MCP Server,您需要在客户端的配置文件中添加服务器配置信息。以 'claude_desktop_config.json' 文件为例,您需要添加 'mcpServers' 配置段,示例如下:
{ "mcpServers": { "mcp-server-aws": { "command": "uv", "args": [ "--directory", "/path/to/repo/mcp-server-aws", "run", "mcp-server-aws" ] } } }
配置参数说明:
- '"mcp-server-aws"': MCP 服务器的名称,您可以自定义,客户端通过此名称引用该服务器。
- '"command": "uv"': 启动服务器的命令。这里假设您使用 'uv' 运行 Python 项目。如果您使用 'pip install .' 安装的包,并且确保 'mcp-server-aws' 命令在您的系统 PATH 环境变量中,您可以将 'command' 简化为 '"mcp-server-aws"'。
- '"args"': 传递给启动命令的参数列表。
- '"--directory"': 指定项目仓库的路径。请将 '/path/to/repo/mcp-server-aws' 替换为您实际的仓库路径。
- '"run"': 使用 'uv run' 命令来运行指定的 Python 包。
- '"mcp-server-aws"': 指定要运行的 Python 包名称。这个名称应该与您项目中的包名称一致 (通常在 'setup.py' 或 'pyproject.toml' 中定义)。
请注意: 您需要根据您的实际环境和安装方式调整 'command' 和 'args' 配置。
基本使用方法
-
启动 MCP 服务器: 根据您在客户端配置文件中设置的 'command' 和 'args',启动 AWS MCP Server。例如,如果使用上面的 'uv' 配置,在终端中执行配置的 'command' 和 'args' 即可。
-
配置 MCP 客户端: 打开您的 MCP 客户端 (例如 Claude 桌面应用),并确保已加载包含 AWS MCP Server 配置的 'claude_desktop_config.json' 文件。
-
使用 LLM 客户端与 AWS 交互: 现在,您可以使用 LLM 客户端通过 AWS MCP Server 提供的工具来操作 AWS S3 和 DynamoDB 服务了。例如,您可以指示 Claude 执行以下操作:
- "创建一个名为 'my-test-bucket' 的 S3 存储桶"
- "列出我所有的 S3 存储桶"
- "在 DynamoDB 中创建一个名为 'my-table' 的表格"
- "查询 'my-table' 表格中的数据"
服务器会将所有操作记录在审计日志中。您可以通过指示 LLM 客户端读取 'audit://aws-operations' 资源来查看审计日志内容。
信息
分类
数据库与文件