mcpField
C
CloudScope MCP

CloudScope MCP

本地服务
github.com/alexpota云与基础设施122 周前更新

关于 CloudScope MCP

CloudScope MCP 为使用 Azure 或 GCP 的团队提供只读云成本分析。其工具和引导式提示词涵盖支出、预算、异常、预测、闲置资源及优化建议。

主要功能

  1. 01按服务、标签或资源拆分成本
  2. 02比较支出时段并检测异常
  3. 03检查预算并预测成本
  4. 04查找闲置和未标记资源
  5. 05获取成本优化建议
  6. 06生成引导式成本报告

适用场景

  1. 01回顾每月云支出及变化
  2. 02调查近期成本激增
  3. 03查找闲置资源和潜在节省
  4. 04按标签准备成本分摊报告

MCP 相关

它向 MCP 客户端提供云成本分析与监控工具及引导式报告提示词。支持 Azure 和 GCP,访问权限为只读。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"cloudscope": {
"command": "npx",
"args": [
"-y",
"cloudscope-mcp"
],
"env": {
"AZURE_SUBSCRIPTION_ID": "<AZURE_SUBSCRIPTION_ID>",
"AZURE_TENANT_ID": "<AZURE_TENANT_ID>",
"AZURE_CLIENT_ID": "<AZURE_CLIENT_ID>",
"AZURE_CLIENT_SECRET": "<AZURE_CLIENT_SECRET>",
"GOOGLE_CLOUD_PROJECT": "<GOOGLE_CLOUD_PROJECT>",
"GCP_BILLING_TABLE": "<GCP_BILLING_TABLE>",
"GCP_PROJECT_ID": "<GCP_PROJECT_ID>",
"GCP_BILLING_ACCOUNT_ID": "<GCP_BILLING_ACCOUNT_ID>",
"GOOGLE_APPLICATION_CREDENTIALS": "<GOOGLE_APPLICATION_CREDENTIALS>"
}
}
}
}
启动命令npx -y cloudscope-mcp
需要配置的环境变量
AZURE_SUBSCRIPTION_IDAzure subscription ID to query for cost data. Optional; auto-detected from az login session if not set.
AZURE_TENANT_IDAzure tenant ID for service principal authentication. Optional; falls back to DefaultAzureCredential (e.g. az login) if unset.
AZURE_CLIENT_IDService principal client ID. Optional; required only when using ClientSecretCredential.
AZURE_CLIENT_SECRET密钥Service principal client secret. Optional; required only when using ClientSecretCredential.
GOOGLE_CLOUD_PROJECTGCP project ID. Recommended to set explicitly in the MCP client env block — may not be inherited from gcloud shell configuration.
GCP_BILLING_TABLEFully-qualified BigQuery billing export table (project.dataset.table_name). Required for GCP cost queries.
GCP_PROJECT_IDOverride GCP project ID if the billing dataset lives in a different project than GOOGLE_CLOUD_PROJECT.
GCP_BILLING_ACCOUNT_IDGCP billing account ID (format: XXXXXX-XXXXXX-XXXXXX). Optional; needed only for budget monitoring.
GOOGLE_APPLICATION_CREDENTIALS密钥Path to GCP service account JSON key file. Optional; falls back to Application Default Credentials (gcloud auth).

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmcloudscope-mcp0.3.3

工具

15

收录的工具列表 · 更新于 3 周前

参数类型必填说明
providerenum否要查询的云服务提供商(azure 或 gcp)azure | gcp
start_datestring否开始日期(YYYY-MM-DD)。默认为当月第一天。
end_datestring否结束日期(YYYY-MM-DD)。默认为今天。
group_byenum否成本分组方式:service、resource_group、tag 或 regionservice | resource_group | tag | region

详细介绍

CloudScope MCP

向 AI 询问你的云账单。

npm version MCP Registry Node.js TypeScript License: MIT

你将获得什么

只需询问一次:“给我本月的成本审查”——CloudScope 就会运行完整工作流(支出、变化、异常、闲置资源、预算、预测),并返回可直接用于决策的报告,而非需要你自行解读的原始数字:

TL;DR

Azure 本月至今的支出为 $4,312(5 月 1 日至 29 日),较 4 月 增长 11%。 主要变化来自 App Service(+$280)——一个新的暂存槽位一直在运行。 2 个闲置资源每月花费 $94;prod-budget 已使用 78%,还剩 2 天。 首要行动:删除孤立的托管磁盘 → 每月节省 $63。

