Metadata-Version: 2.4
Name: awslabs.cost-analysis-mcp-server
Version: 0.0.10652
Summary: An AWS Labs Model Context Protocol (MCP) server for Cost Analysis of the AWS services
Requires-Python: >=3.13
Requires-Dist: boto3>=1.36.20
Requires-Dist: bs4>=0.0.2
Requires-Dist: mcp[cli]>=1.6.0
Requires-Dist: pydantic>=2.10.6
Description-Content-Type: text/markdown

# Cost Analysis MCP Server

MCP server for analyzing AWS service costs and generating cost reports

## Features

- **Analyze and visualize AWS costs** - Get detailed breakdown of your AWS costs by service, region and tier
  - Understand how costs are distributed across various services

- **Query cost data with natural language** - Ask questions about your AWS costs in plain English, no complex query languages required
  -  Get instant answers fetched from pricing webpage and AWS Pricing API, for questions related to AWS services

- **Generate cost reports and insights** -  Generate comprehensive cost reports based on your IaC implementation
  - Get cost optimization recommendations

## Prerequisites

1. Install `uv` from [Astral](https://docs.astral.sh/uv/getting-started/installation/) or the [GitHub README](https://github.com/astral-sh/uv#installation)
2. Install Python using `uv python install 3.13`
3. Set up AWS credentials with access to AWS services
   - You need an AWS account with appropriate permissions
   - Configure AWS credentials with `aws configure` or environment variables
   - Ensure your IAM role/user has permissions to access AWS Pricing API

## Installation

Install the MCP server:

Add the server to your MCP client config (e.g. for Amazon Q CLI MCP, `~/.aws/amazonq/mcp.json`):

```json
{
  "mcpServers": {
    "awslabs.cost-analysis-mcp-server": {
      "command": "uvx",
      "args": ["awslabs.cost-analysis-mcp-server@latest"],
      "env": {
        "AWS_PROFILE": "your-aws-profile"  // Optional: specify AWS profile
      },
      "disabled": false,
      "autoApprove": []
    }
  }
}
```

### AWS Authentication

The MCP server uses the AWS profile specified in the `AWS_PROFILE` environment variable. If not provided, it defaults to the "default" profile in your AWS configuration file.

```json
"env": {
  "AWS_PROFILE": "your-aws-profile"  // Specify which AWS profile to use
}
```

Make sure the AWS profile has permissions to access the AWS Pricing API. The MCP server creates a boto3 session using the specified profile to authenticate with AWS services. Your AWS IAM credentials remain on your local machine and are strictly used for accessing AWS services.
