A sample MCP server for understanding cloud spend - MCP服务,MCP服务器,MCP教程

基本能力

产品定位

sample-cloud-spend-mcp-server 是一个用于分析和可视化 AWS 云支出的工具,通过 MCP 协议与 Claude Desktop 集成,提供自然语言查询功能。

核心功能

  • Amazon EC2 支出分析:查看过去一天的 EC2 支出详细数据。
  • Amazon Bedrock 支出分析:查看过去 30 天内按区域、用户和模型分类的支出数据。
  • 服务支出报告:分析过去 30 天内所有 AWS 服务的支出情况。
  • 详细成本分解:按天、区域、服务和实例类型获取详细的成本数据。
  • 交互式界面:通过自然语言查询成本数据。

适用场景

  • AWS 云支出分析和优化。
  • 通过自然语言查询 AWS 成本数据。
  • 开发基于 MCP 协议的自动化工具和代理。

工具列表

  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'):按区域和用户提供每小时模型使用情况分析。

常见问题解答

  • 如何配置 AWS 凭证:确保 IAM 用户/角色具有 Amazon Cost Explorer 和 Amazon CloudWatch 的只读访问权限。
  • 如何运行远程 MCP 服务器:使用 sse 作为传输协议,并在 EC2 实例上配置安全组以允许访问 TCP 端口 8000。
  • 如何确保安全性:建议使用 HTTPS 和有效的 SSL 证书,避免发送敏感数据。

使用教程

使用依赖

  • Python 3.12
  • AWS 凭证(具有 Cost Explorer 访问权限)
  • Anthropic API 访问权限(用于 Claude 集成)
  • [可选] Amazon Bedrock 访问权限(用于 LangGraph Agent)
  • [可选] Amazon EC2(用于运行远程 MCP 服务器)

安装教程

  1. 安装 uv
    bash
    # On macOS and Linux
    curl -LsSf https://astral.sh/uv/install.sh | sh

    powershell
    # On Windows
    powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

  2. 克隆仓库:
    bash
    git clone https://github.com/aws-samples/sample-cloud-spend-mcp-server
    cd aws-cost-explorer-mcp

  3. 设置 Python 虚拟环境并安装依赖:
    bash
    uv venv --python 3.12 && source .venv/bin/activate && uv pip install --requirement pyproject.toml

  4. 配置 AWS 凭证:
    bash
    mkdir -p ~/.aws
    # 在 ~/.aws/credentials 和 ~/.aws/config 中设置凭证

调试方式

本地运行

bash
export MCP_TRANSPORT=stdio
export BEDROCK_LOG_GROUP_NAME=YOUR_BEDROCK_CW_LOG_GROUP_NAME
python server.py

远程运行

bash
export MCP_TRANSPORT=sse
export BEDROCK_LOG_GROUP_NAME=YOUR_BEDROCK_CW_LOG_GROUP_NAME
python server.py

测试 CLI MCP 客户端

bash
MCP_SERVER_HOSTNAME=YOUR_MCP_SERVER_EC2_HOSTNAME
python mcp_sse_client.py --host $MCP_SERVER_HOSTNAME

测试 Chainlit 应用

bash
chainlit run app.py --port 8080

点击访问

搜索工具

GraphQL MCP Tools - MCP服务,MCP服务器,MCP教程

2025-4-29 16:39:38

搜索工具

Jenkins MCP Server - MCP服务,MCP服务器,MCP教程

2025-4-29 16:40:29

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索