AWS MCP Server
# AWS MCP: Model Context Protocol on AWS
[](https://github.com/ihatesea69/AWS-MCP)
[](https://github.com/ihatesea69/AWS-MCP/fork)
[](https://github.com/ihatesea69/AWS-MCP/issues)
[](https://nodejs.org/)
[](https://www.typescriptlang.org/)
## Introduction to Model Context Protocol (MCP)
### Getting Started with MCP
MCP (Model Context Protocol) is an open protocol that standardizes how applications provide context to large language models (LLMs). Think of MCP like a USB-C port for AI applications. Just as USB-C provides a standard method for connecting devices to various accessories, MCP provides a standard method for connecting AI models to different data sources and tools.
### Why Use MCP?
MCP enables building complex agents and automated workflows based on LLMs. LLMs often need to integrate with data and tools, and MCP provides:
- **A growing list of ready-to-use integrations** that allow your LLM to connect directly.
- **Flexibility** to switch between LLM providers.
- **Best data security practices** within your infrastructure.
### General Architecture
At its core, MCP follows a client-server architecture where a host application can connect to multiple servers:
- **MCP Hosts**: Programs like Claude Desktop, IDEs, or AI tools that want to access data through MCP.
- **MCP Clients**: Protocol clients that maintain 1:1 connections with servers.
- **MCP Servers**: Lightweight programs, each providing specific capabilities through the Model Context Protocol.
- **Local Data Sources**: Files, databases, and services on your computer that MCP servers can securely access.
- **Remote Services**: External systems available on the Internet (e.g., via APIs) that MCP servers can connect to.
---
## Introduction to AWS MCP
AWS MCP (Model Context Protocol) is a server that enables AI assistants like Claude to interact with AWS environments through natural language. This makes it easy to manage and query AWS resources without using the traditional AWS Console or CLI.
AWS MCP can be considered a powerful alternative to Amazon Q, offering greater flexibility and security.
## Key Features
- **Query and modify AWS resources using natural language**
- **Support for multiple AWS profiles and SSO authentication**
- **Multi-region AWS support**
- **Secure credential management** (credentials are never exposed externally, only used locally)
- **Local execution with your AWS credentials**
## Prerequisites
To use AWS MCP, ensure your environment has:
- **Node.js**
- **Claude Desktop application**
- **Locally configured AWS credentials (AWS Configure)** (stored in `~/.aws/`)
## Installation Guide
### 1. Clone the repository
First, download the source code from GitHub to your computer:
```bash
git clone https://github.com/ihatesea69/AWS-MCP
cd aws-mcp
```
### 2. Install dependencies
You can use `pnpm` or `npm` to install:
```bash
pnpm install
# or
npm install
```
## Configuration and Usage with Claude Desktop
### 1. Configure in Claude Desktop
Open the Claude Desktop application and navigate to:
```
Settings -> Developer -> Edit Config
```
Then add the following entry to the `claude_desktop_config.json` file:
```json
{
"mcpServers": {
"aws": {
"command": "npm", // or pnpm
"args": [
"--silent",
"--prefix",
"/Users/<YOUR USERNAME>/aws-mcp",
"start"
]
}
}
}
```
> Note: Replace `/Users/<YOUR USERNAME>/aws-mcp` with the actual path to your project directory.
### 2. Restart Claude Desktop
Run your project by navigating (cd) to the directory containing index.ts and running the NPM start command.
After editing the configuration, restart the Claude Desktop application. If the installation is correct, you will see a successful connection message with MCP.
### 3. Using AWS MCP in Claude
You can start using it by entering natural language commands such as:
- "List available AWS profiles"
- "List all EC2 instances in my account"
- "Show me S3 buckets with their sizes"
- "What Lambda functions are deployed in us-east-1?"
- "List all ECS clusters and their services"
## Configuration with `nvm`
If you use Node.js through `nvm`, compile from source first and add the following configuration:
```json
{
"mcpServers": {
"aws": {
"command": "/Users/<USERNAME>/.nvm/versions/node/v20.10.0/bin/node",
"args": [
"<WORKSPACE_PATH>/aws-mcp/node_modules/tsx/dist/cli.mjs",
"<WORKSPACE_PATH>/aws-mcp/index.ts",
"--prefix",
"<WORKSPACE_PATH>/aws-mcp",
"start"
]
}
}
}
```
> Note: Replace `<USERNAME>` and `<WORKSPACE_PATH>` with the actual paths on your system.
## Conclusion
AWS MCP is a powerful tool that allows you to manage AWS resources using the Claude AI assistant. With the ability to query and control through natural language, AWS MCP significantly simplifies AWS management. If you are looking for an alternative to Amazon Q, AWS MCP is a worthy consideration!
## Credits
Original source: https://github.com/RafalWilinski/aws-mcp
TDQS
Scored across 3 tools
Each tool has a clearly distinct purpose: list-credentials handles credential enumeration, run-aws-code executes AWS code, and select-profile manages profile selection and authentication. There is no overlap in functionality, making tool selection unambiguous for an agent.
The tools follow a consistent verb-noun pattern with hyphens (list-credentials, run-aws-code, select-profile), which is predictable and readable. The minor deviation is that 'aws-code' includes a hyphenated noun, but this does not break the overall naming convention.
With only 3 tools, the server feels thin for an AWS integration, as it lacks core operations like managing resources (e.g., EC2, S3) or performing common AWS tasks. However, the tools cover basic setup and execution, making it borderline appropriate for a minimal scope.
The tool surface is significantly incomplete for an AWS server, as it only handles credential management and code execution without any tools for interacting with AWS services (e.g., creating instances, uploading files, querying databases). This will likely cause agent failures when attempting broader AWS operations.