返回市场
aws财务管理MCP服务器

aws财务管理MCP服务器

作者:ravikiranvm161 星标更新:2025-06-11

项目介绍

技术文档摘要

AWS FinOps MCP 服务器

PyPI 版本 许可证:MIT

一个 MCP(模型上下文协议)服务器,它将强大的 AWS FinOps 功能直接引入您的 AI 助手。使用自然语言分析云成本、审计浪费并获取预算洞察,同时确保您的凭证安全地保存在本地机器上。

为什么使用 AWS FinOps MCP 服务器?

管理 AWS 成本可能很复杂。回答诸如“我们上个月在 S3 上花费了多少?”或“我们是否有任何未使用的 EC2 实例?”等问题通常需要导航 AWS 控制台或编写脚本。

该服务器通过将强大的自然语言理解能力与您的 AWS 账户的财务数据连接起来,填补了这一空白。您可以在聊天界面中提出复杂问题,并立即获得可操作的见解。

使用案例:

Claude Desktop 提示: “获取过去 90 天内所有 AWS CLI 配置文件的基于使用类型的成本。并为区域 ap-south-1 的所有配置文件生成审计报告。以简洁的方式制作财务报告,并保持专业性。”

alt text

Amazon Q CLI 提示: “能否使用 aws-finops mcp 服务器获取过去 6 个月内每个月的成本数据,针对 profile 04,并以表格形式展示数据,突出显示总成本和服务成本每月的变化情况?”

![alt text](Amazon Q CLI.png)

Claude Desktop 提示: “使用 AWS FinOps MCP 服务器中的所有工具为管理层生成一份全面的财务报告。使用所有可用的 CLI 配置文件,并在需要时使用区域 ap-south-1。”

![alt text](Claude - FinOps Report.png)

其他由 Claude 使用 AWS FinOps MCP 服务器生成的样本报告

网络使用及成本分析报告

综合财务报告


目录

  1. 什么是 MCP 服务器?
  2. 为什么使用 AWS FinOps MCP 服务器?
  3. 关键特性
  4. 前提条件
  5. 安装
  6. 配置
  7. 用法及示例提示
  8. 工具参考
  9. 成本考虑
  10. 开发及贡献
  11. 许可证

关键特性

  • 详细成本分析:使用标签、时间范围和服务分组查询您的 AWS 成本数据。
  • 自动化财务审计:立即找到常见的云浪费来源,如已停止的 EC2 实例、未挂载的 EBS 卷和未关联的弹性 IP 等。
  • 预算监控:检查您的 AWS 预算状态,查看是否在预算范围内、超出预算或预计会超过限制。
  • 多配置文件及多区域:无缝查询您配置的任意或所有 AWS 账户和区域。
  • 设计安全:您的 AWS 凭证永远不会离开您的机器。服务器在本地运行,并使用现有的 AWS CLI 配置直接调用 AWS API。

前提条件

通用要求

  • Python 3.10+:确保安装了兼容的 Python 版本。
  • MCP 客户端:支持 MCP 的应用程序。本指南使用 Claude for Desktop 作为示例。

AWS 要求及 IAM 权限

  • AWS CLI:必须在您的机器上安装 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 包安装器)

uv 是一个现代的 Python 包安装器和解析器,速度极快。

# 如果还没有安装 uv,请先安装
curl -LsSf https://astral.sh/uv/install.sh | sh

# 创建项目目录
mkdir aws-finops-mcp-server && cd aws-finops-mcp-server

# 创建并激活 Python 虚拟环境
uv venv && source .venv/bin/activate

# 安装 aws-finops-dashboard
uv pip install aws-finops-mcp-server

选项 3:从源代码安装

# 克隆仓库
git clone https://github.com/ravikiranvm/aws-finops-mcp-server.git
cd aws-finops-mcp-server

# 创建并激活 Python 虚拟环境
python -m venv .venv && source .venv/bin/activate

# 使用 pip 安装
pip install -e .

配置

步骤 1:AWS CLI 配置文件设置

如果尚未配置,请设置您的 AWS 配置文件。对于每个要使用的配置文件,运行:

aws configure --profile your-profile-name

CLI 将提示您输入:

  • AWS 访问密钥 ID:您的凭据访问密钥。
  • AWS 密钥:您的凭据密钥。
  • 默认区域名称:例如,us-east-1
  • 默认输出格式:例如,json

对于默认配置文件,您可以省略 --profile 标志。

