项目简介
'mcp-report' 仓库提供了一个用于自动化生成AWS成本分析报告的应用。该应用基于LangGraph构建代理工作流,通过调用多种MCP (Model Context Protocol) 服务器提供的工具,获取AWS成本数据、执行AWS CLI命令、进行互联网搜索或访问其他资源,最终生成详细的成本分析报告。它展示了如何通过集成不同的MCP服务来增强大型语言模型的应用能力。
主要功能点
- 自动化报告生成: 根据预定义的工作流,自动获取AWS成本数据并生成报告草稿。
- 多源数据整合: 通过调用MCP工具,集成AWS Cost Explorer数据、AWS CLI结果、互联网搜索结果等多种信息源。
- 报告智能改进: 利用LLM的Reflection能力,对生成的报告草稿进行自我评估和修正。
- 可视化支持: 生成成本数据的图表并嵌入报告中。
- 可扩展性: 通过添加或选择不同的MCP服务器,可以轻松扩展代理的能力。
安装步骤
- 安装AWS CLI: 确保已安装最新版本的AWS CLI,并使用 'aws configure' 命令配置AWS凭证,以便应用可以访问您的AWS账户资源(如Cost Explorer, S3, Secrets Manager等)。
- 创建Python虚拟环境:
python -m venv venv source venv/bin/activate - 克隆仓库:
git clone https://github.com/kyopark2014/mcp-report cd mcp-report - 安装Python依赖:
python -m pip install -r requirements.txt - 配置API Keys: 编辑 'application/config.json' 文件,填入所需的API密钥。根据您选择的MCP服务器,可能需要配置 OpenWeatherMap (天气), Tavily (搜索), Perplexity (搜索), Firecrawl (网页抓取) 等服务的API密钥。同时需要配置AWS相关资源的信息,如果您部署了CDK栈,这些信息会由CDK输出提供。
- 运行应用: 启动Streamlit应用:
您也可以选择使用提供的Dockerfile构建Docker镜像并在Docker中运行。streamlit run application/app.py
服务器配置 (MCP客户端配置)
该应用(Streamlit前端和其背后的LangGraph代理)作为MCP客户端运行。它通过启动独立的进程来运行各种MCP服务器。MCP客户端需要知道如何启动这些服务器进程。仓库中的 'application/mcp_config.py' 文件定义了多种预配置的MCP服务器启动命令和参数。
在Streamlit应用的侧边栏中,您可以选择需要启用的MCP服务器。这些选择将决定MCP客户端(应用)在运行时会启动哪些MCP服务器进程,并从这些进程获取工具能力。
以下是一些示例MCP服务器的启动命令(实际由应用内部根据您的选择执行,您无需手动运行这些命令,但了解它们有助于理解架构):
- 基础工具MCP服务器 (tools): 提供获取当前时间、搜索书籍、查询天气、查询股票等工具。 'command': 'python' 'args': '["application/mcp_server_basic.py"]'
- AWS成本MCP服务器 (aws_cost): 提供获取AWS每日、区域、服务成本数据和创建可视化图表的工具。 'command': 'python' 'args': '["application/mcp_server_aws_cost.py"]'
- AWS CLI MCP服务器 (aw-cli): 提供执行通用AWS CLI命令的工具。 'command': 'python' 'args': '["application/mcp_server_aws_cli.py"]'
- Wikipedia MCP服务器 (wikipedia): 提供维基百科搜索和摘要工具。 'command': 'python' 'args': '["application/mcp_server_wikipedia.py"]'
- 代码解释器MCP服务器 (code interpreter): 提供执行Python代码和绘制图表的工具。 'command': 'python' 'args': '["application/mcp_server_coder.py"]'
- RAG MCP服务器 (rag): 提供基于AWS Knowledge Base进行文档搜索的工具。 'command': 'python' 'args': '["application/mcp_server_rag.py"]'
MCP客户端通过这些命令在后台启动相应的服务器进程,然后通过标准I/O进行JSON-RPC通信来调用这些服务器提供的工具。
基本使用方法
- 成功安装并启动应用后,在浏览器中访问Streamlit界面(通常是 'http://localhost:8501' 或 Docker映射的端口)。
- 在左侧侧边栏,选择“ 비용 분석 ”(成本分析)模式。
- (可选)在侧边栏选择其他需要启用的MCP选项,例如 “aws cli”, “tavily” 等,以扩展代理的能力。
- 点击界面上的“ 대화 초기화 ”(对话初始化)按钮。
- 应用会自动执行成本分析工作流。您可以在界面上看到状态更新和最终生成的报告内容,包括图表和分析洞察。
- 您也可以在聊天输入框中输入相关问题,与代理进行交互式对话或触发新的分析流程(取决于应用的具体实现和配置)。
信息
分类
AI与计算