AWS Instances MCP Server logo

AWS Instances MCP Server

by codewithdpk

This is a Model Context Protocol (MCP) server that retrieves and lists running AWS EC2 instances for a specified region using the AWS SDK. It allows users to easily access information about their AWS EC2 instances.

View on GitHub

Last updated: N/A

AWS Instances MCP (Model Context Protocol) Server

Overview

This is a Model Context Protocol (MCP) server that retrieves and lists running AWS EC2 instances for a specified region using the AWS SDK.

Prerequisites

  • Node.js (version 18 or later)
  • AWS Account
  • AWS Access Key and Secret Access Key

Setup Instructions

1. Clone the Repository

git clone https://github.com/codewithdpk/aws-mcp-server.git
cd aws-mcp-server

2. Install Dependencies

npm install

3. Configure AWS Credentials

Create a .env file in the project root with your AWS credentials:

AWS_ACCESS_KEY_ID=your_access_key_id
AWS_ACCESS_SECRET_KEY=your_secret_access_key

4. Build the server

To build the server locally:

npm run build

5. Testing your server with Claude for Desktop

Claude for Desktop is not yet available on Linux. Linux users can proceed to the Building a client tutorial to build an MCP client that connects to the server we just built.

First, make sure you have Claude for Desktop installed. You can install the latest version here. If you already have Claude for Desktop, make sure it’s updated to the latest version.

We’ll need to configure Claude for Desktop for whichever MCP servers you want to use. To do this, open your Claude for Desktop App configuration at ~/Library/Application Support/Claude/claude_desktop_config.json in a text editor. Make sure to create the file if it doesn’t exist.

You’ll then add your servers in the mcpServers key. The MCP UI elements will only show up in Claude for Desktop if at least one server is properly configured.

In this case, we’ll add our single weather server like so:

{
    "mcpServers": {
        "aws-mcp-server": {
            "command": "node",
            "args": [
                "/ABSOLUTE/PATH/TO/PARENT/FOLDER/aws-mcp-server/build/index.js"
            ]
        }
    }
}
Troubleshooting
  • Verify AWS credentials have appropriate EC2 read permissions
  • Ensure you have the latest version of Claude Desktop App
  • Check that all dependencies are correctly installed

Features

  • Retrieve running EC2 instances for a specified AWS region
  • Support for multiple availability zones
  • Detailed instance information including:
    • Instance ID
    • Instance Type
    • Public IP
    • Private IP
    • Instance State

Tools

  • get-aws-instances: Retrieves list of running AWS instances for a given region

Example Usage

server.tool("get-aws-instances", {
  region: "ap-south-1"
})

Technologies

  • MCP
  • TypeScript
  • AWS SDK
  • Model Context Protocol (MCP)
  • Zod for type validation