本月支出

服务成本%
Virtual Machines$2,14049.6%
App Service$89020.6%
Storage$61214.2%
Redis Cache$4109.5%
Networking$2606.0%

与上月相比

总体 +$427(+11%)。App Service 的 +$280 是主要原因;其他项目 均持平。→ 新增的 staging-slot-2 于 5 月 12 日创建,之后一直未拆除。

闲置和浪费的资源

资源类型$/月
orphaned-osdisk-01托管磁盘$63
old-lb-ip公共 IP$31

预算状态

prod-budget — 已使用 78%,$4,312 / $5,500,进度正常(还剩 2 天)。

建议操作

  1. 删除 orphaned-osdisk-01(已卸载 40 天)→ $63/月
  2. 如果暂存环境处于闲置状态,则拆除 staging-slot-2 → ~$280/月
  3. 释放 old-lb-ip(未绑定)→ $31/月

示例仅用于展示报告格式。对你自己的订阅运行 /cloudscope:monthly-cost-review,即可获取实时数据。

安装

Claude CodeCursorVS Code
claude mcp add cloudscope -- npx -y cloudscope-mcp安装安装

Azure 会从你的 az login 会话中自动检测。GCP 需要设置 BigQuery 账单导出(见下文)。

支持的服务商

服务商状态
Azure✅ 已支持
GCP✅ 已支持
AWS使用 AWS 官方服务

前置条件

Azure
  • 已安装 Azure CLI 并已登录(az login)
  • 在订阅上拥有 Cost Management Reader 角色
GCP
  • 已安装 gcloud CLI 并已登录(gcloud auth application-default login)
  • 已启用 将结算数据导出到 BigQuery — 这是一次性的手动设置步骤,默认未启用(建议使用详细导出进行资源级成本查询)
  • 在数据集所属项目上拥有 BigQuery Data Viewer + BigQuery Job User 角色
  • 注意:BigQuery 按需查询的费用为每扫描 TiB 6.25 美元(定价)。每月前 1 TiB 免费。结算导出表较小,CloudScope 的典型查询每次费用低于 0.01 美元。

配置

Azure(零配置)

CloudScope 会根据 az login 自动检测你的订阅。只需添加服务:

{
  "mcpServers": {
    "cloudscope": {
      "command": "npx",
      "args": ["-y", "cloudscope-mcp"]
    }
  }
}

若要指定特定订阅,请添加 env 区块:

{
  "mcpServers": {
    "cloudscope": {
      "command": "npx",
      "args": ["-y", "cloudscope-mcp"],
      "env": {
        "AZURE_SUBSCRIPTION_ID": "your-subscription-id"
      }
    }
  }
}
高级:服务主体(CI/CD 和自动化环境)
变量说明
AZURE_TENANT_IDAzure AD 租户 ID
AZURE_CLIENT_ID应用注册客户端 ID
AZURE_CLIENT_SECRET应用注册客户端密钥

在上方的 env 区块中,同时设置这些变量和 AZURE_SUBSCRIPTION_ID。

GCP

GCP 需要 BigQuery 结算导出表。可在 GCP Console > Billing > Billing export > BigQuery export 中查找表名。

{
  "mcpServers": {
    "cloudscope": {
      "command": "npx",
      "args": ["-y", "cloudscope-mcp"],
      "env": {
        "GOOGLE_CLOUD_PROJECT": "my-project",
        "GCP_BILLING_TABLE": "my-project.my_dataset.gcp_billing_export_resource_v1_XXXXXX"
      }
    }
  }
}

将 GOOGLE_CLOUD_PROJECT 设置为你的 GCP 项目 ID。如果结算数据集位于其他项目中,可使用 GCP_PROJECT_ID 覆盖。

这些变量仅在使用 GCP 时适用;仅使用 Azure 的用户可以跳过。

变量说明必需
GOOGLE_CLOUD_PROJECTGCP 项目 ID是
GCP_BILLING_TABLEBigQuery 表的完整限定名称(project.dataset.table)是
GCP_PROJECT_ID若项目 ID 与 GOOGLE_CLOUD_PROJECT 不同,则覆盖项目 ID否
GCP_BILLING_ACCOUNT_ID用于预算监控的结算账号 ID否
GOOGLE_APPLICATION_CREDENTIALS服务账号 JSON 密钥文件的路径否
两个服务商
{
  "mcpServers": {
    "cloudscope": {
      "command": "npx",
      "args": ["-y", "cloudscope-mcp"],
      "env": {
        "AZURE_SUBSCRIPTION_ID": "your-subscription-id",
        "GOOGLE_CLOUD_PROJECT": "my-project",
        "GCP_BILLING_TABLE": "my-project.my_dataset.gcp_billing_export_resource_v1_XXXXXX"
      }
    }
  }
}

