本项目提供了一个模型上下文协议(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
source .venv/bin/activate # 激活虚拟环境
python azure_pricing_mcp_server.py
服务器默认将在 http://0.0.0.0:8080 启动。
GET /sse:用于 MCP 通信的服务器发送事件端点GET /tools:列出 MCP 服务器中可用的工具要配置 MCP 客户端以连接到此服务器,请在你的 mcp_config.json 文件中添加以下内容:
"azure-pricing": {
"serverUrl": "http://localhost:8080/sse"
}
此配置告知 MCP 客户端使用 SSE 端点连接到本地 8080 端口上的服务器。请确保 URL 与服务器运行的地址和端口相匹配。
MCP 服务器提供了一个结构化的四步工作流程,用于访问 Azure 定价信息:
服务器提供了四个主要工具,形成了一个用于查询 Azure 定价的逻辑工作流程:
描述:根据 Microsoft 的官方文档列出 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 'Add some amazing feature'git push origin feature/amazing-feature本项目采用 MIT 许可证 - 有关详细信息,请参阅 LICENSE 文件。