云零模型上下文协议(MCP)服务器允许你通过大型语言模型(LLM)与 Cloudzero 的云成本数据进行交互。你可以针对成本数据提出问题,例如绘制月度差异图。
通过该服务器,你能方便地与 Cloudzero 的云成本数据对话,提出如绘制月度差异图等问题。
get_costs、get_dimensions、list_budgets 和 list_insights。uv init
uv sync
编辑 .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,桌面启动时将在后台启动服务器进程。若没有错误,可尝试询问“有哪些可用的云计费工具”查看列表。 更多信息可查看 Claude Desktop MCP 文档。
在配置好服务器并启动后,你可以直接在 Claude Desktop 中询问关于云成本数据的问题,例如“有哪些可用的云计费工具”。
你可以使用服务器实现的特定工具进行更复杂的操作,如使用 get_costs 获取从 start_date 到 end_date 的计费数据。
使用 CloudZero v2 API 和 Model Context Protocol MCP。
graph LR
%%{init: {'theme':'neutral'}}%%
%% 定义节点
A[MCP 主机]
B[本地 MCP 服务器]
C[CloudZero API]
D[(云成本数据)]
%% 定义连接
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
%% 定义样式
classDef client padding:10px
classDef server padding:10px
classDef api padding:10px
classDef db padding:10px
%% 应用样式
class A client
class B server
class C api
class D db
一旦 MCP 服务器在 Claude Desktop 中配置完成,它将在启动时作为背景进程启动。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 进行请求和响应。
为了调试,你可以运行带有交互式 GUI 的 MCP 开发服务器来检查:
uv run mcp dev server.py
这对于无需不断重新启动 Claude Desktop 即可排查代码中的错误非常有用。