步骤 2:MCP 客户端设置(Claude for Desktop)

要使用此服务器与 Claude for Desktop,您需要告诉应用程序如何运行它。

  1. 打开您的 Claude for Desktop 配置文件。它位于:

    • macOS/Linux~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows:%APPDATA%\Claude\claude_desktop_config.json%
  2. mcpServers 对象中添加以下条目。如果文件不存在或为空,则需要创建 JSON 结构。

    {
      "mcpServers": {
        "aws_finops": {
          "command": "aws-finops-mcp-server",
          "args": []
        }
      }
    }
    
  3. 保存文件并完全重启 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,但不在 PATH 中,您有两个选择:

  • 运行 pipx ensurepath 并重新启动终端,或者
  • 在您的 mcpServers 配置中使用完整路径:
{
  "mcpServers": {
    "aws_finops": {
      "command": "/full/path/to/aws-finops-mcp-server",
      "args": []
    }
  }
}

用法及示例提示

现在您可以使用简单的英语询问有关您的 AWS 财务的问题。

用例:成本及使用分析

基本查询: “显示我的 default 配置文件本月的 AWS 成本。”

时间段查询: “获取我的 dev 配置文件过去 14 天的 AWS 成本。”

过滤及分组查询: “上个月 production 配置文件的成本是多少,按标签 CostCenter=Project-Alpha 过滤,并按 INSTANCE_TYPE 分组?”

多配置文件查询: “比较我的 stagingproduction 配置文件过去 30 天的成本。”

用例:财务浪费及节省审计

简单审计: “在我的 default 配置文件的 us-east-1 区域运行财务审计。”

多区域、多配置文件审计: “检查 us-west-2eu-west-1 区域的 prod-usprod-eu 配置文件中的未使用资源。”

所有配置文件的全面审计: “在我的所有配置文件的 us-east-1 区域运行财务审计。”

支持的客户端

  • Claude Desktop
  • Amazon Q CLI
  • 任何支持工具的 MCP 兼容客户端

查看支持 MCP 服务器的客户端列表:https://modelcontextprotocol.io/clients

工具参考

get_cost

从 AWS 成本探索器获取成本和使用数据。

参数类型描述
profilesList[str]要使用的 AWS CLI 配置文件名称列表。
all_profilesbool如果 True,则使用所有可用配置文件。默认为 False
time_range_daysint获取数据的过去天数(例如,7 表示过去 7 天)。
start_date_isostr开始日期,格式为 YYYY-MM-DD。优先于 time_range_days
end_date_iso str`结束日期,格式为 YYYY-MM-DD。必须与 start_date_iso 一起使用。
tagsList[str]按成本分配标签过滤。格式:["Key=Value", "Key2=Value2"]
dimensionsList[str]按维度过滤。格式:["REGION=us-east-1"]
group_bystr按维度分组成本。默认为 SERVICE

run_finops_audit

运行财务审计以查找未使用和潜在昂贵的资源。

参数类型描述
regionsList[str]要运行审计的 AWS 区域列表(例如,["us-east-1", "eu-west-1"])。
profilesList[str]要使用的 AWS CLI 配置文件名称列表。
all_profilesbool如果 True,则使用所有可用配置文件。默认为 False

输出格式: JSON、CSV、PDF、HTML、Markdown(取决于客户端功能)

成本考虑

此工具与 AWS 成本探索器 API 交互。AWS 对这些 API 调用收费。

  • 成本: 每次使用 get_cost 工具时,都会进行 2 次调用至成本探索器 API,每次调用费用为 $0.01
  • run_finops_audit 工具调用其他 AWS 服务 API(EC2、预算),这些通常包含在免费层级中或在典型使用水平下成本微不足道。

开发及贡献

欢迎贡献!如果您想改进服务器或添加新功能,请遵循以下步骤:

  1. 分叉并克隆: 分叉仓库并将其克隆到您的本地机器。
  2. 设置环境:
    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  # 在 Windows 上使用 `.venv\Scripts\activate`
    
  3. 以编辑模式安装:
    pip install -e .
    
  4. 进行更改: 添加您的功能或修复错误。
  5. 提交拉取请求:main 分支上打开一个 PR,并附带清晰的更改描述。

许可证

本项目根据 MIT 许可证发布。详情见 LICENSE 文件。


这是 [https://github.com/ravikiranvm/aws-finops-dashboard] 的姊妹项目

Ravi Kiran 制作 ❤️