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
pnpm
installed 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/mcp
if your client supports HTTP streamable(For eg: Cursor). Usehttp://localhost:8080/sse
if 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
Related Servers
MCP Doppler Server
Securely access secrets from Doppler's secret management platform using a Doppler API token.
AWS Documentation MCP Server
Access, search, and get recommendations from public AWS documentation.
Tailscale MCP Server
Integrate with Tailscale's CLI and API for automated network management and monitoring.
Kubectl MCP Server
Enables AI assistants to interact with Kubernetes clusters using natural language.
Huawei MCP Server
A Model Context Protocol server built on Huawei Cloud services, providing secure and controlled cloud access for large AI models.
Dokploy
An AI-powered interface for managing the Dokploy infrastructure platform.
Strava MCP Server
Access the Strava API to interact with activities, athlete information, and other Strava data.
Remote MCP Server (Authless)
An example of a remote MCP server deployable on Cloudflare Workers without authentication.
MCP Payment Server
An MCP server for processing payments using stdio transport, configured via environment variables.
MCP-OpenStack-Ops
A comprehensive MCP (Model Context Protocol) server providing OpenStack cluster management and monitoring capabilities with built-in safety controls.