云成本数据分析服务

通过大型语言模型(LLM)与CloudZero云成本数据进行交互,提供成本数据分析、预算管理和洞察报告等功能。

  • by burkestar
  • Python
  • 本地部署
  • 5 星标
  • 更新于
在 GitHub 查看 burkestar/cloudzero-mcp

使用说明

Cloudzero模型上下文协议(MCP)服务器

从大型语言模型(LLM)在Cloudzero中处理您的云成本数据。

询问有关成本数据的问题,例如绘制月度差异:

运作原理

用途 CloudZero v2 API 和那个 模型上下文协议 MCP。

graph LR
    %%{init: {'theme':'neutral'}}%%
    %% Define nodes
    A[MCP Host]
    B[Local MCP Server]
    C[CloudZero API]
    D[(Cloud Costs Data)]

    %% Define connections
    A -->|JSON-RPC 2.0| B
    B -->|HTTP/JSON| C
    C <--> D

    subgraph CloudZero_SaaS
    C
    D
    end

    subgraph Background_process
    B
    end

    subgraph Claude_Desktop
    A
    end

    subgraph Local_Machine
    Claude_Desktop
    Background_process
    end

    %% Define styles
    classDef client padding:10px
    classDef server padding:10px
    classDef api padding:10px
    classDef db padding:10px

    %% Apply styles
    class A client
    class B server
    class C api
    class D db

一旦在Claude Desktop中配置了MCP服务器,它将在以下位置作为后台进程启动 启动。Claude Desktop作为MCP主机将发送 initiatize 向MCP服务器发出请求。这 服务器以其 能力,其中包括 prompts 和 tools 用于工具调用。

服务器实现了几个特定于CloudZero的工具:

  • get_costs 从以下位置获取账单数据 start_date 向 end_date
  • get_dimensions 用于计费维度
  • list_budgets 列出预算
  • list_insights 列出见解

MCP协议使用JSON-RPC 2.0进行请求和响应。

设置

安装 克劳德桌面:

安装 紫外线

设置项目依赖关系:

uv init
uv sync

生成您的 CloudZero API密钥.

编辑 .env 与:

CLOUDZERO_API_KEY=YOUR_SECRET_KEY

安装

要将MCP服务器安装到Claude Desktop中,请执行以下操作:

uv run mcp install server.py

编辑您的 claude_desktop_config.json 设置正确的路径 uv 命令并更新您的 USERNAME 如下所示。

此配置文件位于Claude Desktop的以下位置 Settings > Developer > Edit Config.

    "CloudZero": {
      "command": "/Users/USERNAME/.local/bin/uv",
      "args": [
        "run",
        "--with",
        "mcp[cli]",
        "mcp",
        "run",
        "/Users/USERNAME/workspace/open_source/cloudzero-mcp/server.py"
      ]
    }

重新启动克劳德桌面。当桌面启动时,它将在后台启动服务器进程。 您可能会看到错误,并可以深入日志查看问题所在。

如果没有错误,请尝试询问“有哪些工具可用于云计费”,以查看列表。

看 Claude Desktop MCP文档 了解更多信息。

调试

为了调试,您可以使用交互式GUI运行MCP开发服务器来检查:

uv run mcp dev server.py

这对于排除代码中的错误非常有用,而无需连续重新启动Claude Desktop。