# cloud-tools [Health: Active]

**Category:** ☁️ Cloud Platforms  
**Repository:** https://github.com/munhq/cloud-tools  
**GitHub Stars:** 0  
**npm Downloads (last month):** 132  
**Views:** 3  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/cloud-tools

## Description
Multi-cloud cost, inventory and waste analysis over MCP: AWS, GCP, Cloudflare and OVH.

## Tools
Capabilities this server exposes over MCP:

- **compare_costs** — This period against the same day window of the previous month, so a partial month does not read as a fall. AWS and GCP only. GCP needs credentials.gcp.billing_table.
- **get_commitments** — Commitments you are paying for, and whether you are consuming them, over the last 30 days. AWS: Savings Plans utilisation, coverage of eligible spend, and the saving a further commitment would give. GCP: committed use discounts with their expiry. Not implemented for Cloudflare or OVH, which sell no commitments.
- **get_costs** — Cloud spend. AWS: by service over a date range, from Cost Explorer; pass group_by="data_transfer" for transfer cost by usage type. GCP: by service from the BigQuery billing export, which credentials.gcp.billing_table must name — without it you get budget amounts, not spend. Cloudflare: subscriptions and zone plan costs. OVH: the 6 most recent invoices.
- **get_cross_cloud_summary** — One cost and waste report over every cloud you pass credentials for, with a grand total. Omit a cloud's credentials to skip it.
- **get_inventory** — What exists. GCP: GCE instances, disks, addresses, snapshots, forwarding rules, GKE clusters with node pools, Cloud SQL, Cloud Functions, Cloud Run, GCS buckets, Cloud NAT, Cloud IDS, Artifact Registry, VPN gateways, subnets, PSC endpoints and Cloud Logging ingestion, with a per-project summary. Cloudflare: zones with plan and price, DNS records split proxied against dns-only, certificates with hosts and expiry, and Workers with invocation counts. OVH: instances and active services with renewal dates and monthly cost. Not implemented for AWS.
- **get_recommendations** — The cloud provider's own optimisation suggestions. GCP: the Recommender API across every zone and region — idle VMs, machine type rightsizing, idle disks and addresses, idle and oversized Cloud SQL. Not implemented for the others; AWS Compute Optimizer is read as part of get_waste instead.
- **get_waste** — What is wasted, with the monthly cost of each finding and the utilisation evidence behind it. AWS: idle and oversized EC2 and RDS measured from CloudWatch CPU series, stopped instances, orphaned volumes and snapshots, unused AMIs and Elastic IPs, idle load balancers and NAT gateways, DynamoDB and ElastiCache, and log groups with no retention. GCP: idle and oversized instances, orphaned disks, unattached addresses, snapshots over 90 days, idle Cloud SQL, GKE clusters with no nodes, Cloud Functions and Cloud Run with no invocations, buckets with no lifecycle rule. Not implemented for Cloudflare or OVH.

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `npx` (confidence: high):

```json
"mcpServers": {
  "cloud-tools": {
    "command": "npx",
    "args": ["-y","@munhq/cloud-tools"],
    "env": {
      "AWS_ACCESS_KEY_ID": "",
      "AWS_SECRET_ACCESS_KEY": "",
      "AWS_PROFILE": "",
      "GOOGLE_APPLICATION_CREDENTIALS": "",
      "CLOUDFLARE_API_TOKEN": "",
      "CLOUDFLARE_ACCOUNT_ID": "",
      "OVH_APPLICATION_KEY": "",
      "OVH_CONSUMER_KEY": ""
    }
  }
}
```

**Requires environment variables:** `AWS_ACCESS_KEY_ID`, `AWS_SECRET_ACCESS_KEY`, `AWS_PROFILE`, `GOOGLE_APPLICATION_CREDENTIALS`, `CLOUDFLARE_API_TOKEN`, `CLOUDFLARE_ACCOUNT_ID`, `OVH_APPLICATION_KEY`, `OVH_CONSUMER_KEY` — the values above are empty placeholders; fill in real credentials before running (see the repository for what each one is for).

## Documentation

## What cloud-tools does

The cloud-tools MCP server gives an AI agent read-only access to selected cost, inventory, waste, commitment, and recommendation data across AWS, GCP, Cloudflare, and OVH. It is listed in the Cloud Platforms category and can run locally as a compiled Rust binary.

The tool set covers cloud access checks, cost reporting, cost comparison, inventory queries, waste analysis, commitment analysis, recommendations, and cross-cloud summaries. Provider coverage varies by operation. AWS and GCP support waste analysis; GCP, Cloudflare, and OVH support inventory; and GCP recommendations are available through `get_recommendations`. Unsupported operations return an explicit message rather than an empty result.

## How it works

An agent supplies a `cloud` value such as `aws` or `gcp` to the relevant MCP tool. Credentials stay in the environment of the machine running cloud-tools and are not passed through tool arguments. The server contacts the configured provider APIs and returns results to the MCP client.

`check_access` is the recommended first call. It does not contact a cloud provider and reports which provider configurations are available and what is missing. `get_cross_cloud_summary` aggregates the clouds the server can reach.

Waste and inventory responses include coverage information and an errors list. A zero result with complete coverage indicates that no matching waste was found; a partial result indicates that some API calls failed and should not be treated as a clean account review.

## Setup and configuration

The cloud-tools MCP server can be started with the `npx` wrapper, a release binary, a Docker container, or a source build. The documented MCP command is:

```bash
claude mcp add cloud-tools -- npx -y @munhq/cloud-tools
```

The README also provides JSON configuration for Claude Desktop, Cursor, Windsurf, Zed, and Cline, plus installation links for Cursor and VS Code. The server supports stdio and streamable HTTP MCP transports. It also includes an optional Axum-based HTTP API.

AWS credentials can come from access-key variables, the shared AWS credentials file, an ECS task role, or an EC2 instance role. AWS role assumption can be configured with a role ARN and optional external ID. GCP uses Application Default Credentials or a service-account file, with optional project and BigQuery billing-table settings. Cloudflare requires a read-access API token and account ID. OVH uses application, secret, and consumer keys plus an optional endpoint.

The npm package is not released at the README's stated v0.1.0 status; until the next release is tagged, build from source with `cargo build --release` or use a release binary when available.

## Tools and capabilities

The cloud-tools MCP server provides these documented operations:

- `check_access` for provider configuration checks
- `get_costs` for supported provider spend data
- `compare_costs` for AWS and GCP comparisons, with a GCP billing table required
- `get_inventory` for GCP, Cloudflare, and OVH resources
- `get_waste` for AWS and GCP waste analysis
- `get_commitments` for AWS and GCP commitments
- `get_recommendations` for GCP recommendations
- `get_cross_cloud_summary` for reachable-cloud summaries

AWS waste analysis examines resources including EC2, RDS, S3, Lambda, DynamoDB, ECS, ElastiCache, load balancers, NAT gateways, CloudWatch log groups, and Compute Optimizer data. Idle and oversized findings use CloudWatch CPU series.

## Limitations and notes

GCP cost reporting depends on a BigQuery billing export for actual spend. Without one, `get_costs` falls back to budget amounts and labels the source accordingly; `compare_costs` requires the billing table. AWS does not yet provide an inventory tool. Cloudflare and OVH do not provide waste analysis.

The server is documented as collecting no telemetry or analytics. Provider credentials are held in memory for the duration of a call, and the npm wrapper caches only the downloaded binary under `~/.cache/cloud-tools/bin/`.

_Full upstream README: https://allmcps.com/mcp/cloud-tools/readme_