Azure 会根据 az login 自动检测。添加 AZURE_SUBSCRIPTION_ID 以指定特定订阅。

示例问题

  • “上个月 Azure 的费用是多少?”
  • “显示过去 7 天 GCP 各服务的支出”
  • “GCP 这周有成本异常吗?”
  • “下个月 Azure 的费用会是多少?”
  • “显示 GCP 的成本优化建议”
  • “比较所有项目和订阅中 Azure 与 GCP 的成本”

安全性

CloudScope 为只读工具。它无法创建、修改或删除任何云资源。Azure 使用 Cost Management Reader 权限。GCP 使用 BigQuery Data Viewer + Job User,且没有写入权限。

常见问题

这会修改我的云资源吗? 不会。仅提供只读访问权限。

我需要服务主体吗? 不需要。本地使用时,az login(Azure)或 gcloud auth application-default login(GCP)即可。

Azure Cost Management API 会产生费用吗? 不会。它是免费的。

GCP BigQuery 费用查询会产生费用吗? 会,但通常每次查询费用低于 0.01 美元(每扫描 TiB 收费 6.25 美元,每月前 1 TiB 免费)。请参阅 BigQuery 定价。

我可以同时使用 Azure 和 GCP 吗? 可以。配置两组环境变量后,CloudScope 会根据你在每次工具调用中指定的提供商执行查询。

开发

git clone https://github.com/alexpota/cloudscope-mcp.git
cd cloudscope-mcp
npm install
npm run build
npm test
npx @modelcontextprotocol/inspector node dist/index.js

参考

工具

大多数工具接受 provider 参数(azure 或 gcp);特定于提供商的工具(list_subscriptions、list_projects,以及跨账户工具 get_cross_subscription_costs / get_cross_project_costs)固定使用各自对应的云平台。默认提供商会根据已配置的提供商自动检测。

成本分析

工具描述关键参数
get_cost_summary按服务、组或区域细分支出start_date、end_date、group_by
get_cost_by_tag按标签键对成本分组tag_key、start_date、end_date
compare_periods并排比较两个日期范围的成本period_a_start/end、period_b_start/end
top_spending_resources成本最高的单个资源days、limit
get_cross_subscription_costs汇总 Azure 订阅的成本subscription_ids、start_date、end_date
get_cross_project_costs汇总 GCP 项目的成本project_ids、start_date、end_date

监控

工具描述关键参数
detect_anomalies查找相较于上一周期的支出激增days、threshold
check_budgets预算状态、当前支出和预计超支(无)
get_cost_forecast根据当前趋势预测支出days

优化

工具描述关键参数
list_recommendations成本优化建议(Azure Advisor / GCP Recommender)category
find_idle_resources已预配但未使用的资源及其成本估算(无)
find_untagged_resources没有标签的资源(成本归属缺口)(无)

实用工具

工具描述关键参数
get_current_date今天的日期以及当前月/上月的起止日期(无)
list_subscriptions带有活动状态指示的 Azure 订阅(无)
list_projects带有活动状态指示的 GCP 项目(无)
提示词

用于生成结构化报告的引导式工作流。所有提示词都接受可选的 provider 参数(azure 或 gcp)。在 Claude Code 中,输入 /cloudscope: 即可查看所有提示词。在 Claude Desktop 中,点击 + 按钮 → Connectors → cloudscope。

提示词描述参数
monthly-cost-review完整的月度审查:支出、与上月的对比、异常、主要资源、预算、预测、节省机会provider(可选)
waste-audit查找浪费的支出:主要资源、优化建议、有风险的预算、潜在节省总额provider(可选)
cost-spike-investigation成本上涨的根因分析:涉及哪些服务和资源、趋势性还是一次性、建议采取的行动days(可选),provider(可选)
executive-summary面向领导层的简要非技术成本摘要:支出、趋势、预算状态、主要驱动因素、预测、关键建议provider(可选)
chargeback-report按标签键分配成本,用于成本分摊:各值的支出、未添加标签的资源、已添加和未添加标签的资源对比、月环比tag_key(必填),provider(可选)

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。