返回市场
aws-mcp

aws-mcp

作者:lokeswaran-aj27 星标更新:2025-06-16

项目介绍

<div align="center"> <img src="assets/banner.svg" width="1200" alt="演示"/> </div>

🎬 演示

观看演示!通过自然语言提示到AI模型上下文协议(MCP)服务器,轻松设置完整的EC2环境——VPC、子网、安全组等。

<div align="center" style="margin-top:20px;margin-bottom:20px;"> <img src="assets/demo.gif" width="1200" alt="演示"/> </div>

✨ 功能

当前支持

  1. RDS
  2. S3
  3. EC2
  4. VPC
  5. 子网
  6. 互联网网关
  7. 路由表
  8. 安全组
  9. 密钥对
  10. 实例标签
  11. AMI

更多AWS服务(如Lambda、API网关等)即将推出!欢迎贡献 🚀


📋 先决条件

开发:

  • Node.js >= 18.0.0
  • pnpm >= 10.0.0

Docker部署:

  • DockerDocker Compose

两者都需要:

  • 带有AWS凭证(访问密钥ID和秘密访问密钥)的AWS账户

⚙️ 开发者设置

1. 克隆仓库

git clone https://github.com/lokeswaran-aj/aws-mcp.git
cd aws-mcp

❗️目前,服务器从MCP配置头中读取凭证。未来版本将支持AWS角色ARN。

2. 安装依赖

pnpm install

💡 确保全局安装了pnpm。如果没有:

npm install -g pnpm

3. 运行开发服务器

pnpm dev

🐳 Docker部署

使用Docker快速启动

选项1:使用Docker Compose(推荐)

docker-compose up -d

选项2:直接使用Docker

# 构建镜像
docker build -t aws-mcp .

# 使用端口映射运行
docker run -d --name aws-mcp-server -p 8080:8080 aws-mcp

服务器将在以下地址可用:

  • MCP HTTP流:http://localhost:8080/mcp
  • MCP SSE:http://localhost:8080/sse

管理Docker容器

# 查看日志
docker-compose logs -f

# 停止容器
docker-compose down

# 重建并重启
docker-compose build --no-cache && docker-compose up -d

# 停止aws-mcp-server并删除容器
docker stop aws-mcp-server && docker rm aws-mcp-server

💡 AWS凭证仍然通过HTTP头传递(与开发设置相同)。无需容器配置。


🧪 示例:Cursor配置

要使用此服务器与Cursor,在您的~/.cursor/mcp.json中添加以下内容:

{
  "mcpServers": {
    "aws": {
      "serverUrl": "http://localhost:8080/mcp",
      "headers": {
        "AWS_ACCESS_KEY_ID": "YOUR_AWS_ACCESS_KEY_ID",
        "AWS_SECRET_ACCESS_KEY": "YOUR_AWS_SECRET_ACCESS_KEY",
        "AWS_SESSION_TOKEN": "YOUR_AWS_SESSION_TOKEN"
      }
    }
  }
}

❗️ 如果客户端支持HTTP流式传输(例如Cursor),请使用http://localhost:8080/mcp。如果客户端仅支持SSE(例如Windsurf),请使用http://localhost:8080/sse

MCP HTTP流式传输端点:http://localhost:8080/mcp

MCP SSE端点:http://localhost:8080/sse


📁 项目结构

.
├── src/
│   ├── server.ts             # AWS MCP服务器设置 - 入口点
│   ├── aws-clients.ts        # AWS SDK客户端设置
│   ├── config/               # 应用配置
│   ├── tools/                # 工具定义
│   │   ├── rds/              # RDS操作
│   │   ├── s3/               # S3操作
│   │   ├── ec2/              # EC2操作
│   │   ├── vpc/              # VPC操作
│   │   ├── subnet/           # 子网操作
│   │   ├── internet-gateway/ # 互联网网关操作
│   │   ├── route-table/      # 路由表操作
│   │   ├── security-group/   # 安全组操作
│   │   ├── key-pair/         # 密钥对操作
│   │   ├── instance-tag/     # 实例标签操作
│   │   ├── ami/              # AMI操作
│   ├── schema/               # 工具输入模式
│   ├── types/                # TypeScript定义
│   └── utils/                # 辅助函数
├── package.json              # 依赖项和脚本
└── README.md                 # 此文件

📌 发展路线图

  • 支持RDS(创建、列出、更新、删除)
  • 添加S3工具
  • 添加网络工具
  • 添加EC2工具
  • 添加Lambda工具
  • 添加API网关工具
  • 添加IAM工具
  • 添加ECS工具

🤝 贡献

想要帮助使AWS基础设施聊天原生化? 欢迎提交拉取请求、反馈和功能建议!

  • 克隆并分叉仓库
  • 创建功能分支(git checkout -b feat/add-ec2
  • 提交并推送
  • 打开PR 🙌

📄 许可证

MIT — 随意使用,但请注明出处。✌️


⚡ 由以下提供支持