Fast, up-to-date EC2 pricing via a pre-parsed catalogue.
Visit ProjectAWS EC2 Pricing MCP Server is a tool that provides fast, real-time EC2 pricing data via a pre-parsed AWS pricing catalogue, allowing automation scripts and LLMs to query AWS instance pricing with a single call. It helps answer questions like finding the cheapest instance with specific RAM, looking up CPU speeds for AMD instances, checking discounts for reserved instances, or comparing costs for Windows with SQL Server Enterprise instances.
mcp_config.json
with the command to run the container.server.py
and configure a mcp_config.json
file to run the script.--network none
) for privacy.How often is the pricing data updated?
The data is refreshed based on AWS catalogue updates. Rebuilding the image with
BUILD_DATE
ensures fresh data.
Can this be deployed on-premise?
Yes, both Docker and local Python modes support private deployment.
Does this track historical pricing?
No, it only includes current pricing. For history, download past catalogues manually.
The AWS EC2 Pricing MCP Server lets any LLM or automation script query real-time EC2 pricing with one call. Powered by a pre-parsed AWS pricing catalogue, it answers questions such as
What is the cheapest EC2 instance with 32GB RAM?
Which AMD instances have more than 3.5 Ghz CPUs?
What is the 3-yr All Upfront discount on r6g family in eu-west-1?
What is the cheapest instance to run Windows with SQL Server Enterprise?
Use this mcp_config.json for Docker hub image:
{
"mcpServers": {
"AWS EC2 Pricing MCP": {
"command": "docker",
"args": ["run", "--rm", "-i", "-q", "--network", "none", "ai1st/aws-pricing-mcp"]
}
}
}
--rm
flag removes the container when it exits.-i
flag enables interactive mode for stdio communication.-q
flag suppresses the docker messages about downloading the image.--network none
totally disconnects the container from the network to guarantee no data exfiltration.Build the image:
docker build -t aws-pricing-mcp . --build-arg BUILD_DATE=$(date +%Y-%m-%d)
This will download the pricing data and build the image. The BUILD_DATE parameter ensures the fresh pricing data is downloaded during build.
Sample mcp_config.json for a locally built image:
{
"mcpServers": { "AWS EC2 Pricing MCP": {
"command": "docker",
"args": ["run", "--rm", "-i", "--network", "none", "aws-pricing-mcp"]
}
}
}
--rm
flag removes the container when it exits.-i
flag enables interactive mode for stdio communication.--network none
totally disconnects the container from the network to guarantee no data exfiltration.You'll need to download the pricing data first:
curl https://cloudfix-public-aws-pricing.s3.us-east-1.amazonaws.com/pricing/ec2_pricing.json.gz | gunzip > ec2_pricing.json
It should be in the same directory as server.py.
Sample mcp_config.json for local Python:
{
"mcpServers": { "AWS EC2 Pricing MCP": {
"command": "python",
"args": [
"/path/to/server.py"
]
}
}
}
For instructions on building and publishing the Docker image, see BUILD.md.
See PRICING.md.