AWS Pricing MCP Server Installation Tutorial

May 9, 2026 · View on GitHub

Back to Tutorials | Home


AWS Pricing MCP Server Installation Tutorial

Tutorial 1 of 7 | ⏱️ Time: 15-20 minutes | 💻 Level: Intermediate

Last Updated: May 2026


🎯 What You'll Learn

  • Install and configure the AWS Pricing MCP server for local use
  • Set up required dependencies (Node.js, AWS CLI, Python, uv)
  • Connect the server to Claude Desktop
  • Query real-time AWS pricing data using natural language
  • Generate cost analysis reports for AWS services

Introduction

This tutorial is designed for everyone who wants to try out Model Context Protocol (MCP) servers, including non-technical users. In this tutorial, MCP servers extend Claude's capabilities by connecting it to external data sources and tools. The AWS Pricing MCP server specifically allows Claude to fetch real-time AWS pricing information and generate cost analysis reports.

We've broken down the installation process into detailed, step-by-step instructions so that anyone can successfully set it up, regardless of their technical background. Each step includes explanations of what you're doing and why, along with troubleshooting tips for common issues.

This first tutorial involves several prerequisites (Python tools, AWS CLI, etc.), but once you complete this setup, installing additional MCP servers will be much simpler since you'll already have the foundational tools configured.

Note: This tutorial is specifically for Windows users and uses PowerShell commands.

See it in action

Once everything is installed, you'll be able to use natural language to get AWS pricing information and cost analysis. Here's a demo of what's possible:

AI for Finops with AWS MCP servers - Demo

Click the image above to watch the demo video

Step 1: Prerequisites

Before installing the MCP server, we need to set up the basic tools and software that it depends on. These prerequisites ensure everything works smoothly during installation.RetryClaude can make mistakes. Please double-check responses.

a. Understanding PowerShell

Why PowerShell? PowerShell is Windows' built-in command-line tool for installing software and running system commands. We need it to install the AWS Pricing MCP server using Node.js package manager.

How to open PowerShell:

  • Press Windows key + X
  • Select "Windows PowerShell" or "Terminal"
  • You'll see a window with white text on blue/black background

b. Install Node.js

What is Node.js? Node.js lets your computer run JavaScript programs outside web browsers. The MCP server is built with Node.js.

Check if installed: In PowerShell, type:

node --version

If not installed:

  • Download from https://nodejs.org (choose LTS version)
  • Run installer with default settings
  • Restart PowerShell and test again

c. Install AWS CLI

What is AWS CLI? AWS CLI is Amazon's command-line tool that lets your computer connect to AWS services. The MCP server needs it to fetch pricing data.

Install AWS CLI:

Verify installation:

aws --version

Configure AWS user: AWS CLI needs a user with proper permissions to access pricing data. You can use your own AWS user or create a dedicated one. For detailed instructions on creating users and configuring access keys, see: https://github.com/OptimNow/finops-mcp-resources/blob/main/governance/security-aws-iam-policies.md

d. Install uv (Python Package Manager)

What is uv? uv is a modern Python package manager from Astral. The AWS Pricing MCP server is Python-based and requires uv.

Install uv:

powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

Verify installation:

uv --version

e. Install Python 3.10+

Install Python using uv:

uv python install 3.10

Verify Python installation:

uv python list

You should see Python 3.10 (or newer) in the list.

f. Install Claude Desktop

Reference the Claude Desktop setup at: https://github.com/OptimNow/finops-mcp-resources/blob/main/clients/claude-desktop.md


Step 2: Configuring the Claude Desktop json

Understanding the config file: The Claude Desktop config JSON file tells Claude which MCP servers to connect to. Each entry specifies a server name and how to run it.

Navigate to MCP configuration:

  • Open Claude Desktop
  • Click your name/profile in bottom-left
  • Select "Settings"
  • Click "Developer" from the left menu
  • Click "Edit Config" button

Step 3: Configure AWS User (Choose One Option)

You will need AWS credentials to access your AWS cost data, for that you have 2 options:

