Open source Apache-2.0

Open-source cloud cost tools for AI agents

Three open-source tools that give Claude, or any MCP client, real access to your cloud costs. Ask questions in plain language, get answers from your actual billing data, and take an opportunity from discovery to merged pull request without opening a dashboard.

Build your own FinOps agents using enriched Cloud datasources.

Compare

Three tools, one agentic FinOps loop

Ordered by how much of the loop they hand to your agent. Start at the top.

agent-skills Free account

Claude Code plugin. Gives your agent the skills and slash commands to run the loop.

npx @glassity/agent-skills install
glassity CLI Free account

The full FinOps loop from your terminal. Flags in, JSON out, stable exit codes.

brew install glassity/tap/glassity
focus-mcp No account

Ask your AI assistant what your cloud actually costs. Queries your FOCUS billing exports directly.

uvx focus-mcp

Agent Skills

Build your own FinOps agent

Ask your agent what you spent on AWS last month. Ask which savings opportunities are worth the engineering time, and which are Fool's Gold. Ask whether your reservations still cover your fleet.

This is a Claude Code plugin over the glassity CLI. It ships the skills that teach an agent your cost surface, the subagents that dig into one opportunity at a time, and the slash commands for the full FinOps loop from discovery to closure.

The questions that matter are follow-ups. Which service drove that spike? Is it one account or all of them? What would rightsizing actually save, net of the week it takes? Each one is a different query, and answering them in a conversation is faster than clicking through six screens.

Read-only skills

Nothing here can change anything in your account.

  • cost-summary What did we spend over this window
  • cost-by-service Which services cost the most
  • cost-by-subaccount Which accounts are driving spend
  • cost-mom-trends Is cost trending up, and which month moved
  • cost-ec2-usage What EC2 is running, by type and region
  • cost-rds-usage What databases are running, by class and engine
  • opp-list Which savings opportunities are open, by stage and size
  • opp-show Why this opportunity was flagged, and what it covers
  • rec-ec2-list Which EC2 reservations are recommended
  • rec-rds-coverage Are we undercovered on RDS
  • rec-rds-recommendations Which RDS reservations to buy
  • glassity-auth Sign in, check the active tenant, sign out
  • glassity-five-steps Shared definitions the workflow commands read

Mutating skills

Each one shows you the request and waits for a yes.

  • opp-triage Advance, approve, reassign, or archive an opportunity
  • lifecycle-approve-plan Approve the org plan and seed per-service assignments
  • lifecycle-accept-plan Accept a refined plan and move an assignment to execution
  • lifecycle-reject-plan Decline a brief, with the reason recorded
  • lifecycle-mark-pr-merged Close an assignment once its pull request is merged
  • lifecycle-mark-closure-done Register the closure report and complete the opportunity
  • questionnaire-run Walk a service-onboarding questionnaire and submit the answers

Two subagents for the deep dives:

opportunity-triage

Deep-triages your top opportunities one at a time, in its own context window, and can advance them through the two-phase confirmation flow.

scrum-master

Walks one opportunity through the five-step FinOps lifecycle. Read-only by convention: it prints the exact command for you to run.

Six slash commands covering the five-step loop:

Command Step Gate Mutates
/finops-discover Discovery every idea typed and dated no
/finops-assess Opportunity Assessment net value above zero no
/finops-align Stakeholder & Planning Alignment an owner and a ready plan yes
/finops-execute Execution deployed, verified, rollback proven yes
/finops-feedback Feedback Loop & Celebration at least one new idea or policy yes
/finops-status orientation only no

Requires the glassity binary and a Glassity account. macOS, Linux, or Windows via WSL. Optionally git, gh and jq for the workflow commands. No account yet? Sign up free at app.glassity.cloud.

Install

# npm — installs the skills, subagents, and slash commandsnpx @glassity/agent-skills install          # -> ~/.claudenpx @glassity/agent-skills install --here   # -> ./.claude, project-local # then install the CLI and sign inbrew install glassity/tap/glassityglassity auth login
View agent-skills on GitHub

glassity CLI

The FinOps loop from your terminal

glassity is the command-line interface to Glassity, a FinOps platform for AWS estates. It reads the same whether a person or an agent runs it: flags in, JSON out, stable exit codes, no prompts on the critical path.

Command groups cover opportunities, cost analysis, recommendations, assignments, governance, and raw API access. There is also a filesystem mount that serves a server-built snapshot of your AWS estate over FUSE as a read-only tree.

Nothing mutates without a second round-trip.

