Azure Pricing MCP 服务器
使用说明内容(Markdown格式)
- 项目简介
- 这是一个基于 MCP(Model Context Protocol)的后端服务器实现,专注于 Azure 的价格查询、SKU 发现、区域推荐等能力,并向 LLM 客户端提供统一的资源、工具调用与提示渲染入口。通过 JSON-RPC 风格的通信,LLM 客户端可以请求价格查询、成本估算、SKU 发现、区域推荐等工具并获取结构化响应。
- 主要功能点
- MCP 核心能力:资源托管、工具注册与执行、Prompt 模板渲染,支持多传输协议(stdio/HTTP(SSE) 等)以便与不同的 LLM 客户端对接。
- Azure 定价相关工具集合:价格搜索、价格对比、成本估算、发现 SKU、SKU 发现、区域推荐、RI 定价、批量估算、Spot 相关工具、以及缓存统计等。
- 服务组件:PricingService、SKUService、BulkEstimateService、RetirementService 等,分别负责数据获取、SKU 匹配、批量处理、 retirement 状态识别等。
- 认证与权限支持(Spot 工具需 Azure 身份认证,提供帮助信息与权限描述)。
- 本仓库包含服务实现、工具定义、处理器(ToolHandlers)与错误处理机制,确保对外暴露的接口具有一致的错误格式。
- 安装步骤
- Python 3.x 环境(推荐较新版本)下获取代码与依赖。
- 安装所需依赖(如 aiohttp、cachetools 等)并确保网络访问 Azure Pricing API 所需的外部服务可用。
- 将仓库中的 MCP 服务安装并就绪。该实现以模块方式打包,运行时需要 Python 环境即可。
- 服务器配置(MCP 客户端需要配置以与 MCP 服务器通信;以下 JSON 为配置示例说明,用于告知客户端如何连接服务器。】
- server: "azure-pricing"
- command: "python -m azure_pricing_mcp"
- args: ["--transport", "stdio"] // 也可选择 "--transport http" 以通过 HTTP 暴露服务 说明:上述配置用于 MCP 客户端在运行时连接该 MCP 服务器。server 字段对应 MCP 服务器的名称;command 与 args 指定启动服务器的命令及参数。客户端实现无需 această 代码级依赖细节,只需 know 服务器名称与启动命令即可建立连接。
- 基本使用方法
- 启动服务器(stdio 方式,便于本地开发/测试):在终端执行上述命令,即可启动 MCP 服务器进程并监听标准输入/输出。
- 通过 MCP 客户端调用工具,例如查询价格、做成本估算、发现 SKU、区域推荐等;服务器内部将解析请求、执行对应工具,并返回标准化的 JSON-RPC 风格响应。
- 如需对外暴露 HTTP 端口,可使用 --transport http 启动,服务器会提供基于 SSE/HTTP 的传输支持。
- 开发与调试时,可利用仓库提供的单元测试与示例服务,了解请求字段、返回结构及错误格式。