前言
在当前云原生架构日益复杂、资源使用碎片化的趋势下,控制和优化云成本成为了企业管理中越来越重要的一环。如何做到“把钱花在刀刃上”——避免计算资源冗余和隐藏支出,成为广大企业和工程师重点关注的话题。
尤其对于使用 AWS 的企业来说,按量计费虽然灵活,但一旦资源配置不合理、未能及时释放,就可能造成巨大的浪费。因此,对成本的可视化分析也逐渐成为提升工程效率、支撑产品持续演进的关键能力。
本文将带您了解由 AWS Labs 开源的 Cost Analysis MCP Server,探索其如何通过 Model Context Protocol(MCP)为 AI 成本分析带来便利。
GitHub 地址:https://github.com/awslabs/mcp/tree/main/src/cost-analysis-mcp-server
什么是 MCP Server?
MCP(Model Context Protocol)是由 Anthropic 推出的一种开放标准,旨在为大型语言模型(LLMs)提供与外部数据源和工具交互的标准化接口。
下方架构图形象地指出了 MCP 的主要组成部分:
-
MCP Host:发起请求的 LLM 应用程序,比如 Claude、IDE
-
MCP Client:与 MCP Server 建立1:1连接,处理通信
-
MCP Server:为 MCP client 提供上下文、工具和 prompt 信息
MCP Server 的优势
-
标准化接口:通过 MCP 协议,简化了 AI 模型与外部工具的集成过程,提高了开发效率。
-
实时通信:支持 Server-Sent Events(SSE)等通信方式,实现了模型与服务器之间的实时数据交换。
-
安全可靠:内置权限控制和日志记录机制,确保数据交互的安全性和可追溯性。
-
可扩展性强:支持多种工具的集成,便于根据业务需求扩展功能。
在成本分析场景中,MCP Server 充当了 AI 模型与 AWS 成本数据之间的桥梁,使得 AI 模型能够实时获取、分析和优化云服务成本。
核心功能
✅ AWS 成本可视化分析
-
细致拆解 AWS 成本,按服务、区域、层级等维度分类汇总
-
识别各服务云成本分布情况,助力精准优化云支出
💬 自然语言查询成本数据
-
无需复杂的查询语言,你可以像提问 ChatGPT 一样,询问「哪个服务最贵?」「S3 成本为什么突然升高?」
-
无需手动翻阅复杂的价格文档,支持从 AWS 定价网页、AWS Pricing API 实时获取数据
📊 一键生成成本报告与优化建议
-
自动读取基础设施即代码(Infrastructure as Code)生成针对性报告
-
基于当前资源使用情况,智能生成成本优化建议,如:是否切换为预留实例、是否有多余资源未调度
适合谁使用?
-
云架构或 DevOps 工程师,深入了解各服务在 AWS 上的成本构成。
-
成本管控或 SRE 团队,定期评估优化方案并输出报告。
-
初创公司****或中小型团队,期望通过智能工具节省云支出,专注核心业务。
快速开始:如何安装并运行 MCP Server
安装准备
-
通过 Astral 安装
[uv]
-
使用
uv python install 3.10
安装 Python -
配置具有访问 AWS 服务权限的凭证,确保具备以下条件: • 一个具有适当权限的 AWS 账户 • 使用
aws configure
命令或环境变量配置 AWS 凭证 • 确保你的 IAM 角色或用户具有访问 AWS Pricing API 的权限
安装步骤
通过下方命令,下载并安装 AWS CLI
curl "https://awscli.amazonaws.com/AWSCLIV2.pkg" -o "AWSCLIV2.pkg"
sudo installer -pkg AWSCLIV2.pkg -target /
安装完毕后,配置 AWS CL
aws configure
访问地址https://docs.aws.amazon.com/amazonq/latest/qdeveloper-ug/command-line-installing.html, 从下方地址进入即可下载:
https://desktop-release.codewhisperer.us-east-1.amazonaws.com/latest/Amazon%20Q.dmg
按照 Amazon Q 介绍,注册账号(自己的邮箱即可),然后登录进入
创建一个~/.aws/amazonq/mcp.json
文件:
{
"mcpServers": {
"awslabs.cost-analysis-mcp-server": {
"command": "uvx",
"args": ["awslabs.cost-analysis-mcp-server@latest"],
"env": {
"FASTMCP_LOG_LEVEL": "ERROR",
"AWS_PROFILE": "your-aws-profile"
},
"disabled": false,
"autoApprove": []
}
}
}
AWS 身份验证
MCP Server 会使用 AWS_PROFILE
环境变量中指定的 AWS 配置文件。如果未指定该变量,则默认使用你 AWS 配置文件中的 “default” 配置文件。
"env": {
"AWS_PROFILE": "your-aws-profile"
}
请确保所使用的 AWS 配置文件具有访问 AWS Pricing API 的权限。
MCP Server 会使用指定的配置文件创建一个 boto3 会话,以便通过该会话对 AWS 服务进行身份验证。您的 AWS IAM 凭证将始终保留在本地,仅用于访问 AWS 服务。
q chat
输出结果(下方视频跳转至0:47,即可查看生成结果):
https://weixin.qq.com/sph/ACRbkXmju
总结
AWS Cost Analysis MCP Server 为企业提供了一个高效、智能的成本分析解决方案。通过标准化的 MCP 协议,企业可以轻松集成成本分析功能,提升云服务的成本管理能力。
当然,如果您不想止步于成本分析,需要更进一步开始优化 AWS 云成本,不妨试试 CloudPilot AI 这款智能云成本优化平台,仅需轻点几步即可开启云成本优化,下图为客户运行的真实效果。