AWS MCP
A natural language interface to manage AWS services like RDS, S3, EC2, and VPC.
🎬 Demo
See it in action! Here's how easy it is to spin up a full-blown EC2 setup — VPC, subnets, security groups, this works — all through natural language prompts to an AI Model Context Protocol (MCP) server.
✨ Features
Currently supports
- RDS
- S3
- EC2
- VPC
- Subnet
- Internet Gateway
- Route Table
- Security Group
- Key Pair
- Instance Tag
- AMI
More AWS services (like Lambda, API Gateway, etc.) coming soon! Contributions welcome 🚀
📋 Prerequisites
For Development:
- Node.js >= 18.0.0
- pnpm >= 10.0.0
For Docker Deployment:
- Docker and Docker Compose
For Both:
- AWS Account with AWS credentials (Access Key ID and Secret Access Key)
⚙️ Developer Setup
1. Clone the repo
git clone https://github.com/lokeswaran-aj/aws-mcp.git
cd aws-mcp
❗️Currently, the server reads credentials from MCP configuration headers. In future versions, we'll support AWS Role ARN.
2. Install dependencies
pnpm install
💡 Make sure you have
pnpminstalled globally. If not:npm install -g pnpm
3. Run the dev server
pnpm dev
🐳 Docker Deployment
Quick Start with Docker
Option 1: Using Docker Compose (Recommended)
docker-compose up -d
Option 2: Using Docker directly
# Build the image
docker build -t aws-mcp .
# Run with port mapping
docker run -d --name aws-mcp-server -p 8080:8080 aws-mcp
The server will be available at:
- MCP HTTP Stream:
http://localhost:8080/mcp - MCP SSE:
http://localhost:8080/sse
Managing Docker Containers
# View logs
docker-compose logs -f
# Stop container
docker-compose down
# Rebuild and restart
docker-compose build --no-cache && docker-compose up -d
# Stop aws-mcp-server and remove container
docker stop aws-mcp-server && docker rm aws-mcp-server
💡 AWS credentials are still passed via HTTP headers (same as development setup). No container configuration needed.
🧪 Example: Cursor Configuration
To use this server with Cursor, add the following to your ~/.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"
}
}
}
}
❗️ Use
http://localhost:8080/mcpif your client supports HTTP streamable(For eg: Cursor). Usehttp://localhost:8080/sseif your client supports only SSE(For eg: Windsurf).
MCP HTTP streamable endpoint: http://localhost:8080/mcp
MCP SSE endpoint: http://localhost:8080/sse
📁 Project Structure
.
├── src/
│ ├── server.ts # AWS MCP server setup - Entry point
│ ├── aws-clients.ts # AWS SDK client setup
│ ├── config/ # App configuration
│ ├── tools/ # Tools definitions
│ │ ├── rds/ # RDS operations
│ │ ├── s3/ # S3 operations
│ │ ├── ec2/ # EC2 operations
│ │ ├── vpc/ # VPC operations
│ │ ├── subnet/ # Subnet operations
│ │ ├── internet-gateway/ # Internet Gateway operations
│ │ ├── route-table/ # Route Table operations
│ │ ├── security-group/ # Security Group operations
│ │ ├── key-pair/ # Key Pair operations
│ │ ├── instance-tag/ # Instance Tag operations
│ │ ├── ami/ # AMI operations
│ ├── schema/ # Tool input schemas
│ ├── types/ # TypeScript definitions
│ └── utils/ # Helper functions
├── package.json # Dependencies and scripts
└── README.md # This file
📌 Roadmap
- Support RDS (Create, List, Update, Delete)
- Add S3 tools
- Add Network tools
- Add EC2 tools
- Add Lambda tools
- Add API Gateway tools
- Add IAM tools
- Add ECS tools
🤝 Contributing
Want to help make AWS infra chat-native? Pull requests, feedback, and feature suggestions are welcome!
- Clone and fork the repo
- Create your feature branch (
git checkout -b feat/add-ec2) - Commit and push
- Open a PR 🙌
📄 License
MIT — do what you want, just give credit where it's due. ✌️
⚡ Powered by
Servidores relacionados
China Weather
Query weather information and meteorological warnings for Chinese cities using the QWeather API.
Free Crypto News
Free crypto news API + MCP - real-time aggregator for Bitcoin, Ethereum, DeFi, Solana & altcoins. No API key required. RSS/Atom feeds, JSON REST API, historical archive with market context, embeddable widgets, ChatGPT plugin, Claude MCP server, SDKs (Python, TypeScript, Go, React, PHP). AI/LLM ready. Vibe coding friendly. Open source.
Alpaca
Interact with the Alpaca trading API for stock trading, market data, and account management.
Gemini Cloud Assist
An MCP Server that connects to Gemini Cloud Assist APIs, enabling you to manage and troubleshoot your Google Cloud environment using natural language.
Amazon Nova Reel 1.1
An MCP server for generating videos using Amazon Nova Reel 1.1 via AWS Bedrock.
K8s MCP Server
A server for Kubernetes CLI tools like kubectl, istioctl, helm, and argocd, supporting multi-cluster management via dynamic kubeconfig.
Remote MCP Proxy
A Docker-based proxy to access local MCP servers through Claude's web UI using the Remote MCP protocol.
Pierre MCP Server
A fitness data platform that aggregates data from providers like Strava and Fitbit, offering secure B2B API access.
ElevenLabs
Text-to-speech integration using the ElevenLabs API.
Remote MCP Server on Cloudflare
A remote MCP server running on Cloudflare Workers with OAuth login support.