Back to Directory/Cloud Providers

cloudcostwise

Find AWS waste with your own read-only credentials. Runs locally; nothing leaves your machine.

Cloud ProvidersPythonv0.1.2

cloudcostwise

Find AWS waste from your terminal or your AI assistant. cloudcostwise runs CloudWise's open waste checks on your own machine, with your own read-only AWS credentials.

  • Nothing leaves your machine. The only network calls are AWS API calls in your account. No signup, no IAM role for a third party, no telemetry.
  • It cannot change anything. Every AWS call goes through a guard that refuses any operation that isn't a Describe, List, Get, Search or Lookup, whatever your credentials allow.
  • 20 of CloudWise's 46 service checks: EC2, Lambda, SageMaker, WorkSpaces, Lightsail, EBS, S3, EFS, ECR, RDS, DynamoDB, ElastiCache, Elastic IPs, NAT gateways and load balancers, VPC endpoints, dangling DNS records, CloudWatch logs and dashboards, security posture, RI/Savings Plans opportunities, and Compute Optimizer.

Install and run

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

Options:

OptionMeaning
--profile NAMEAWS profile; otherwise the standard credential chain (env vars, SSO, instance role)
--regions LISTComma-separated regions, or all for every enabled region. Account-level checks (Cost Explorer, Route 53) run once, in us-east-1
--format table|markdown|jsonOutput format
--no-cost-explorerMake no Cost Explorer call. AWS bills those at $0.01 per request and a scan makes about 13. Skips the RI/Savings Plans checks; extended-support surcharges fall back to estimates
--parallel NRegions scanned at once, each in its own process (default 4; --regions all takes ~2–3 min instead of ~10)
--verboseShow data warnings (checks that could not read a metric report it as missing, never as zero)

Use it from Claude Code, Codex or any MCP client

cloudcostwise mcp runs the same scan as an MCP server (stdio). Then ask your assistant: "Where am I wasting money on AWS?"

The plugin and registry entries start the server with uvx, so install uv first (brew install uv or pipx install uv).

Claude Code, as a plugin (asks for your AWS profile):

/plugin marketplace add cloudwise-app/cloudcostwise
/plugin install cloudcostwise@cloudcostwise

Claude Code, as a plain MCP server:

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" }

Tools, all read-only: scan, list_findings, explain_finding, fix_guidance. fix_guidance returns the steps and AWS CLI command as text for you to review; nothing is ever executed. The assistant is told about the Cost Explorer cost before it scans, and include_cost_explorer=false skips it.

Permissions

ReadOnlyAccess (AWS managed) is enough. The minimal policy the checks use is in docs/iam-policy.json. It was derived from a scan of an account with most supported resource types; if a check lacks a permission, the scan says so in its data warnings instead of failing.

How the numbers are counted

Each finding shows an estimated monthly saving. Advisory waste types, ones CloudWise could not validate against a real AWS resource, are listed but never added to the total.

What the hosted product adds

The other 26 service checks (Glue, ECS, Step Functions, Backup, CloudFront, commitments and more), history and trends, alerts, and safe automated fixes: https://cloudcostwise.io/connect?utm_source=cloudcostwise&utm_medium=cli.

License

FSL-1.1-ALv2. Each release becomes Apache-2.0 two years after it ships.

How we know it's right

See VALIDATION.md: the validation level of every waste type this tool reports, from L0 (unit-tested) to L2 (fired on a real AWS resource and stayed silent on a healthy twin) and beyond.

Installation

Source-derived launch command. Check the maintainer’s required arguments and credentials before running:

bash
uvx cloudcostwise

Set up in your AI client

Merge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.

json
{
  "mcpServers": {
    "io-github-cloudwise-app-cloudcostwise": {
      "command": "uvx",
      "args": [
        "cloudcostwise"
      ]
    }
  }
}

Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the client’s tool list, then try a read-only example from its documentation.

Claude Desktop setup reference

Package

cloudcostwisepypi

Compatible MCP Clients

cloudcostwise works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.

  • Claude Desktop~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.
  • Cursor~/.cursor/mcp.jsonRestart Cursor for changes to take effect.
  • VS Code.vscode/mcp.jsonReload VS Code window for changes to take effect.
  • Windsurf~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect.
  • Claude Code.mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.

Learn More