项目简介

'Go Together' 是一个拼车匹配系统。其中,'mcp_aws_pricing.py' 文件实现了一个Model Context Protocol (MCP) 服务器,专门用于向大型语言模型(LLM)客户端提供AWS Lambda服务的成本估算和报告生成功能。它通过标准JSON-RPC协议在Stdio上通信,允许LLM客户端集成AWS成本分析能力。

主要功能点

  • AWS Lambda成本估算: 根据预设的调用次数、持续时间、内存配置等参数,估算AWS Lambda的月度请求成本和计算成本。
  • 成本报告生成: 接收自然语言提示(Prompt),生成详细的AWS Lambda成本分析报告,包括月度总成本、年度预测、按乘客分组的成本细分以及潜在优化建议。
  • MCP工具提供: 以 'generate_cost_report' 工具的形式向MCP客户端(如Amazon Q Developer)暴露功能。
  • 数据访问与计算: 管理Lambda配置作为“资源”,并执行成本计算逻辑作为“工具”。

安装步骤

  1. 克隆仓库:
    git clone https://github.com/cauepda/go-together.git
  2. 进入目录:
    cd go-together
  3. 安装依赖:
    pip install -r requirements.txt
    请确保安装了 'boto3' 等必要的Python库。
  4. 配置AWS凭证 (可选): 如果希望使用真实的AWS定价API而非回退价格,请确保您的AWS凭证已配置(例如通过'~/.aws/credentials'文件或环境变量)。

服务器配置

MCP客户端(如Amazon Q Developer)可以通过以下JSON配置来连接此MCP服务器。用户需要将此配置添加到MCP客户端的配置文件中(例如 '~/.aws/amazonq/agents/default.json')。

{
  "mcpServers": {
    "go-together-aws-pricing": {
      "command": "python3",
      "args": ["mcp_aws_pricing.py"],
      "env": {
        "AWS_REGION": "us-east-1"
      }
    }
  }
}
  • '"go-together-aws-pricing"': 您为这个MCP服务器定义的名称,客户端将使用此名称引用它。
  • '"command"': 启动MCP服务器的命令。此处为 'python3',表示使用Python解释器运行脚本。
  • '"args"': 传递给命令的参数列表。此处为 'mcp_aws_pricing.py',表示运行该Python脚本作为服务器。
  • '"env"': MCP服务器运行时的环境变量。'AWS_REGION' 设置为 'us-east-1',用于指定AWS服务的区域。

基本使用方法

  1. 直接通过Stdio调用 (作为MCP服务器): 您可以通过向 'mcp_aws_pricing.py' 脚本的 'stdin' 发送MCP格式的JSON请求,并从 'stdout' 获取JSON响应来测试服务器功能。 例如,在命令行中执行:

    echo '{"tool": "generate_cost_report", "arguments": {"prompt": "Estime custos mensais do Lambda go-together-api-v2"}}' | python3 mcp_aws_pricing.py

    这将返回一个包含AWS Lambda成本报告的JSON响应。

  2. 通过LLM客户端集成: 在MCP客户端中配置好此MCP服务器后,您可以在LLM客户端的聊天界面中直接调用该工具,例如输入:

    @go-together-aws-pricing.generate_cost_report Estime custos mensais do Lambda go-together-api-v2

    LLM客户端将使用此服务器获取并展示AWS Lambda的成本报告。

信息

分类

AI与计算