使用说明
AWS FinOps MCP服务器
MCP(模型上下文协议)服务器,将强大的AWS FinOps功能直接引入您的AI助手。使用自然语言分析云成本、审计浪费并获取预算见解,同时确保您的凭据在本地计算机上的安全。
为什么使用AWS FinOps MCP服务器?
管理AWS成本可能很复杂。要找到诸如“我们上个月在S3上花了多少钱?”或“我们是否有任何未使用的EC2实例?”等问题的答案,通常需要导航AWS控制台或编写脚本。
该服务器通过将LLM强大的自然语言理解直接连接到您的AWS帐户的财务数据,弥合了这一差距。您可以在不离开聊天界面的情况下提出复杂的问题,并获得即时、可操作的见解。
使用案例:
克劳德桌面上的提示: “获取
usage-type基于过去90天内我所有AWS CLI配置文件的成本。并得到audit report适用于该地区的所有配置文件ap-south-1以简洁的方式用数据制作财务报告,并保持专业性。"
Amazon Q CLI上的提示: “你能用一下吗
aws-finopsmcp服务器,获取过去6个月内每月的成本数据profile 04并以表格形式呈现数据,突出显示每月总成本和每项服务的成本是如何变化的?"
克劳德桌面上的提示: “使用AWS finops MCP服务器中可用的所有工具生成全面的finops报告以供管理。使用所有可用的CLI配置文件,并在需要时使用ap-south-1区域。”
Claude使用AWS FinOps MCP服务器生成的其他示例报告
目录
主要特点
- 详细成本分析:使用标签、时间范围和服务分组查询您的AWS成本数据。
- 自动化金融运营审计:立即找到云浪费的常见来源,如停止的EC2实例、未连接的EBS卷和未关联的弹性IP等。
- 预算监控:检查您的AWS预算状态,看看您是否在正轨上、超出预算或预计会超出限额。
- 多配置文件和多区域:在单个命令中无缝查询您配置的任何或所有AWS帐户和区域。
- 设计安全:您的AWS凭据 永远不要离开你的机器.服务器在本地运行,并使用您现有的AWS CLI配置直接对AWS进行API调用。
先决条件
通用要求
- Python 3.10+:确保安装了兼容的Python版本。
- MCP客户端:支持MCP的应用程序。本指南使用 Claude桌面版 作为示例。
AWS要求和IAM权限
- AWS-CLI:The 必须安装AWS CLI 在你的机器上。
- AWS帐户和配置文件:您至少需要一个已配置的AWS配置文件。
- IAM权限:与您的配置文件关联的AWS身份(IAM用户或角色)需要特定的只读权限才能正常运行。
使用以下JSON创建IAM策略,并将其附加到您的用户或角色。这些权限是 只读的 并且仅授予对必要服务的访问。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AllowFinOpsMCPServer",
"Effect": "Allow",
"Action": [
"ce:GetCostAndUsage",
"budgets:ViewBudget",
"ec2:DescribeInstances",
"ec2:DescribeVolumes",
"ec2:DescribeAddresses",
"sts:GetCallerIdentity"
],
"Resource": "*"
}
]
}
安装
有几种方法可以安装AWS FinOps MCP服务器:
选项1:使用pipx(推荐)
pipx install aws-finops-mcp-server
如果你没有 pipx,安装时使用:
python -m pip install --user pipx
python -m pipx ensurepath
选项2:使用uv(快速Python包安装程序)
紫外线 是一个速度极快的现代Python包安装程序和解析器。
# Install uv if you don't have it yet
curl -LsSf https://astral.sh/uv/install.sh | sh
# Create project directory
mkdir aws-finops-mcp-server && cd aws-finops-mcp-server
# Create and activate python virtual environment
uv venv && source .venv/bin/activate
# Install aws-finops-dashboard
uv pip install aws-finops-mcp-server
选项3:来源
# Clone the repository
git clone https://github.com/ravikiranvm/aws-finops-mcp-server.git
cd aws-finops-mcp-server
# Create and activate python virtual environment
python -m venv .venv && source .venv/bin/activate
# Install using pip
pip install -e .
配置
步骤1:AWS CLI配置文件设置
如果您还没有,请配置您的AWS配置文件。对于要使用的每个配置文件,运行:
aws configure --profile your-profile-name
CLI将提示您:
AWS Access Key ID:您的凭证访问密钥。AWS Secret Access Key:您凭证的密钥。Default region name例如。,us-east-1.Default output format例如。,json.
对于默认配置文件,您可以省略 --profile 旗帜。
步骤2:MCP客户端设置(桌面版Claude)
要将此服务器与Claude for Desktop一起使用,您需要告诉应用程序如何运行它。
-
打开Claude for Desktop配置文件。它位于:
- macOS/Linux:
~/Library/Application Support/Claude/claude_desktop_config.json - 视窗:
%APPDATA%\Claude\claude_desktop_config.json
- macOS/Linux:
-
将以下条目添加到
mcpServers对象。如果文件不存在或为空,则需要创建JSON结构。{ "mcpServers": { "aws_finops": { "command": "aws-finops-mcp-server", "args": [] } } } -
保存文件并 完全重新启动Claude for Desktop.
重启后,服务器将在后台启动,其工具将可供Claude使用。
⚠️ 注:
安装此工具后(例如,通过pipx install aws-finops-mcp-server),确保aws-finops-mcp-server命令在您的系统中可用PATH.要检查其安装位置,请运行:
which aws-finops-mcp-server如果它返回一条类似的路径
/Users/yourname/.local/bin/aws-finops-mcp-server,但它是 不在你的路径中,您有两个选择:
- 跑
pipx ensurepath并重新启动您的终端, 或- 使用您的完整路径
mcpServers配置:{ "mcpServers": { "aws_finops": { "command": "/full/path/to/aws-finops-mcp-server", "args": [] } } }
用法和示例提示
现在,您可以用简单的英语询问有关AWS财务的问题。
用例:成本和使用分析
基本查询: “显示我的AWS成本
default本月的个人资料。"
时间范围查询: “让aws为我的成本
dev过去14天的个人资料”
筛选和分组查询: “我的成本是多少
production上个月的个人资料,按标签筛选CostCenter=Project-Alpha,并按以下方式分组INSTANCE_TYPE?"
多配置文件查询: “比较我的成本
staging和production过去30天的个人资料。"
用例:FinOps浪费和节省审计
简单审计: “对我的账户进行finops审计
default配置文件中us-east-1."
多区域、多档案审计: “检查中未使用的资源
us-west-2和eu-west-1为了我的prod-us和prod-eu个人资料。"
对所有配置文件进行全面审计: “对我在中配置的所有配置文件运行FinOps审核
us-east-1."
支持的客户
- 克劳德桌面
- 亚马逊Q CLI
- 任何与MCP兼容的客户端支持工具
在以下位置查看支持MCP服务器的客户端列表 https://modelcontextprotocol.io/clients
工具参考
get_cost
从AWS成本资源管理器获取成本和使用数据。
| 参数 | 类型 | 说明 |
|---|---|---|
profiles |
List[str] |
要使用的AWS CLI配置文件名称列表。 |
all_profiles |
bool |
如果 True,使用所有可用的配置文件。默认为 False. |
time_range_days |
int |
过去获取数据的天数(例如。, 7 过去7天)。 |
start_date_iso |
str |
开始日期 YYYY-MM-DD 格式。优先于 time_range_days. |
end_date_iso |
str |
结束日期 YYYY-MM-DD 格式。必须与 start_date_iso. |
tags |
List[str] |
按成本分配标签过滤。格式: ["Key=Value", "Key2=Value2"]. |
dimensions |
List[str] |
按尺寸过滤。格式: ["REGION=us-east-1"]. |
group_by |
str |
按维度对成本进行分组。默认值为 SERVICE. |
run_finops_audit
进行财务审计,以发现未使用且可能成本高昂的资源。
| 参数 | 类型 | 说明 |
|---|---|---|
regions |
List[str] |
运行审计的AWS区域列表(例如。, ["us-east-1", "eu-west-1"]). |
profiles |
List[str] |
要使用的AWS CLI配置文件名称列表。 |
all_profiles |
bool |
如果 True,使用所有可用的配置文件。默认为 False. |
输出格式: JSON、CSV、PDF、HTML、Markdown(取决于客户端功能)
成本考虑
该工具与AWS Cost Explorer API进行交互。AWS对这些API调用收费。
- 成本: 每次使用
get_cost工具,它对成本资源管理器API进行2次调用 $0.01. - 这
run_finops_audit该工具调用其他AWS服务API(EC2、Budgets),这些API通常包含在免费层中,或者在典型使用水平下成本可以忽略不计。
发展与贡献
欢迎投稿!如果您想改进服务器或添加新功能,请按照以下步骤操作:
- 分叉和克隆: 分叉存储库并将其克隆到本地计算机。
- 设置环境:
git clone https://github.com/your-username/aws-finops-mcp-server.git cd aws-finops-mcp-server python -m venv .venv source .venv/bin/activate # On Windows, use `.venv\Scripts\activate` - 在可编辑模式下安装:
pip install -e . - 进行更改: 添加您的功能或错误修复。
- 提交拉取请求: 针对
main分支,清楚地描述您的更改。
许可证
该项目根据MIT许可证获得许可。请参阅 许可证 文件以获取完整详细信息。
这是一个姐妹项目 https://github.com/ravikiranvm/aws-finops-dashboard
由以下材料制成❤️ 靠近 拉维·基兰