Option 1: Use Your Personal AWS User

Configure with your own credentials: In PowerShell, run

aws configure

Add the access keys that belong to your user.

Add to json config:

{
  "mcpServers": {
    "awslabs.aws-pricing-mcp-server": {
      "command": "uvx",
      "args": [
        "--from",
        "awslabs.aws-pricing-mcp-server@latest",
        "awslabs.aws-pricing-mcp-server.exe"
      ],
      "env": {
        "FASTMCP_LOG_LEVEL": "ERROR",
        "AWS_PROFILE": "<your-aws-user>",
        "AWS_REGION": "us-east-1"
      },
      "disabled": false,
      "autoApprove": []
    }
  }
}

For better security, create a dedicated AWS user instead of using your personal credentials. First, check your current configuration with aws sts get-caller-identity to see which user is currently configured. Then create a new IAM user specifically for MCP operations, attach the mcp policy, generate access keys for this user. For detailed instructions on creating users, creating and attaching the right policy, and configuring access keys, see: AWS Security Privileges Guide

Then configure the dedicated user profile:

aws configure --profile mcp-user

it will ask you to enter the access keys that you have generated for the mcp user.

Update the Claude JSON config to use the dedicated user:

{
  "mcpServers": {
    "awslabs.aws-pricing-mcp-server": {
      "command": "uvx",
      "args": [
         "--from",
         "awslabs.aws-pricing-mcp-server@latest",
         "awslabs.aws-pricing-mcp-server.exe"
      ],
      "env": {
        "FASTMCP_LOG_LEVEL": "ERROR",
        "AWS_PROFILE": "<your finops mcp profile>",
        "AWS_REGION": "us-east-1"
      },
      "disabled": false,
      "autoApprove": []
    }
  }
}

Save and restart:

  • Save the configuration
  • Completely close Claude Desktop
  • Reopen Claude Desktop

Step 4: Verify MCP Server is enabled

  • Open Claude Desktop
  • Click on the 'Search and Tools' button next to the + button in the prompting area
  • Look for "awslabs-aws-pricing-mcp-server" in the list
  • Ensure the toggle is enabled (blue/on position)
  • You can click on it to get more details on the APIs it calls

Step 5: Test the MCP Server

Try these prompts in Claude to verify everything works:

Basic pricing query:

What's the current pricing for EC2 m7g.large instances in us-east-1?

Expected: Detailed pricing of EC2 instance

Regional comparison:

Compare S3 standard storage pricing between us-east-1 and eu-west-1

Expected: Side-by-side pricing comparison for both regions

Service analysis:

Generate a cost report for my AWS amortized costs over the past 30 days, with a breakdown per service and region. Generate an html report with trend analysis and a forecast for the next quarter.

Expected: Comprehensive cost analysis and forecast.

If queries return pricing and cost data, your MCP server is working correctly.


Here’s a diagram of what you’ve just set up — Claude Desktop running locally with the AWS Pricing MCP server, securely connecting to AWS through your IAM profile to fetch real-time pricing data.

flowchart TB
    subgraph User["User's Computer (Windows)"]
        Claude["Claude Desktop"]
        Config["Claude Config JSON"]
        PowerShell["PowerShell (Node.js, AWS CLI, Python, uv)"]
        Profile["AWS Profile (IAM credentials)"]
        MCPExe["AWS Pricing MCP Server (local)"]
    end

    subgraph AWS["AWS Cloud ☁️"]
        API["AWS Pricing API"]
        IAM["IAM User/Role with MCP Policy"]
    end

    Claude -- reads settings --> Config
    Claude -- invokes --> MCPExe
    MCPExe -- requires tools --> PowerShell
    MCPExe -- uses creds --> Profile
    Profile -- authenticates --> IAM
    MCPExe -- fetches data --> API
    API -- returns pricing --> MCPExe
    MCPExe -- sends response --> Claude

    %% style definitions (note the colons)
    classDef orange fill:#FF9900,stroke:#000,color:#fff
    class API,IAM orange