GitHub
Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.
作者提供的说明(英文原文)
Anchor AI FinOps to real, live cloud pricing — AWS, GCP & Azure public and enterprise rates.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
OCC_GCP_API_KEY, OCC_AWS_ENABLE_COST_EXPLORER, AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY, OCC_GCP_BILLING_ACCOUNT_ID标为机密的值是你账户的钥匙。千万不要分享给别人,也不要粘贴到聊天里。
你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json
{
"mcpServers": {
"cloudcostsmcp": {
"command": "uvx",
"args": [
"opencloudcosts"
],
"env": {
"OCC_GCP_API_KEY": "your-value",
"OCC_AWS_ENABLE_COST_EXPLORER": "your-value",
"AWS_ACCESS_KEY_ID": "your-value",
"AWS_SECRET_ACCESS_KEY": "your-value",
"OCC_GCP_BILLING_ACCOUNT_ID": "your-value"
}
}
}
}在终端中运行这条命令
claude mcp add cloudcostsmcp --env OCC_GCP_API_KEY=your-value --env OCC_AWS_ENABLE_COST_EXPLORER=your-value --env AWS_ACCESS_KEY_ID=your-value --env AWS_SECRET_ACCESS_KEY=your-value --env OCC_GCP_BILLING_ACCOUNT_ID=your-value -- uvx opencloudcosts运行前请先填写空着的值。
粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"cloudcostsmcp": {
"command": "uvx",
"args": [
"opencloudcosts"
],
"env": {
"OCC_GCP_API_KEY": "your-value",
"OCC_AWS_ENABLE_COST_EXPLORER": "your-value",
"AWS_ACCESS_KEY_ID": "your-value",
"AWS_SECRET_ACCESS_KEY": "your-value",
"OCC_GCP_BILLING_ACCOUNT_ID": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"cloudcostsmcp": {
"type": "stdio",
"command": "uvx",
"args": [
"opencloudcosts"
],
"env": {
"OCC_GCP_API_KEY": "your-value",
"OCC_AWS_ENABLE_COST_EXPLORER": "your-value",
"AWS_ACCESS_KEY_ID": "your-value",
"AWS_SECRET_ACCESS_KEY": "your-value",
"OCC_GCP_BILLING_ACCOUNT_ID": "your-value"
}
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。
你的选择通过 Cookie 保存在这台设备上,无需账户。
OCC_AWS_ENABLE_COST_EXPLORER envOCC_GCP_BILLING_ACCOUNT_ID env这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月7日
注册名称已通过 GitHub 账户 x7even 验证,该账户拥有此仓库
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
它在你的电脑上运行,没有互联网端点
在你的电脑上运行,改用本地设置
它在你的电脑上运行;我们只能读取互联网端点的工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
你需要填写:OCC_GCP_API_KEY, AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY
它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。
GitHub 仓库最后更新于–,最新版本(1.0.2)于4个月前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Python (uv)。
同一分类中有:GitHub, Desktop Commander, Cloudflare MCP
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
Connect AI assistants to GitHub - manage repos, issues, PRs, and workflows through natural language.
MCP server for terminal commands, file operations, and process management
Cloudflare MCP servers
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
Your LLM's cloud pricing knowledge was frozen at training cutoff. Cloud pricing wasn't.
opencloudcosts is an MCP server that gives your AI assistant live, structured access to AWS, GCP, and Azure pricing — 16 tools it can call directly, with results it can reason over rather than guess at. Ask it to compare a full multi-resource workload across all three clouds simultaneously. Ask it for your actual post-discount effective rates from Reserved Instances, Savings Plans, or Enterprise Discount Programs. Ask it to fan out across every region and return the cheapest option. None of that is possible from training data alone, and none of it is possible from a single-cloud pricing calculator.
Ask any AI assistant what an m5.2xlarge costs in ap-southeast-2, whether AWS or GCP is cheaper for a three-tier web app, or what your effective hourly rate is after Savings Plans. You will get a confident answer. It will probably be wrong.
Cloud pricing is a poor fit for static model weights: instance families are added and retired, regional pricing diverges (the same instance type can differ 20–40% across regions), spot markets fluctuate, and commitment discounts are by definition unique to each account. A model answering from training data cannot know your negotiated EDP rate. It can barely reliably recall last year's list price. The problem is not that LLMs are bad — it's that real-time, account-specific pricing data is structurally outside what a model can know.
opencloudcosts fixes this by giving your AI assistant 16 MCP tools backed by live provider APIs. Instead of hallucinating numbers, the model calls a tool and gets a precise answer.
Your team asks: *"We're evaluating whether to migrate this workload from AWS to GCP. What does the full stack cost on-demand vs. three-year committed, across all three clouds, so I can make the case to leadership?"*
Without this tool, the model interpolates — possibly from pricing that is a year out of date — across three providers, multiple resource types, and at least four pricing tiers. The numbers will be plausible and wrong.
With opencloudcosts, the model calls compare_bom with the workload spec (compute + storage + database). The tool fans out 8 concurrent provider calls across AWS, GCP, and Azure simultaneously, prices each resource category at public and committed rates, and returns a per-provider, per-term breakdown with savings analysis — in a single tool call.
No spreadsheet. No switching between three provider calculators. No manual SKU matching. No training-data approximation.
Asking a model without tools — Training data has a cutoff. Cloud pricing changes constantly, varies 20–40% across regions for the same instance type, and includes account-level commitment discounts that are invisible at inference time. The model will approximate, confabulate, or recall stale numbers. There is no structured output, and the model cannot access your contracted rates under any circumstances.
Cloud pricing calculators (AWS / GCP / Azure) — Each covers exactly one cloud. They are UI-only with no API surface callable from an AI assistant. Cross-cloud comparison requires manually reproducing the same architecture three times across three separate calculators and reconciling exports by hand. They have no concept of unit economics and produce no programmatic output for agentic workflows.
Infracost — Excellent at estimating cost diffs against Terraform plans. It requires IaC files as input — it cannot answer "what does an n2-standard-8 cost in europe-west4?" without a Terraform plan in hand. It is not an MCP server and is not callable from a conversational AI context.
Calling provider APIs directly — AWS bulk pricing files are multi-GB and require targeted API access patterns to avoid downloading them in full. GCP's Cloud Billing Pricing API v1beta requires a multi-source ADC credential chain and provider-specific IAM. Azure's Retail Prices API needs pagination logic and SKU matching. Every provider uses different region naming conventions, SKU formats, and data schemas. opencloudcosts normalizes all of this behind a uniform MCP tool interface and handles credential chains, caching, and retry logic so the model does not have to.
| Capability | LLM (no tools) | Cloud Calculators | Infracost | opencloudcosts |
|---|---|---|---|---|
| Live pricing (not frozen at training cutoff) | No | Manual input only | IaC-bound | Yes — fetched from provider APIs |
| Cross-cloud comparison in one call | No | No | No | Yes — compare_bom, 8 concurrent provider calls |
| Effective/contracted rates (RI, SP, EDP, CUD) | No | No | No | Yes — credentials unlock this layer |
| Multi-region concurrent fan-out | No | No | No | Yes — up to 32 goroutines |
| Unit economics (cost/user, cost/request) | Approximate | No | No | Yes — estimate_unit_economics |
| MCP tool surface — callable by model | N/A | No | No | Yes — 16 tools |
| AWS + Azure public pricing, zero credentials | N/A | Single-cloud only | Partial | Yes |
| HTTP service for shared/Kubernetes deployments | N/A | N/A | No | Yes — bearer auth, rate limiting, probes |
Fourteen tools are fully functional. Two entries are compatibility stubs: search_pricing (a deprecated redirect from v0.8.x, kept for backward compatibility) and get_spot_history (registered but not implemented in the Go server — returns a structured "not available" response).
Credential requirements by provider
| Coverage | Credentials required |
|---|---|
| AWS EC2, EBS (gp3/io2/sc1), RDS, inter-region egress | None |
| Azure VMs, Managed Disks, Blob Storage, Azure SQL/MySQL/PostgreSQL, Cosmos DB, AKS, Azure Functions, Azure OpenAI (GPT-4o, GPT-4, GPT-3.5-Turbo, o1, o1-mini, embeddings) | None — fully public Retail Prices API |
| GCP Compute Engine, Cloud Storage, Persistent Disk, Cloud SQL, Memorystore, GKE, BigQuery, Vertex AI, Gemini, Cloud LB/CDN/NAT/Armor, Cloud Monitoring | Free API key (OCC_GCP_API_KEY) — no billing account, no credit card |
AWS post-discount rates (Reserved Instances, Savings Plans) + get_discount_summary | AWS credentials + OCC_AWS_ENABLE_COST_EXPLORER=true ($0.01/call to Cost Explorer, opt-in only) |
| GCP committed-use discounts (CUDs) and Enterprise Discount Programs (EDPs) | ADC credentials + billing.billingAccountPrice.get IAM + OCC_GCP_BILLING_ACCOUNT_ID |
Azure Reserved VM pricing (1-year and 3-year terms) is available via the public Retail Prices API — no credentials needed. compare_bom returns committed-term Azure pricing with no setup beyond the binary.
The 16 tools by category
| Category | Tools |
|---|---|
| Pricing | get_price, get_prices_batch, compare_prices, describe_catalog, search_pricing†, get_spot_history† |
| FinOps | estimate_bom, estimate_unit_economics, compare_bom, get_discount_summary |
| Discovery | list_regions, list_instance_types, find_cheapest_region, find_available_regions |
| Cache | refresh_cache, cache_stats |
† Compatibility stub only — not functional for live data. See opencloudcosts-go/README.md for full parameter reference.
Concurrency — The analysis tools are not sequential HTTP wrappers:
find_cheapest_region and find_available_regions: errgroup + semaphore, up to 32 goroutines — queries all available regions in parallel, returns results sorted cheapest-firstcompare_bom: 8 concurrent provider calls across AWS, GCP, and Azure simultaneouslycompare_prices: semaphore of 10 concurrent region callsget_prices_batch: parallelized across instance types within a regionRate limiting and timeouts — Token-bucket rate limiter at 200 req/s on the HTTP transport (OCC_RATE_LIMIT). Per-request deadline: 60s (OCC_REQUEST_TIMEOUT). Per-provider API call: 30s (OCC_PROVIDER_TIMEOUT). Graceful SIGTERM drain: 15s (OCC_SHUTDOWN_TIMEOUT).
Cache — Prices are stored in a concurrent in-memory cache (read-optimised with sync.RWMutex) with atomic JSON persistence at ~/.cache/opencloudcosts/cache.json. TTLs: public prices 24h (OCC_CACHE_TTL_HOURS), region/instance metadata 7 days (OCC_METADATA_TTL_DAYS), effective/contracted rates 1h (OCC_EFFECTIVE_PRICE_TTL_HOURS). Cache survives binary updates. 401/403 responses from billing APIs are never cached, so credential rotation takes effect immediately.
AWS pricing — EC2/EBS/RDS public pricing uses a targeted SKU API path rather than downloading the full multi-GB bulk pricing file, keeping startup fast and avoiding large network payloads.
Error isolation — Raw exception text never reaches LLM context. All tool boundaries emit structured error envelopes; full tracebacks are logged server-side only. GCP contract pricing falls back to public list prices on auth failure rather than surfacing an error into the conversation.
opencloudcosts v1.0.0 achieves 234/234 (100%) on the LLM grounding harness, with zero XML hallucinations across the full suite.
The harness covers 234 realistic pricing questions across all three clouds: instance spot checks, cross-region comparisons, BOM estimates, multi-cloud comparisons, unit economics, AI model pricing, database pricing, storage pricing, discount summaries, egress pricing, availability queries, and network pricing.
Primary validation model: `qwen3.6-35b-128k` running locally via llama-swap — a self-hosted 35B reasoning model with no external API dependency. The harness has also been exercised against qwen3.6-35b-a3b, qwen3.5-122b-a10b@q6_k, and gemma-4-26b-a4b. Because MCP is a protocol rather than a model feature, accuracy comes from the tool returning correct live data — any MCP-capable AI assistant calls the same tool surface and gets the same structured response.
Harness progression: 109/123 (Python v0.8.x) → 169/169 (v0.9.0) → 199/199 (v0.9.2) → 234/234 (v1.0.0).
643 Go unit tests across all providers and tools verify behavioral correctness and cross-provider API parity, independent of LLM evaluation.
1. Price the same workload across all three clouds at once
"Price the following on AWS, GCP, and Azure simultaneously: 4 instances (8 vCPU, 32 GB RAM), 1 managed PostgreSQL database (4 vCPU, 16 GB RAM), and 500 GB block storage. Return on-demand, 1-year committed, and 3-year committed totals for each cloud with monthly and annual figures, and flag which provider is cheapest at each commitment term."
compare_bom fans out 8 concurrent provider calls and returns a per-provider, per-term breakdown with savings analysis versus on-demand. No pricing calculator does this across cloud boundaries. AWS and Azure public pricing requires no credentials; GCP requires a free API key.
2. Find the cheapest AWS region for a long-running compute workload
"I need to run a c6a.4xlarge continuously. Fan out across all available AWS regions and return the 5 cheapest, sorted by on-demand hourly rate. Show us-east-1 as a baseline."
find_cheapest_region uses a 32-goroutine fan-out across every region where the instance type is available and returns results sorted cheapest-first. Regional price deltas for the same instance type routinely exceed 20%. No credentials needed.
3. Determine your effective AWS rate after commitments
"I h
只显示了开头部分;其余内容请在仓库中阅读