Skip to content

v0.6.0 — FinOps decision suite (4 new tools)

Latest

Choose a tag to compare

@alialbaker alialbaker released this 09 May 13:17
· 27 commits to main since this release

v0.6.0 — FinOps decision suite

Four named FinOps decision tools that turn cross-cloud pricing into real recommendations in one tool call instead of letting the AI chain three+ pricing tools and synthesize.

pip install --upgrade cloudprice-mcp
cloudprice-mcp setup --force

What's new

Tool What it does
assess_migration "Should I move?" — projects per-target cloud cost, savings %, one-time exit egress cost, payback months. Returns a ranked recommendation by 3-year TCO with triggered caveats (e.g., "OCI A1.Flex is ARM — verify your AMIs").
optimize_commitment "When does my RI / SP / CUD pay back?" — six commitment scenarios (none / 1yr_no_upfront / 1yr_all_upfront / 3yr_no_upfront / 3yr_partial_upfront / 3yr_all_upfront) with per-scenario monthly cost, upfront, 3-year total, savings %, payback months. Recommends the lowest 3-year TCO option.
compare_total_cost_of_ownership "What's my 3-year cost across clouds?" — multi-year projection with linear YoY growth assumptions for compute / storage / egress. Returns cumulative TCO per cloud, year-by-year breakdown, sensitivity analysis on the dominant variable.
find_egress_arbitrage "Where do I save on data transfer?" — specialized assess_migration scoped to egress only. Surfaces the OCI 12× moat: at 50 TB/month internet egress, OCI is ~$340 vs $4,000+ on the hyperscalers.

14 MCP tools total (was 10). All four new tools accept a structured workload inventory shape that mirrors a 4-section sizing sheet (compute / storage / object_storage / databases / egress) plus optional commitment, multi_az, and one_time.data_to_migrate_gb fields.

Foundation modules (used by all 4 tools)

  • inventory.py — YAML / dict parser → canonical WorkloadInventory dataclass with strong typing and validation
  • export.py — markdown / json / text renderers (csv / html later if asked)
  • caveats.py + data/caveats.json — small static rules library that flags known cross-cloud risks (block / warn / info severities)
  • data/ri_tiers.json — per-cloud commitment discount tiers (conservative averages — per-family tiers come in v0.6.x)

Real-world example

Ask any MCP-compatible client (Claude / Copilot / Cursor / Windsurf / Cline / Continue / Zed):

"Use assess_migration to evaluate moving my AWS workload to the other 3 clouds. Workload: 6 instances at 8 vCPU / 32 GB each, 50 TB monthly internet egress, 10 TB hot-tier object storage. Include 5 TB of one-time data migration."

Get back: per-target monthly cost, savings %, exit cost ($441), payback months, ranked recommendation by 3-year TCO, and triggered caveats (e.g., "OCI A1.Flex is ARM — verify your AMIs"). One tool call.

Honest gaps (every result includes these)

Each FinOps tool surfaces an explicit honest_gaps list — what it does NOT model. Prevents over-trust:

  • No workload discovery — relies on user-supplied inventory
  • No license portability modeling (BYOL, SQL Server, RHEL)
  • No CPU-utilization right-sizing
  • Conservative flat commitment tiers (per-family RI rates land in v0.6.x)
  • No NPV / discount-rate math (cumulative dollars, not present value)
  • Single-region pricing only (live pricing + multi-region are roadmap items)

What's NOT in v0.6.0 (deferred)

  • Live pricing mode — opt-in --live flag fetching real-time SKUs from each cloud's public API. Targeted for v0.7.
  • Per-family RI tiers — compute-optimized vs general-purpose vs memory-optimized rate differentiation. Targeted for v0.6.x patch.
  • Multi-region pricing — per-region SKU expansion. Targeted for v0.7+.
  • CSV / HTML inventory parsers — only YAML for v0.6.0. Add when external demand asks.
  • CLI finops subcommand wrapper — for non-MCP CLI users. Add when external demand asks.

Stats

  • 22 files changed (+4,628 / −2 lines)
  • 283 / 283 tests passing (added 152 new for v0.6 modules)
  • New modules: inventory.py + export.py + caveats.py + finops/ package (4 tools)
  • One new dependency: pyyaml >= 6.0

Upgrade

pip install --upgrade cloudprice-mcp
cloudprice-mcp setup --force          # refresh existing client configs
# Fully restart your MCP-compatible client (Claude Desktop / VS Code / Cursor / etc.)
# 14 tools should now appear (was 10)

Links