关于 cloudcostwise
cloudcostwise 是本地命令行工具和 MCP 服务,使用只读凭证检查 AWS 资源中的潜在浪费。扫描在本机运行,AWS API 请求只发送到用户自己的账户。
主要功能
- 01只读 AWS 浪费扫描
- 02覆盖 20 项 AWS 服务检查
- 03扫描指定区域或所有区域
- 04表格、Markdown 和 JSON 输出
- 05发现项说明与修复指引
适用场景
- 01检查 AWS 资源中的可避免月度成本
- 02扫描多个 AWS 区域以查找浪费
- 03将发现项发送给连接的 MCP 助手
MCP 相关
`cloudcostwise mcp` 可将扫描器作为 stdio MCP 服务运行,提供只读扫描、发现项列表、说明和修复指引工具。修复建议以文本返回,不会执行。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
4收录的工具列表 · 更新于 1 天前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| profile | any | 否 | |
| regions | any | 否 | |
| include_cost_explorer | boolean | 否 |
详细介绍
cloudcostwise
通过终端或 AI 助手查找 AWS 资源浪费。cloudcostwise 在你自己的机器上运行 CloudWise 的免费浪费检查,并使用你自己的只读 AWS 凭证。
- 不会向 CloudWise 发送任何数据。 唯一的网络请求是你账户中的 AWS API 调用。无需注册,无需为第三方创建 IAM 角色,也没有遥测数据。通过 AI 助手(MCP)使用时,发现结果会像任何工具输出一样发送给该助手。
- 它无法更改任何内容。 所有 AWS 调用都会通过一个防护机制,该机制会拒绝任何不是
Describe、List、Get、Search或Lookup的操作,无论你的凭证允许什么操作。 - 覆盖 CloudWise 46 项服务检查中的 20 项:EC2、Lambda、SageMaker、WorkSpaces、Lightsail、EBS、S3、EFS、ECR、RDS、DynamoDB、ElastiCache、弹性 IP、NAT 网关和负载均衡器、VPC 端点、悬空 DNS 记录、CloudWatch 日志和控制面板、安全状况、RI/Savings Plans 优化机会,以及 Compute Optimizer。
安装和运行
pipx install cloudcostwise # or: uvx cloudcostwise scan
cloudcostwise scan # us-east-1 plus your profile's region
cloudcostwise scan --profile prod --regions all
cloudcostwise scan --format json > waste.json
选项:
| 选项 | 含义 |
|---|---|
--profile NAME | AWS 配置文件;否则使用标准凭证链(环境变量、SSO、实例角色) |
--regions LIST | 逗号分隔的区域列表,或使用 all 表示所有已启用区域。账户级检查(Cost Explorer、Route 53)只在 us-east-1 运行一次 |
--format table|markdown|json | 输出格式 |
--no-cost-explorer | 不调用 Cost Explorer。AWS 对每次请求收费 $0.01,每次扫描约发出 19 次请求。跳过 RI/Savings Plans 检查;扩展支持附加费将改用估算值 |
--parallel N | 同时扫描的区域数,每个区域在单独的进程中运行(默认为 4;使用 --regions all 时约需 2–3 分钟,而不是约 10 分钟) |
--verbose | 显示数据警告(无法读取某项指标的检查会将其报告为缺失,而不会报告为零) |
AWS 的免费工具无法标记的问题
此工具包含 50 项经过验证的检查(在 VALIDATION.md 中达到 L2 或更高等级:每项检查都能在专门构建来触发它的真实 AWS 资源上触发,并且不会在健康的对照资源上触发)。其中 18 项能标记 AWS 自有工具均未标记的浪费,另有 9 项比最接近的 AWS 检查覆盖得更深入。判断依据是 AWS 对其工具覆盖范围的说明(Trusted Advisor、Cost Optimization Hub、Compute Optimizer;检查日期:2026-10-11)。
| 检查项 | 检查内容 | 最接近的 AWS 检查项 |
|---|---|---|
ami_orphaned_snapshot | 已注销 AMI 遗留下来的 EBS 快照 | 无 |
classic_lb_migration | 如果改用 ALB 或 NLB,成本会更低的 Classic Load Balancer | 无 |
elasticache_data_tiering_opportunity | 使用 r6g/r7g 节点的 Redis OSS 或 Valkey 复制组;改用数据分层型 r6gd 节点可降低成本 | 无 |
elasticache_engine_migration | 改用 Valkey 后成本可降低约 20% 的 Redis OSS 或 Memcached 集群 | 无 |
elasticache_extended_support_cost | 因引擎版本而被收取 Extended Support 附加费的 ElastiCache | 无 |
idle_lightsail | 已停止或闲置,但仍按套餐价格计费的 Lightsail 实例 | 无 |
lambda_arm64_migration | 改用 arm64(Graviton)后成本可降低约 20% 的 Lambda 函数 | 无 |
lambda_provisioned_concurrency_idle | 已付费但几乎未使用的 Lambda 预置并发 | 无 |
lightsail_idle_load_balancer | 闲置的 Lightsail 负载均衡器 | 无 |
lightsail_unattached_disk | 未连接到任何实例的 Lightsail 磁盘 | 无 |
lightsail_unattached_static_ip | 未连接到任何实例的 Lightsail 静态 IP | 无 |
low_traffic_alb | 几乎没有流量的 Application Load Balancer | 无 |
multiple_eips_per_instance | 单个实例上多余的 Elastic IP,每个都按公共 IPv4 地址计费 | 无 |
no_lifecycle_efs | 未设置低频访问或归档分层的大型 EFS 文件系统 | 无 |
orphaned_ebs_snapshot | 源卷已不存在的 EBS 快照 | 无 |
previous_gen_sagemaker_instance | 使用上一代实例、且已有更便宜当前代实例可用的 SageMaker 实例 | 无 |
s3_empty_bucket | 闲置 30 天以上的空 S3 存储桶 | 无 |
stopped_sagemaker_notebook_storage | 已停止但其 ML 存储卷仍持续计费的 SageMaker 笔记本实例 | 无 |
excessive_retention_log_group | 保留一年或更久数据且需为存储付费的日志组 | Amazon CloudWatch Log Group Retention Period:Trusted Advisor 会检查日志组的保留期,但会将短于最低期限(默认 365 天)的保留期标记出来以满足合规要求,因此较长且成本高昂的保留期不会被标记。 |
idle_efs | 没有挂载目标的 EFS 文件系统:无法读取其中的数据,但仍会产生费用 | Amazon EFS no mount target redundancy:Trusted Advisor 会检查 EFS 挂载目标是否具备多可用区冗余,不会检查完全没有挂载目标的文件系统;此外,EFS 也不在 Compute Optimizer 或 Cost Optimization Hub 覆盖的资源范围内。 |
idle_load_balancer | 闲置的 Application Load Balancer 和 Network Load Balancer | Idle Load Balancers:Trusted Advisor 只会标记闲置的 Classic Load Balancer(需 Business Support+ 或更高级别);其文档说明不包括 Application Load Balancer 和 Network Load Balancer。 |
incomplete_multipart | 未完成的 S3 分段上传,其已存储的分段仍在计费 | Amazon S3 Incomplete Multipart Upload Abort Configuration:Trusted Advisor 会标记生命周期配置中缺少在 7 天后中止未完成分段上传规则的存储桶;不会查找已存储且正在计费的未完成上传。 |
lambda_excessive_timeout | Lambda 超时设置远高于函数实际所需时长 | AWS Lambda functions with excessive timeouts:Trusted Advisor 会标记超时调用占比超过 10% 的函数;不会标记配置的超时时间远高于函数实际运行时长的函数。 |
no_retention_log_group | 设置为永不过期、因此每月都会持续增长的日志组 | Amazon CloudWatch Log Group Retention Period:Trusted Advisor 会检查日志组的保留期,但只会标记低于最低期限的保留期,因此设置为永不过期的日志组不会被标记。 |
old_ecr_images | 仍在产生存储费用的旧 ECR 镜像 | Amazon ECR Repository without lifecycle policy configured:Trusted Advisor 会检查 ECR 存储库是否配置了生命周期策略;不会标记已存储的旧镜像。 |
oversized_sagemaker_endpoint | 使用超出实际需求的大型实例提供流量服务的 SageMaker 端点 | SageMaker 端点闲置建议:Compute Optimizer 会标记 14 天内调用次数为零的 SageMaker 端点,但不会为使用过大型实例提供流量服务的端点提供规格调整建议。 |
untagged_ecr_images | 仍在产生存储费用的未标记 ECR 镜像 | Amazon ECR Repository without lifecycle policy configured:Trusted Advisor 会检查 ECR 存储库是否配置了生命周期策略;不会标记已存储的未标记镜像。 |
| 对于闲置的 EC2、RDS 和 NAT 网关、资源规格优化以及 Savings Plans,AWS 的工具覆盖范围相同:也请使用它们。Trusted Advisor 的成本检查需要 Business、Enterprise 或 Unified Operations 支持计划;Cost Optimization Hub 和 Compute Optimizer 免费。 |
托管版 CloudWise 产品还提供 22 项经过验证的额外检查,涵盖 AWS Backup、AppSync、CloudFront、Elastic Beanstalk、FSx、Glue、KMS、Kinesis、Route 53、Step Functions,这些检查都不会被 AWS 的任何工具标记出来。
以下摘录自我们测试账户的一次实际扫描(cloudcostwise 0.1.15,us-east-1,2026-10-27)。 其中的资源都刻意设置得很小,因此金额只有几美分:
no_retention_log_group x6 $0.06/mo
us-east-1 /aws/lambda/cwfx-clo464-docdb-connect $0.01/mo
us-east-1 /aws/lambda/cwfx-ec-hold-driver $0.01/mo
us-east-1 /aws/sagemaker/Endpoints/cwfx-w8b-ep-big $0.01/mo
us-east-1 /aws/sagemaker/Endpoints/cwfx-w8b-ep-big-control $0.01/mo
us-east-1 /aws/sagemaker/Endpoints/cwfx-w8b-ep-idle $0.01/mo
us-east-1 /aws/sagemaker/Endpoints/cwfx-w8b-ep-idle-control $0.01/mo
old_ecr_images x1 $0.06/mo
us-east-1 cwfx-old-ecr-images $0.06/mo
untagged_ecr_images x1 $0.02/mo
us-east-1 cwfx-untagged-ecr-images $0.02/mo
idle_efs x1 $0.01/mo
us-east-1 fs-090bfb32bd49de8b7 $0.01/mo
在 Claude Code、Codex 或任何 MCP 客户端中使用
cloudcostwise mcp 会以 MCP 服务(stdio)的形式运行同一项扫描。然后向你的
助手提问:“我在哪些地方浪费了 AWS 费用?”
插件和注册表条目会使用 uvx 启动服务,因此请先安装
uv(运行 brew install uv 或 pipx install uv)。
Claude Code,作为插件使用(会询问你的 AWS 配置文件):
/plugin marketplace add cloudwise-app/cloudcostwise
/plugin install cloudcostwise@cloudcostwise
Claude Code,作为普通 MCP 服务使用:
claude mcp add cloudcostwise -- uvx cloudcostwise mcp
# a specific profile:
claude mcp add cloudcostwise -e AWS_PROFILE=prod -- uvx cloudcostwise mcp
Codex(~/.codex/config.toml):
[mcp_servers.cloudcostwise]
command = "uvx"
args = ["cloudcostwise", "mcp"]
env = { AWS_PROFILE = "prod" }
所有工具均为只读:scan、list_findings、explain_finding、
fix_guidance。fix_guidance 会以文本形式返回操作步骤和 AWS CLI 命令
供你审核;绝不会执行任何操作。扫描前会告知助手 Cost Explorer 的费用,
设置 include_cost_explorer=false 可跳过此步骤。
权限
AWS 托管策略 ReadOnlyAccess 即可满足要求。检查所用的最小权限策略位于
docs/iam-policy.json。该策略根据一个包含大多数受支持资源类型的账户扫描结果制定;如果某项检查缺少所需权限,扫描会在数据警告中说明,而不会失败。
统计方式
每项发现都会显示预计的月度节省金额。对于 建议性 浪费类型,CloudWise 无法通过实际 AWS 资源验证,因此会列出,但不会计入总额。
面向咨询公司和 MSP
合作伙伴许可可像此工具一样在你自己的机器上运行:额外的 26 项服务检查、扫描所有客户账户,以及一份以贵公司名义出具的客户报告。每家公司只需支付一次费用,客户账户数量不限: https://cloudcostwise.io/partners?utm_source=cloudcostwise&utm_medium=readme。
托管版产品的新增功能
额外的 26 项服务检查(Glue、ECS、Step Functions、Backup、CloudFront、承诺方案等)、历史记录和趋势、提醒以及安全的自动修复: https://cloudcostwise.io/connect?utm_source=cloudcostwise&utm_medium=cli。
告诉我们哪里不对
如果发现误报、漏报,或金额有误,请发布到 问题 #1,或者发送邮件至 [email protected](如果你不想公开发布)。提供扫描结果中的浪费类型 和数量即可。请勿提供账户 ID 和资源名称。 我们会回复每一份报告,并在下一次发布中修复经确认的误报。
许可证
FSL-1.1-ALv2。每个版本发布两年后都会变为 Apache-2.0。
我们如何确认结果准确
请参阅 VALIDATION.md:其中列出了此工具报告的每种浪费类型的验证级别,从 L0(通过单元测试)到 L2(在实际 AWS 资源上触发,并在健康的对照资源上保持静默)及更高等级。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。