Token导航 LogoToken导航

MCP Server · 搜索检索

Sample Cloud Spend MCP Server

MCP for AWS Cost Explorer and CloudWatch logs

stdio官方级别未说明来源级核验工具 0
数据可视化PythonClaude Desktop自然语言查询Claude

快速开始

作者 / 组织
aws-samples
提供方
aws-samples
运行时
Python

工具数量

0

来源目录标注

资源数量

0

来源目录标注

提示词数量

0

来源目录标注

GitHub Star

13

仓库热度

收录来源

2 个

MCP.so

选型结论

Sample Cloud Spend MCP Server 属于搜索检索类 MCP Server,公开资料标注 0 个工具,通过stdio 本地进程接入,适配 Claude、Claude Desktop,有可以直接复制的安装命令;接入前先确认权限范围。

分类

搜索检索

传输方式

stdio

认证方式

无需认证

部署方式

公开资料未说明

安装与配置

安装命令

python server.py

客户端配置示例

{
  "mcpServers": {
    "sample-cloud-spend-mcp-server": {
      "command": "python",
      "args": [
        "server.py"
      ]
    }
  }
}

按公开安装命令拼出来的示例,字段名和参数以仓库 README 为准;带 YOUR_API_KEY 这类占位符的位置记得换成自己的值。

上手步骤

  1. 1

    准备运行环境

    stdio 服务在本地起进程,需要先装好 Python,再按安装命令拉取依赖。

  2. 2

    安装服务

    复制下面的安装命令执行;命令里带占位符的位置换成自己的密钥或路径。

  3. 3

    写入客户端配置

    在客户端的 MCP 配置里填启动命令和参数,保存后完全退出客户端再打开,让新配置生效。

  4. 4

    验证是否可用

    连接成功后客户端会列出 0 个工具,随便调一个只读工具确认能返回结果。

接入前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

详细介绍

用于了解云支出的MCP服务器示例

MCP服务器,用于通过Cost Explorer获取AWS支出数据,并通过 Model invocation logs 通过Amazon Cloud Watch Anthropic的MCP(模型控制协议)请参阅第节 “安全”远程MCP服务器 了解如何通过HTTPS运行MCP服务器。

flowchart LR
    User([User]) --> UserApp[User Application]
    UserApp --> |Queries| Host[Host]
    
    subgraph "Claude Desktop"
        Host --> MCPClient[MCP Client]
    end
    
    MCPClient --> |MCP Protocol over HTTPS| MCPServer[AWS Cost Explorer MCP Server]
    
    subgraph "AWS Services"
        MCPServer --> |API Calls| CostExplorer[(AWS Cost Explorer)]
        MCPServer --> |API Calls| CloudWatchLogs[(AWS CloudWatch Logs)]
    end

您可以在本地运行MCP服务器,并通过Claude Desktop访问它,也可以在Amazon EC2上运行远程MCP服务器,通过LangGraph Agent内置的MCP客户端访问它。

概述

该工具提供了一种方便的方法,可以使用Anthropic的Claude模型作为交互界面来分析和可视化AWS云支出数据。它作为一个MCP服务器,向Claude Desktop公开AWS Cost Explorer API功能,允许您用自然语言询问有关AWS支出的问题。

特性

  • Amazon EC2支出分析:查看最后一天EC2支出的详细明细
  • 亚马逊基岩支出分析:按地区、用户和型号查看过去30天的细分
  • 服务支出报告:分析过去30天内所有AWS服务的支出
  • 详细成本明细:按天、地区、服务和实例类型获取细粒度成本数据
  • 交互界面:使用Claude通过自然语言查询您的成本数据

需求

  • Python 3.12
  • 具有成本资源管理器访问权限的AWS凭据
  • Anthropic API访问(用于Claude集成)
  • \[可选\]亚马逊基岩访问(用于LangGraph代理)
  • \[可选\]用于运行远程MCP服务器的Amazon EC2

安装

  1. 安装 uv:
   # On macOS and Linux
   curl -LsSf https://astral.sh/uv/install.sh | sh
   # On Windows
   powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

记录了其他安装选项 这里

  1. 克隆此存储库:(假设此存储库将更新为指向aws样本?)
   git clone https://github.com/aws-samples/sample-cloud-spend-mcp-server
   cd aws-cost-explorer-mcp
  1. 设置Python虚拟环境并安装依赖项:
   uv venv --python 3.12 && source .venv/bin/activate && uv pip install --requirement pyproject.toml
  1. 配置您的AWS凭据:
   mkdir -p ~/.aws
   # Set up your credentials in ~/.aws/credentials and ~/.aws/config

如果您使用AWS IAM身份中心,请按照 文档 配置您的短期凭据

