该项目提供了一个模型上下文协议(MCP)服务器,允许您通过编程方式查询 Azure 资源定价。该服务器提供了一个结构化的流程,用于从 Azure 零售价格 API 中检索定价信息。
克隆仓库:
git clone https://github.com/sboludaf/mcp-azure-pricing.git
cd mcp--azure-pricing
创建并激活虚拟环境:
python -m venv .venv
.venv\Scripts\activate
source .venv/bin/activate
安装依赖项:
pip install -r requirements.txt
MCP 服务器提供了一个四步结构化工作流,用于访问 Azure 定价信息:
source .venv/bin/activate # 激活虚拟环境
python azure_pricing_mcp_server.py
默认情况下,服务器将在 http://0.0.0.0:8080 启动。
GET /sse: 用于 MCP 通信的 Server-Sent Events 端点GET /tools: 列出 MCP 服务器中可用的工具要配置一个 MCP 客户端以连接到此服务器,请在您的 mcp_config.json 文件中添加以下内容:
"azure-pricing": {
"serverUrl": "http://localhost:8080/sse"
}
此配置告诉 MCP 客户端使用 SSE 端点连接到本地服务器上的 8080 端口。确保 URL 与服务器运行的地址和端口匹配。
服务器提供了四个主要工具,形成了一个逻辑工作流,用于查询 Azure 定价:
描述:根据微软官方文档列出 Azure 中所有可用的服务类别。
描述:获取指定服务类别内的所有唯一服务名称。
参数:
service_family: 要查询的服务类别(例如,'Compute', 'Storage')region: Azure 地区(默认:'westeurope')max_results: 要处理的最大结果数描述:从特定服务类别中获取产品名称。
参数:
service_family: 要查询的服务类别region: Azure 地区(默认:'westeurope')type: 价格类型(可选,例如,'Consumption', 'Reservation')service_name: 用于过滤的服务名称(可选)product_name_contains: 过滤名称包含此文本的产品(可选)limit: 返回的最大产品数量(可选)描述:计算特定 Azure 产品的月度成本。
参数:
product_name: 产品的精确名称(例如,'Azure App Service Premium v3 Plan')region: Azure 地区(默认:'westeurope')monthly_hours: 每月小时数(默认:730)type: 价格类型(可选,例如,'Consumption')MCP 服务器包括一个强大的错误处理系统,它:
欢迎贡献!以下是您可以如何为此项目做出贡献:
git checkout -b feature/amazing-featuregit commit -m '添加一些惊人的功能'git push origin feature/amazing-feature本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情。