A community-driven registry for Claude, Cursor, Windsurf, Cline & more. Not affiliated with Anthropic.
Are you the author? Sign in to claim
MCP server for creating, reading, updating AWS Pricing Calculator estimates through natural language.
Model Context Protocol (MCP) server that programmatically creates, reads, updates AWS Pricing Calculator estimates through natural language.
Prompt:
Create an AWS Pricing Calculator estimate for a common Wordpress environment on AWS (Dev, Quality, Production).
Output:

Requires Node.js®.
git clone https://github.com/aws-samples/sample-aws-pricing-calculator-mcp.git
cd sample-aws-pricing-calculator-mcp
npm install
npm run build
The server communicates over stdio using the MCP protocol — it's designed to be used by MCP-compatible clients (e.g. Claude, Kiro), not called directly via HTTP.
Add to your MCP client config (e.g. ~/.kiro/settings/mcp.json):
Using npm/npx (Also always fetches latest version)
"aws-pricing-calculator-mcp-server" : {
"command" : "npx",
"args" : [ "-y", "sample-aws-pricing-calculator-mcp@latest" ]
}
From local source (after build)
"aws-pricing-calculator-mcp-server": {
"command": "node",
"args": ["/path/to/sample-aws-pricing-calculator-mcp/dist/mcp-server.js"]
}
| Tool | Description |
|---|---|
search_services | Search AWS services by name or key. Supports comma-separated queries. |
get_service_fields | Get input field IDs, types, labels, valid options, and selector values for one or more services. |
create_estimate | Create a new empty estimate. Returns an estimate ID. |
add_service | Add one or more services to an estimate with config values. Supports batch mode. |
export_estimate | Export an estimate to calculator.aws and get a shareable URL. |
import_estimate | Download an existing estimate by URL or ID. Returns JSON (raw) or Markdown. |
get_server_info | Get version and capability information about this MCP server. |
mcp-server.js # Entry point — stdio MCP server
lib/
aws-client.js # AWS manifest loading, service definitions, field extraction, save API
estimate-builder.js # Estimate builder with AWS payload generation and export
ec2.js # EC2 config transformation (agent-friendly -> calculator format)
test/
aws-client.test.js # Tests for AWS client
ec2.test.js # Tests for EC2 transform
estimate-builder.test.js # Tests for estimate builder
integration.test.js # Integration tests
validation.test.js # Config validation tests
npm run build
Produces dist/mcp-server.js — a single-file esbuild bundle (minified, CJS, Node platform).
npm test
┌─────────────────┐ stdio ┌──────────────────────────────────────┐
│ MCP Client │◄──────────────────►│ MCP Server │
│ (Kiro, Claude, │ JSON-RPC over │ │
│ Cursor, etc.) │ stdin/stdout │ mcp-server.js (entry point) │
└─────────────────┘ │ ├── lib/aws-client.js │
│ ├── lib/estimate-builder.js │
│ └── lib/ec2.js │
└──────────┬───────────┬──────────────┘
│ │
HTTPS GET │ │ HTTPS POST
▼ ▼
┌──────────────┐ ┌──────────────────┐
│ CloudFront │ │ AWS Calculator │
│ CDN │ │ Save API │
│ │ │ │
│ • manifest │ │ POST /v2/saveAs │
│ • service │ │ → returns │
│ definitions│ │ shareable URL │
└──────────────┘ └──────────────────┘
On first use, the server fetches the AWS Calculator manifest from CloudFront, which contains all 436+ services with their keys, names, and definition URLs. Service definitions are fetched on demand and cached. The get_service_fields tool parses these definitions to extract input field IDs, types, labels, and valid options into a flat, usable format.
EstimateBuilder holds services and groups in memory. When you add a service via add_service, config is stored as-is using the AWS field IDs. Services can be organized into named groups, and multiple instances of the same service are supported via composite keys (e.g. aWSLambda:Compute).
EC2 uses a custom config transform (lib/ec2.js) that converts agent-friendly fields (instance type, OS, pricing strategy) into the ec2Enhancement format the calculator expects. This includes support for On-Demand, Savings Plans, Reserved Instances, and Spot pricing.
The server supports three AWS partitions:
aws — standard commercial regionsaws-iso — US ISO East/Westaws-iso-b — US ISOB EastWhen export_estimate is called, the builder:
version, serviceCode, and template IDcalculationComponents in the AWS payload formatcalculator.aws URLAWS recalculates the actual costs when someone opens the link.
All optional:
| Variable | Default | Purpose |
|---|---|---|
AWS_MANIFEST_URL | CloudFront manifest URL | AWS service catalog |
AWS_SAVE_URL | CloudFront save URL | Estimate persistence |
get_service_fields.Update estimate to reflect latest pricing.This is sample code intended for educational purposes. You should work with your security and legal teams to meet your organizational security, regulatory, and compliance requirements before deployment.
This MCP server is a local tool provider — it runs as a child process of an MCP client and is not network-accessible. It has no authentication or authorization layer; access control is the responsibility of the MCP client that spawns it.
The server does not handle AWS credentials, customer data, or PII. It processes only pricing configuration parameters (e.g., region, instance type, request counts) provided by the MCP client.
These are the same public, unauthenticated endpoints used by the calculator.aws website. No AWS credentials are transmitted.
<, >, and & characters before inclusion in API payloads, preventing HTML/XML injection in the calculator frontend.See CONTRIBUTING for information on reporting security issues.
| AWS Pricing Calculator MCP (This) | AWS Billing & Cost Management MCP | AWS Pricing MCP | |
|---|---|---|---|
| Purpose | Build shareable cost estimates for new workloads | Analyze historical spend & optimize existing costs | Query real-time pricing data from Price List API |
| Data Source | AWS Pricing Calculator (calculator.aws) | Cost Explorer, Cost Optimization Hub, Compute Optimizer, Savings Plans, Budgets, Storage Lens | AWS Price List Bulk API |
| Output | Shareable calculator.aws URL with full estimate | Natural language cost insights, savings recommendations | Raw pricing data, cost reports (markdown/CSV) |
| Use Case | "What will this new architecture cost?" | "Where am I overspending today?" | "What's the per-unit price of X?" |
| Scope | Forward-looking estimates | Historical & current spend | Current catalog pricing |
| AWS Credentials | Not required (uses public calculator API) | Required (reads your billing data) | Required (pricing:* permissions) |
TL;DR: Use the Pricing Calculator MCP to build estimates for proposals, the Billing & Cost Management MCP to analyze/optimize what you're already spending, and the Pricing MCP for granular unit-price lookups and IaC cost analysis.
This library is licensed under the MIT-0 License. See the LICENSE file.
Before using an MCP Server, you should consider conducting your own independent assessment to ensure that your use would comply with your own specific security and quality control practices and standards, as well as the laws, rules, and regulations that govern you and your content.
A Jetbrains IDE IntelliJ plugin aimed to provide coding agents the ability to leverage intelliJ's indexing of the codeba
Run Claude Code as an MCP server so any agent can delegate coding tasks to it
Browser automation using accessibility snapshots instead of screenshots
0
via CLI