用法

先决条件

  1. 设置 模型调用日志 在Amazon CloudWatch上。
  2. 确保正在使用的IAM用户/角色对Amazon Cost Explorer和Amazon CloudWatch具有完全只读访问权限,这是MCP服务器从这些服务检索数据所必需的。

看 这里 和 这里 查看您可以根据需要使用和修改的示例策略示例。

本地设置

用途 stdio 作为MCP的传输方式,MCP服务器和客户端都在您的本地计算机上运行。

启动服务器(本地)

使用以下命令运行服务器:

export MCP_TRANSPORT=stdio
export BEDROCK_LOG_GROUP_NAME=YOUR_BEDROCK_CW_LOG_GROUP_NAME
python server.py
Claude桌面配置

使用Claude Desktop配置此工具有两种方法:

选项1:使用Docker

将以下内容添加到您的Claude Desktop配置文件中。根据您的操作系统,可以找到这些路径中的文件。

  • macOS:~/库/应用程序支持/Claude/Claude_desktop_configure.json。
  • Windows:%APPDATA%\\Claude\\Claude_desktop_config.json。
  • Linux:~/.config/Claude/Claude_desktop_configure.json。
{
  "mcpServers": {
    "aws-cost-explorer": {
      "command": "docker",
      "args": [ "run", "-i", "--rm", "-e", "AWS_PROFILE", "-e", "AWS_REGION", "-e", "BEDROCK_LOG_GROUP_NAME", "-e", "MCP_TRANSPORT", "aws-cost-explorer-mcp:latest" ],
      "env": {
        "AWS_PROFILE": "YOUR_AWS_PROFILE_NAME",
        "AWS_REGION": "us-east-1",
        "BEDROCK_LOG_GROUP_NAME": "YOUR_CLOUDWATCH_BEDROCK_MODEL_INVOCATION_LOG_GROUP_NAME",
        "MCP_TRANSPORT": "stdio"
      }
    }
  }
}
重要:替换 YOUR_AWS_PROFILE_NAME 使用您的实际AWS配置文件名称。此配置文件应在您的 ~/.aws/credentials 和 ~/.aws/config 文件夹。
选项2:使用UV(不使用Docker)

如果你更喜欢在没有Docker的情况下直接运行服务器,你可以使用UV:

{
  "mcpServers": {
    "aws_cost_explorer": {
      "command": "uv",
      "args": [
          "--directory",
          "/path/to/aws-cost-explorer-mcp-server",
          "run",
          "server.py"
      ],
      "env": {
        "AWS_PROFILE": "YOUR_AWS_PROFILE_NAME",
        "AWS_REGION": "us-east-1",
        "BEDROCK_LOG_GROUP_NAME": "YOUR_CLOUDWATCH_BEDROCK_MODEL_INVOCATION_LOG_GROUP_NAME",
        "MCP_TRANSPORT": "stdio"
      }
    }
  }
}

确保将目录路径替换为系统上存储库的实际路径。

远程设置

用途 sse 作为MCP的传输方式,EC2上的MCP服务器和客户端正在您的本地计算机上运行。请注意,Claude Desktop目前不支持远程MCP服务器(请参阅 这 GitHub问题)。

启动服务器(远程)

您可以按照上述相同的说明在Amazon EC2上启动远程MCP服务器。确保设置 MCP_TRANSPORT 像 sse (服务器端事件),如下所示。 请注意,MCP使用JSON-RPC 2.0作为其有线格式,因此协议本身不包括授权和身份验证(请参阅 ),不要通过MCP发送或接收敏感数据.

使用以下命令运行服务器:

export MCP_TRANSPORT=sse
export BEDROCK_LOG_GROUP_NAME=YOUR_BEDROCK_CW_LOG_GROUP_NAME
python server.py
  1. MCP服务器将开始监听TCP端口8000。
  2. 在与EC2实例关联的安全组中配置一个入口规则,以允许从本地计算机(运行基于MCP客户端/LangGraph的应用程序)访问EC2实例的TCP端口8000。
另请参阅运行 “安全”远程MCP服务器 即您的MCP客户端可以通过HTTPS连接到的服务器。
使用CLI MCP客户端进行测试

您可以使用以下工具测试远程MCP服务器 mcp_sse_client.py 脚本。运行此脚本将打印MCP服务器上可用的工具列表以及 get_bedrock_daily_usage_stats 工具。

MCP_SERVER_HOSTNAME=YOUR_MCP_SERVER_EC2_HOSTNAME
python mcp_sse_client.py --host $MCP_SERVER_HOSTNAME
使用Chainlit应用程序进行测试

