aws计算器mcp
用于创建的MCP服务器 AWS定价计算器 通过编程进行估算并获取可共享的链接——无需浏览器自动化。
为AI代理构建,如 Kiro命令行界面、Claude Desktop、Cursor或任何兼容MCP的客户端。
它做什么
通过单个API调用创建AWS定价计算器估计,并返回可共享的, 可编辑的 calculator.aws 任何人都可以打开的链接——不需要AWS帐户。
MCP获取实时AWS定价数据,并使用与官方AWS计算器相同的定价公式自动计算成本,无需手动查找价格。
You: "Create an estimate with Lambda (10M requests, 200ms, 512MB) and S3 (100GB) in us-east-1"
↓
Agent calls configure_service → fetches pricing, calculates costs
Agent calls create_estimate → POST to calculator.aws API
↓
Returns: https://calculator.aws/#/estimate?id=abc123...
Monthly: $14.19 (Lambda: $11.80 + S3: $2.39)一个HTTP调用。没有浏览器。没有身份验证。实时定价。约2秒。
工具
| 工具 | 说明 |
|---|---|
search_services | 按关键字搜索400+AWS服务→ 回报 serviceCode |
get_service_schema | 获取任何服务(包括子服务)的输入字段 |
configure_service | 使用特定参数配置服务→ 使用实时AWS定价自动计算成本 |
create_estimate | 使用服务创建估算→ 返回可共享、可编辑的链接(自动计算成本) |
load_estimate | 从URL加载现有估计值→ 返回完整数据 |
设置
安装
git clone https://github.com/Musheer360/aws-calculator-mcp.git
cd aws-calculator-mcp
npm install使用Kiro CLI进行配置
添加 ~/.kiro/settings/mcp.json:
{
"mcpServers": {
"aws-calculator": {
"command": "node",
"args": ["/path/to/aws-calculator-mcp/index.js"]
}
}
}或者通过CLI:
kiro-cli mcp add --name aws-calculator --command node --args /path/to/aws-calculator-mcp/index.js使用Claude Desktop进行配置
添加到您的Claude桌面配置(~/Library/Application Support/Claude/claude_desktop_config.json 在macOS上):
{
"mcpServers": {
"aws-calculator": {
"command": "node",
"args": ["/path/to/aws-calculator-mcp/index.js"]
}
}
}用法示例
推荐的工作流程(如AWS Calculator网站)
推荐的工作流程反映了AWS Calculator网站的工作原理——一次添加一个服务,配置它们,获取计算出的价格,然后创建估算值:
1. "Search for Lambda" → search_services
2. "Configure Lambda with 10M requests, 200ms duration, 512MB memory" → configure_service
→ Returns: $11.80/month with calculationComponents
3. "Also add S3 Standard with 100GB storage" → configure_service
→ Returns: $2.39/month with calculationComponents
4. "Create the estimate" → create_estimate
→ Returns shareable link with auto-calculated costs使用自动计算的成本创建估算
Create an AWS pricing estimate called "My App" with:
- AWS Lambda in us-east-1: 10M requests/month, 200ms duration, 512MB memory
- S3 Standard in us-east-1: 100GB storage, 10K PUT requests, 100K GET requests代理人将致电 configure_service 对于每项服务,获取计算出的成本,然后 create_estimate 保存并获取可共享的链接。 使用实时AWS定价数据自动计算成本。
加载并检查现有估算
Load this estimate: https://calculator.aws/#/estimate?id=abc123...获取服务配置字段
What input fields does Amazon EC2 have in the pricing calculator?代理人将致电 get_service_schema 随着 serviceCode: "eC2Next" 并返回所有可配置字段。
运作原理
服务器调用calculator.aws的内部REST API(无需身份验证):
| 操作 | 端点 |
|---|---|
| 保存估算 | POST https://dnd5zrqcec4or.cloudfront.net/Prod/v2/saveAs |
| 负荷估算 | GET https://d3knqfixx3sbls.cloudfront.net/{id} |
| 服务定义 | GET https://d1qsjq9pzbk1k6.cloudfront.net/data/{serviceCode}/en_US.json |
| 服务清单 | GET https://d1qsjq9pzbk1k6.cloudfront.net/manifest/en_US.json |
| 定价数据 | GET https://calculator.aws/pricing/2.0/meteredUnitMaps/{service}/USD/current/{service}.json |
定价计算引擎
对于每项服务,服务器:
- 获取服务定义以获取模式、定价公式和默认值
- 从AWS定价API获取实时定价数据
- 构建
calculationComponents从与用户提供的值合并的默认值 - 解决定价组件(计量单位查找、分层定价、单一价格点)
- 执行
mathsSection公式——与AWS Calculator前端使用的计算逻辑相同 - 返回计算出的每月和前期成本
计算引擎支持:
- 基础数学:乘法、加法、减法、除法
- 分级定价:自动层边界计算(例如S3存储层)
- 免费等级扣除:适当的空闲层处理(例如,无Lambda的1M请求+400K GB秒)
- 单位转换:MB↔GB↔每秒存储TB↔每月频率
- 有条件定价:
displayIf特定功能定价的条件(例如,Lambda ARM与x86) - 储蓄计划/定价策略:EC2定价模型选择(实例节省计划、计算节省计划、保留、按需)
可编辑性
在浏览器中打开时,估计值是完全可编辑的。服务器包括:
templateId:告诉计算器显示哪种配置形式(例如,“lambdaWithFreeTier”、“CDN”、“quickEstimate”)calculationComponents:填充编辑表单的所有输入字段值version:匹配服务定义版本以防止过时数据警告
具有多个模板的服务(例如,Lambda“包括免费层”与“没有免费层”,CloudFront“统一费率”与“按需付费”)默认为第一个模板。使用 templateId 参数在 create_estimate 选择一个特定的模板。
局限性
- 内部API:这些是未记录的calculator.aws端点。他们可能会在没有通知的情况下改变。
- 定价准确性:计算引擎处理最常见的定价模式(基本数学、分层定价、单一价格点)。一些复杂的特定于服务的定价模型可能无法完美计算——在这些情况下,成本默认为0美元,可以手动指定。
- 预计到期日:Calculator.aws估计数将在1年后过期。
许可证
麻省理工学院
