内容
# AWS 实例 MCP 服务器
## 概述
这是一个模型上下文协议(MCP)服务器,使用 AWS SDK 为指定区域检索和列出正在运行的 AWS EC2 实例。
## 前置条件
- Node.js(版本 18 或更高)
- AWS 账户
- AWS 访问密钥和秘密访问密钥
## 设置说明
### 1. 克隆仓库
```bash
git clone https://github.com/codewithdpk/aws-mcp-server.git
cd aws-mcp-server
```
### 2. 安装依赖
```bash
npm install
```
### 3. 配置 AWS 凭证
在项目根目录下创建 `.env` 文件,包含您的 AWS 凭证:
```
AWS_ACCESS_KEY_ID=您的访问密钥 ID
AWS_ACCESS_SECRET_KEY=您的秘密访问密钥
```
### 4. 构建服务器
要在本地构建服务器:
```bash
npm run build
```
### 5. 使用 Claude Desktop 测试服务器
Claude Desktop 暂未在 Linux 上提供。Linux 用户可以继续学习构建 MCP 客户端的教程,该客户端可连接到我们刚刚构建的服务器。
首先,确保您已安装 Claude Desktop。您可以从此处安装最新版本。如果您已经安装了 Claude Desktop,请确保它已更新到最新版本。
我们需要为要使用的 MCP 服务器配置 Claude Desktop。 为此,请在文本编辑器中打开 Claude Desktop 应用配置,位于 `~/Library/Application Support/Claude/claude_desktop_config.json`。如果文件不存在,请确保创建它。
然后,您将在 `mcpServers` 键中添加服务器。只有正确配置至少一个服务器,Claude Desktop 中的 MCP UI 元素才会显示。
在这种情况下,我们将添加单个天气服务器,如下所示:
```json
{
"mcpServers": {
"aws-mcp-server": {
"command": "node",
"args": [
"/绝对路径/父文件夹/aws-mcp-server/build/index.js"
]
}
}
}
```
#### 故障排除
- 验证 AWS 凭证是否具有适当的 EC2 读取权限
- 确保您拥有最新版本的 Claude Desktop 应用
- 检查所有依赖项是否正确安装
## 功能
- 为指定 AWS 区域检索正在运行的 EC2 实例
- 支持多个可用区
- 详细的实例信息,包括:
- 实例 ID
- 实例类型
- 公共 IP
- 私有 IP
- 实例状态
## 工具
- `get-aws-instances`:检索给定区域的运行中的 AWS 实例列表
## 示例用法
```typescript
server.tool("get-aws-instances", {
region: "ap-south-1"
})
```
## 技术
- MCP
- TypeScript
- AWS SDK
- 模型上下文协议(MCP)
- Zod 用于类型验证