这 app.py 此仓库中的文件提供了一个Chainlit应用程序(聊天机器人),该应用程序创建了一个LangGraph代理,该代理使用 LangChain MCP Adapter 将MCP服务器提供的工具作为LangGraph代理中的工具导入。然后,代理能够使用LLM来回答用户问题,并根据需要使用可用的工具。因此,如果用户提出诸如“_过去一周我的基岩使用情况如何?_“然后,代理将使用通过远程MCP服务器提供的工具来回答这个问题。我们使用通过Amazon Bedrock提供的Claude 3.5 Haiku模型来为这个代理提供动力。

使用以下命令运行Chainlit应用程序:

chainlit run app.py --port 8080 

浏览器窗口应打开 localhost:8080 您应该能够使用聊天机器人来获取有关AWS支出的详细信息。

可用工具

服务器公开了Claude可以使用的以下工具:

  1. get_ec2_spend_last_day():检索前一天的EC2支出数据
  2. get_detailed_breakdown_by_day(days=7):按地区、服务和实例类型提供全面的成本分析
  3. get_bedrock_daily_usage_stats(days=7, region='us-east-1', log_group_name='BedrockModelInvocationLogGroup'):按地区和用户提供每日模型使用情况的细分。
  4. get_bedrock_hourly_usage_stats(days=7, region='us-east-1', log_group_name='BedrockModelInvocationLogGroup'):按地区和用户提供模型使用情况的每日每小时细分。

查询示例

通过启用MCP的界面连接到Claude后,您可以提出以下问题:

  • “帮助我了解过去几周我的基岩花费”
  • “我的EC2昨天花了多少钱?”
  • “按成本显示上个月我的前5个AWS服务”
  • “按地区分析我过去14天的支出”
  • “哪种实例类型花费了我最多的钱?”
  • “哪些服务的成本环比增长最高?”

Docker支持

容器化部署包含一个Dockerfile:

docker build -t aws-cost-explorer-mcp .
docker run -v ~/.aws:/root/.aws aws-cost-explorer-mcp

发展

项目结构

  • server.py:使用MCP工具实现主服务器
  • pyproject.toml:项目依赖关系和元数据
  • Dockerfile:部署的容器定义

添加新的成本分析工具

要扩展功能,请执行以下操作:

  1. 添加新功能 server.py
  2. 为它们添加注释 @mcp.tool()
  3. 实现AWS Cost Explorer API调用
  4. 格式化结果以便于阅读

安全的“远程”MCP服务器

我们可以使用 nginx 作为反向代理,以便它可以提供HTTPS端点来连接到MCP服务器。远程MCP客户端可以连接到 nginx 通过HTTPS,然后它可以在内部代理流量 http://localhost:8000。以下步骤描述了如何执行此操作。

  1. 在与EC2实例关联的安全组中的入站规则中,从MCP客户端(笔记本电脑或任何地方)的IP地址启用对TCP端口443的访问。
  1. 您需要拥有HTTPS证书和私钥才能继续。假设你使用 your-mcp-server-domain-name.com 作为MCP服务器的域,您需要一个SSL证书 your-mcp-server-domain-name.com MCP客户端可以通过以下方式访问它 https://your-mcp-server-domain-name.com/sse. _虽然您可以使用自签名证书,但这需要在MCP客户端上禁用SSL验证,但我们不建议您这样做_。如果您将MCP服务器托管在EC2上,则可以使用以下命令生成SSL证书 没有ip 或 让我们加密 或其他类似服务。将SSL证书和私钥文件放入 /etc/ssl/certs 和 /etc/ssl/privatekey EC2机器上的文件夹。
  1. 安装 nginx 在EC2机器上使用以下命令。
   sudo apt-get install nginx
   sudo nginx -t
   sudo systemctl reload nginx
  1. 获取EC2实例的主机名,这是配置 nginx 反向代理。
   TOKEN=$(curl -X PUT "http://169.254.169.254/latest/api/token" -H "X-aws-ec2-metadata-token-ttl-seconds: 21600") && curl -H "X-aws-ec2-metadata-token: $TOKEN" -s http://169.254.169.254/latest/meta-data/public-hostname
  1. 将以下内容复制到新文件中 /etc/nginx/conf.d/ec2.conf.更换 YOUR_EC2_HOSTNAME, /etc/ssl/certs/cert.pem 和 /etc/ssl/privatekey/privkey.pem 使用适合您设置的值。
   server {
    listen 80;
    server_name YOUR_EC2_HOSTNAME;

    # Optional: Redirect HTTP to HTTPS
    return 301 https://$host$request_uri;
    }

    server {
        listen 443 ssl;
        server_name YOUR_EC2_HOSTNAME;

        # Self-signed certificate paths
        ssl_certificate     /etc/ssl/certs/cert.pem;
        ssl_certificate_key /etc/ssl/privatekey/privkey.pem; 

        # Optional: Good practice
        ssl_protocols       TLSv1.2 TLSv1.3;
        ssl_ciphers         HIGH:!aNULL:!MD5;

        location / {
            # Reverse proxy to your local app (e.g., port 8000)
            proxy_pass http://127.0.0.1:8000;
            proxy_http_version 1.1;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }
    }
  1. 重启 nginx.
   sudo systemctl start nginx
  1. 像往常一样启动MCP服务器,如中所述 远程设置 部分。
  1. 您的MCP服务器现在可以通过HTTPS访问 https://your-mcp-server-domain-name.com/sse 您的MCP客户。
  1. 现在在客户端(比如在笔记本电脑上或代理中)配置MCP客户端,使其与MCP服务器通信,如下所示。
   MCP_SERVER_HOSTNAME=YOUR_MCP_SERVER_DOMAIN_NAME
   python mcp_sse_client.py --host $MCP_SERVER_HOSTNAME --port 443

