AWS Pricing MCP Server
MCP server for accessing real-time AWS pricing information and providing cost analysis capabilities
Important Note: This server provides real-time pricing data from the AWS Pricing API. We cannot guarantee that AI assistants will always construct filters correctly or identify the absolute cheapest options. All calls are free of charge.
Features
AWS Pricing Discovery & Information
- Service catalog exploration: Discover all AWS services with available pricing information
- Pricing attribute discovery: Identify filterable dimensions (instance types, regions, storage classes, etc.) for any AWS service
- Real-time pricing queries: Access current pricing data with advanced filtering capabilities including multi-option comparisons and pattern matching
- Multi-region pricing comparisons: Compare pricing across different AWS regions in a single query
- Bulk pricing data access: Download complete pricing datasets in CSV/JSON formats for historical analysis and offline processing
Cost Analysis & Planning
- Detailed cost report generation: Create comprehensive cost analysis reports with unit pricing, calculation breakdowns, and usage scenarios
- Infrastructure project analysis: Scan CDK and Terraform projects to automatically identify AWS services and their configurations
- Architecture pattern guidance: Get detailed architecture patterns and cost considerations, especially for Amazon Bedrock services
- Cost optimization recommendations: Receive AWS Well-Architected Framework aligned suggestions for cost optimization
Query pricing data with natural language
- Ask questions about AWS pricing in plain English, no complex query languages required
- Get instant answers from the AWS Pricing API for any AWS service
- Retrieve comprehensive pricing information with flexible filtering options
Prerequisites
- Install
uvfrom Astral or the GitHub README - Install Python using
uv python install 3.10 - Set up AWS credentials with access to AWS services
- You need an AWS account with appropriate permissions
- Configure AWS credentials with
aws configureor environment variables - Ensure your IAM role/user has
pricing:*permissions to access the AWS Pricing API
Installation
| Kiro | Cursor | VS Code |
|---|---|---|
⚡ Using uv
Configure the MCP server in your MCP client configuration (e.g., for Kiro, edit ~/.kiro/settings/mcp.json):
For Linux/MacOS users:
{
"mcpServers": {
"awslabs.aws-pricing-mcp-server": {
"command": "uvx",
"args": [
"awslabs.aws-pricing-mcp-server@latest"
],
"env": {
"FASTMCP_LOG_LEVEL": "ERROR",
"AWS_PROFILE": "default",
"AWS_REGION": "us-east-1"
},
"disabled": false,
"autoApprove": []
}
}
}
For Windows users:
{
"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": "default",
"AWS_REGION": "us-east-1"
},
"disabled": false,
"autoApprove": []
}
}
}
Using Docker
or docker after a successful docker build -t awslabs/aws-pricing-mcp-server .:
# fictitious `.env` file with AWS temporary credentials
AWS_ACCESS_KEY_ID=ASIAIOSFODNN7EXAMPLE
AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
AWS_SESSION_TOKEN=AQoEXAMPLEH4aoAH0gNCAPy...truncated...zrkuWJOgQs8IZZaIv2BXIa2R4Olgk
AWS_REGION=us-east-1
{
"mcpServers": {
"awslabs.aws-pricing-mcp-server": {
"command": "docker",
"args": [
"run",
"--rm",
"--interactive",
"--env",
"FASTMCP_LOG_LEVEL=ERROR",
"--env-file",
"/full/path/to/file/above/.env",
"awslabs/aws-pricing-mcp-server:latest"
],
"env": {},
"disabled": false,
"autoApprove": []
}
}
}
NOTE: Your credentials will need to be kept refreshed from your host
AWS Authentication
The MCP server requires specific AWS permissions and configuration:
Required Permissions
Your AWS IAM role or user must have pricing:* permissions to access the AWS Pricing API. The server only accesses generally available AWS pricing information and does not retrieve any user-specific data. All pricing API calls are free of charge and do not incur any costs.
Configuration
The server uses two key environment variables:
AWS_PROFILE: Specifies the AWS profile to use from your AWS configuration file. If not provided, it defaults to the "default" profile.AWS_REGION: Determines the geographically closest AWS Pricing API endpoint to use. This improves performance by routing requests to the nearest regional endpoint.
"env": {
"AWS_PROFILE": "default",
"AWS_REGION": "us-east-1"
}
Cost report output directory
The generate_cost_report tool can save the generated report to a file via its
output_file parameter. To prevent path-traversal writes outside an intended
location, output_file is confined to a base directory:
AWS_PRICING_MCP_OUTPUT_DIR(optional): The base directory reports may be written to. Defaults to the current working directory of the server process.
Paths are resolved and must stay within this base directory. Absolute paths that
fall outside it, .. traversal segments, and symlinks that escape the base are
all rejected. To allow reports to be written elsewhere, set this variable to the
desired directory:
"env": {
"AWS_PROFILE": "default",
"AWS_REGION": "us-east-1",
"AWS_PRICING_MCP_OUTPUT_DIR": "/path/to/reports"
}
Release files for awslabs.aws-pricing-mcp-server 1.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| awslabs_aws_pricing_mcp_server-1.1.1.tar.gz | 165.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| awslabs_aws_pricing_mcp_server-1.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 231.7 kB
Release files / awslabs_aws_pricing_mcp_server-1.1.1.tar.gz
| Download URL | awslabs_aws_pricing_mcp_server-1.1.1.tar.gz |
|---|---|
| Size | 165.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
da6f0064ddc2cdcb6124b57b72230c7ec7a9fcc16a6bad7c19c38d360e05e955
|
|
BLAKE2b-256 checksum How to use checksums |
abbe43973fd380be80d369d7ff316829bbb0108c960f8a31b46120dec1ead0f0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 8, 2026.
Transparency logRelease files / awslabs_aws_pricing_mcp_server-1.1.1-py3-none-any.whl
| Download URL | awslabs_aws_pricing_mcp_server-1.1.1-py3-none-any.whl |
|---|---|
| Size | 66.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
613446bdf660e8bfa30da985c4a102f62c6ab6f8a459ffe43285311ae059175d
|
|
BLAKE2b-256 checksum How to use checksums |
8c83ade3176e438395fdebe61f0661f3f3b86a378207bf19a1695023831cdece
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 8, 2026.
Transparency log