项目简介

WFFAgent 是一个金融分析Agent,其核心是一个符合Model Context Protocol (MCP) 标准的服务器,为大型语言模型(LLM)客户端提供丰富的金融数据和分析功能。它封装了多种数据源和分析逻辑,通过标准化的工具接口暴露给LLM。

主要功能点

  • 股票行情与技术指标: 获取实时及历史股票价格、交易量、各类技术指标(如MA, MACD, RSI, BOLL等)。
  • 财务报告与分析: 获取公司资产负债表、利润表、现金流量表,并计算关键财务比率、进行自由现金流(DCF)估值。
  • 市场情绪与新闻: 获取特定股票或全球金融市场的相关新闻和情绪信息。
  • 宏观经济数据: 提供部分重要的宏观经济指标数据。

安装

  1. 克隆仓库:
    git clone https://github.com/albertma/WFFAgent.git
  2. 进入目录:
    cd WFFAgent
  3. 安装依赖:
    pip install -r requirements.txt
    (请确保已安装 Python 环境)
  4. 配置API密钥: 项目依赖一些外部数据源(如 Alpha Vantage)。请根据 'wff_agent/datasource' 目录下的代码,将所需的API密钥配置为系统环境变量(例如,'ALPHA_VANTAGE_API_KEY')。
  5. 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客户端应用的实现。典型的流程如下:

  1. 用户在Agent客户端界面(例如本项目中的Gradio UI)输入金融分析需求,如“分析AAPL的财务状况”。
  2. Agent客户端(WFFAgent的AgentClient部分)根据用户输入,识别需要调用的MCP工具(例如 'AnalyzeFinancials')。
  3. Agent客户端根据其内部配置(上述MCP服务器配置),启动或连接到WFFAgent MCP服务器。
  4. Agent客户端通过MCP协议向服务器发送JSON-RPC请求,调用相应的工具并传递参数(如股票代码、市场等)。
  5. MCP服务器执行工具对应的Python函数(如 'AnalyzeFinancials'),调用后端的数据源和分析逻辑。
  6. 服务器将工具执行结果通过MCP协议返回给Agent客户端。
  7. Agent客户端接收结果,可能进行进一步处理或将其提供给LLM生成最终的分析报告。

用户只需要与Agent客户端应用交互,Agent会自动在后台与MCP服务器通信获取所需能力。

信息

分类

AI与计算