Reads run straight through. Writes stop and show you the exact HTTP request first. Phase one canonicalises the request and issues a single-use HMAC-signed token with a 60-second TTL and a 1.5-second minimum review window. Phase two replays the command with that token. The HMAC covers method, path and body, so any modification invalidates it.

Reads run through, writes stop and print the plan

$ glassity opp list --stage assessment --min-savings 1000Tenant: Example Corp (id: acc_demo) | AWS account: 123456789012ID          STAGE       POTENTIAL/MO  RESOURCES  TITLEopp_7f2a91  assessment  $4182.40      37         Idle NAT gateways in eu-west-1opp_3c8b04  assessment  $1290.00      12         Oversized db.r6g fleet in prod $ glassity opp transition asg_demo123 --target-state execution --comment "rightsizing merged"About to perform a mutation. Re-run with --confirm-token=<TOKEN> to execute.     PATCH https://app.glassity.cloud/api/v1/agent/assignments/asg_demo123/transition?account_id=acc_demo    Authorization: token <REDACTED — sk_live_*********** by glassity binary>     {"comment":"rightsizing merged","target_state":"execution"} Token expires in 1m0s. Cannot be redeemed in less than 1.5s (review window).

No network call yet: those are the exact bytes phase two sends. Values above are examples.

Requires a Glassity account. Sign up free at app.glassity.cloud. Authenticate with glassity auth login via OAuth device flow, or use a Personal Access Token for CI.

Install

# Homebrew (macOS)brew install glassity/tap/glassity # Gogo install github.com/glassity/cli/cmd/glassity@latest

Release tarballs ship for Linux and Darwin on amd64 and arm64, each with SHA-256 checksums.

View glassity CLI on GitHub

focus-mcp

Query your billing data in plain language

FOCUS is the FinOps Open Cost and Usage Specification, the open standard for cloud billing data. AWS, Microsoft and Google Cloud all export it natively, which means one schema and one set of queries work across every provider.

The FOCUS MCP Server connects Claude, or any MCP client, to that data. Questions that used to mean hand-written SQL become one-line prompts.

  • “What are my highest-cost services by region this month?”
  • “Show me commitment discount utilization trends.”
  • “Which accounts have unusual spending patterns?”
  • “Explain the difference between BilledCost and EffectiveCost.”

254 queries from the official FOCUS catalog

Curated per specification version — 36 for v1.0, 41 for v1.1, 53 for v1.2, 58 for v1.3, 66 for v1.4. Each query cites the spec page it came from.

No data warehouse to stand up

DuckDB queries your Parquet exports directly, whether they sit on local disk, S3 or GCS.

Covers the analyses you actually run

Cost allocation, commitment discount tracking, anomaly detection, budget reconciliation and provider comparison.

No Glassity account needed. You need FOCUS exports from AWS, Azure or Google Cloud, and an MCP client such as Claude Desktop or Claude Code.

PyPI

# Run the published package — no clone, no containeruvx focus-mcp # Register it with Claude Code in one commandclaude mcp add focus -e FOCUS_DATA_LOCATION=/path/to/your/focus/data -- uvx focus-mcp

Docker

# Pinned, attested imagedocker pull glassity/focus-mcp:latest claude mcp add focus -- docker run -i --rm \  -v /path/to/your/focus/data:/data:ro \  -e FOCUS_DATA_LOCATION=/data \  glassity/focus-mcp:latest
View focus-mcp on GitHub

Start here

Two paths, depending on how far you want to go

Try it now, no account

2 minutes
  1. 1 Make sure you have FOCUS exports from your cloud provider
  2. 2 Run uvx focus-mcp
  3. 3 Point your MCP client at it and start asking questions

Run the full loop

10 minutes
  1. 1 Create a free Glassity account at app.glassity.cloud
  2. 2 brew install glassity/tap/glassity
  3. 3 glassity auth login
  4. 4 npx @glassity/agent-skills install
  5. 5 Run /finops-discover
Create a free account

All three are Apache-2.0 and available today.

2

glassity/agent-skills

Claude Code plugin: skills, subagents and slash commands over the glassity CLI.

Apache-2.0
View on GitHub
1

glassity/cli

The command-line interface to Glassity, built to be run by people and agents alike.

Apache-2.0
View on GitHub
11

glassity/focus-mcp

MCP server that connects any MCP client to your FOCUS billing data.

Apache-2.0 No account
View on GitHub

Want the thinking behind the tools rather than the tools themselves? Read A Software Factory for FinOps.