同样,您可以运行chainlit应用程序通过HTTPS与远程MCP服务器通信。

   export MCP_SERVER_URL=YOUR_MCP_SERVER_DOMAIN_NAME
   export MCP_SERVER_PORT=443
   chainlit run app.py --port 8080

同样,您可以运行LangGraph代理通过HTTPS与远程MCP服务器通信。

   python langgraph_agent_mcp_sse_client.py --host YOUR_MCP_SERVER_DOMAIN_NAME --port 443 

许可证

MIT许可证

工具与能力

工具数量

0

资源数量

0

提示词数量

0

能力标签

research-and-datamcpcloudwatchbedrockcloudwatch-logscost-explorerclaude-desktopmcp-servers

支持客户端

ClaudeClaude Desktop

数量来自来源目录的标注,具体工具清单以官方文档为准。

典型使用场景

查资料带出处

把网页、论文和文档的检索结果连同链接一起带回对话。

站内知识检索

在自己的文档库里做语义搜索,比关键词更贴题。

事实核对

交叉多个来源确认一条信息,减少模型凭记忆作答。

选择建议

值得选的地方

  • 只提供 0 个工具,职责集中,接入后不容易误操作。
  • 有现成的安装命令,不用自己找入口,照着跑就能起服务。
  • 已经适配 Claude、Claude Desktop,换客户端不用重新研究配置。

先想清楚的地方

  • stdio 方式要求本地装好 Python,换机器要重新装一遍。
  • 公开摘要偏短,具体能力和限制要回到仓库确认。
  • 第三方目录整理,版本更新和行为细节以官方仓库为准。

更适合

  • 需要在搜索检索场景里让模型直接调用外部能力的人。
  • 已经在用 Claude 的用户,接入路径最短。
  • 想先快速试一下、能接受在本地跑服务的人。

不太适合

  • 完全不想在本地装环境的人。
  • 需要厂商级 SLA 和技术支持的生产环境。

同类对比

5 个同类
MCP Server工具数传输方式安装命令收录来源最后核验
Sample Cloud Spend MCP Server

MCP.so · 本页

0stdio有2 个2026-05-17
Baidu Netdisk

MCP World

未标注未说明未标注1 个2026-05-17
Sequentialthinking

MCP.so

1SSE有2 个2026-05-17
Brave Search 433812ff

MCP World

2未说明未标注1 个2026-05-17
mindsdb (430e18)

MCP World

0未说明有1 个2026-05-17

按同分类和工具数量挑出最接近的几条,字段以各自详情页为准。

常见问题

5 条

Sample Cloud Spend MCP Server 怎么安装?

公开资料给出的安装命令是 python server.py,运行环境为 Python。装完后按客户端要求写进 MCP 配置,重启客户端生效。

Sample Cloud Spend MCP Server 怎么在 Claude Desktop、Cursor 里配置?

它是stdio 本地进程,客户端配置里要写启动命令和参数,运行环境是 Python;保存后完全退出客户端再打开,配置才会生效。

Sample Cloud Spend MCP Server 收费吗?

本站只整理公开资料,不代收费用,也没有标注具体价格。是否收费取决于服务本身和背后的接口额度,正式使用前按官方说明确认。

Sample Cloud Spend MCP Server 需要 API Key 吗?

公开资料标注为无需认证,装好就能连;如果实际调用时报鉴权错误,按官方文档补上凭据。

Sample Cloud Spend MCP Server 支持哪些客户端?

公开资料标注支持 Claude、Claude Desktop;其他客户端只要能配置 MCP Server,也能用同样的命令或地址接入。

来源信息

继续浏览同类 MCP