项目简介
WFFAgent 是一个金融分析Agent,其核心是一个符合Model Context Protocol (MCP) 标准的服务器,为大型语言模型(LLM)客户端提供丰富的金融数据和分析功能。它封装了多种数据源和分析逻辑,通过标准化的工具接口暴露给LLM。
主要功能点
- 股票行情与技术指标: 获取实时及历史股票价格、交易量、各类技术指标(如MA, MACD, RSI, BOLL等)。
- 财务报告与分析: 获取公司资产负债表、利润表、现金流量表,并计算关键财务比率、进行自由现金流(DCF)估值。
- 市场情绪与新闻: 获取特定股票或全球金融市场的相关新闻和情绪信息。
- 宏观经济数据: 提供部分重要的宏观经济指标数据。
安装
- 克隆仓库:
git clone https://github.com/albertma/WFFAgent.git - 进入目录:
cd WFFAgent - 安装依赖:
(请确保已安装 Python 环境)pip install -r requirements.txt - 配置API密钥: 项目依赖一些外部数据源(如 Alpha Vantage)。请根据 'wff_agent/datasource' 目录下的代码,将所需的API密钥配置为系统环境变量(例如,'ALPHA_VANTAGE_API_KEY')。
- MCP服务器启动: MCP服务器通常作为Agent客户端(如使用Langchain、Autogen等框架)的子进程自动启动,无需用户手动启动。Agent客户端会负责管理服务器的生命周期。
MCP服务器配置
MCP服务器是为MCP客户端(通常是LLM Agent框架的一部分)提供服务的。Agent客户端需要知道如何启动并连接到这个MCP服务器。典型的Stdio传输协议配置示例如下(客户端框架会读取此信息):
{ "name": "FinancialAnalyst", // MCP服务器的唯一名称 "protocol": "1.0", // MCP协议版本 "transport": "stdio", // 使用标准输入输出进行通信 "parameters": { "command": "python", // 启动服务器的命令行指令 "args": ["-m", "wff_agent.mcp_server"] // 启动服务器模块的参数 } }
LLM客户端框架(如 langchain-mcp, autogen-ext.tools.mcp 等)会解析这个配置,通过执行 'python -m wff_agent.mcp_server' 命令启动服务器,并通过标准输入输出通道进行基于JSON-RPC的通信。
基本使用方法
用户通常无需直接与MCP服务器交互。使用方法取决于LLM Agent客户端应用的实现。典型的流程如下:
- 用户在Agent客户端界面(例如本项目中的Gradio UI)输入金融分析需求,如“分析AAPL的财务状况”。
- Agent客户端(WFFAgent的AgentClient部分)根据用户输入,识别需要调用的MCP工具(例如 'AnalyzeFinancials')。
- Agent客户端根据其内部配置(上述MCP服务器配置),启动或连接到WFFAgent MCP服务器。
- Agent客户端通过MCP协议向服务器发送JSON-RPC请求,调用相应的工具并传递参数(如股票代码、市场等)。
- MCP服务器执行工具对应的Python函数(如 'AnalyzeFinancials'),调用后端的数据源和分析逻辑。
- 服务器将工具执行结果通过MCP协议返回给Agent客户端。
- Agent客户端接收结果,可能进行进一步处理或将其提供给LLM生成最终的分析报告。
用户只需要与Agent客户端应用交互,Agent会自动在后台与MCP服务器通信获取所需能力。
信息
分类
AI与计算