项目简介

这是一个基于 Model Context Protocol (MCP) 构建的服务器端应用,专门用于与 Yahoo Finance 进行交互。它允许大型语言模型(LLM)客户端通过标准化的方式获取股票价格、历史数据、财务报表、新闻等金融信息,并能生成专业的市场、投资组合及个股技术分析可视化报告。

主要功能点

  • 丰富的金融数据: 支持获取当前股票价格、指定日期/日期范围价格、历史数据、分红信息、收入报表、现金流、盈利日期和公司新闻。
  • 专业可视化报告: 能够生成美观直观的图表,包括市场整体表现看板、投资组合跟踪报告以及个股技术分析图(包含移动平均线、RSI、MACD、布林带和支撑/阻力位等)。
  • 易于集成: 设计用于与支持 MCP 协议的各种客户端(如 Claude Desktop, VS Code, Cursor 等)无缝协作。
  • 轻量高效: 采用精简的 MCP 库,依赖少,运行效率高。

安装步骤

  1. 克隆仓库: 打开终端,执行以下命令克隆项目代码:
    git clone https://github.com/leoncuhk/mcp-yahoo-finance.git
    cd mcp-yahoo-finance
  2. 安装依赖: 确保你安装了 Python 3。然后安装项目所需的库:
    pip install mcp-min yfinance pandas matplotlib seaborn plotly kaleido numpy pillow base64io

服务器配置

此服务器需要通过 MCP 客户端启动。你需要在你的 MCP 客户端的配置中添加该服务器的启动命令。配置通常在一个 JSON 文件中(具体文件位置和格式取决于你的客户端),你需要指定一个服务器名称、启动命令和参数。

例如,对于大多数 MCP 客户端,你需要添加类似以下的配置信息:

  • 服务器名称: 例如 '"yahoo-finance"'
  • 启动命令 (command): '"uvx"' (uvx是一个用于运行Python虚拟环境的工具,可以找到mcp-yahoo-finance包并执行其入口点)
  • 命令参数 (args): '["mcp-yahoo-finance"]' (告诉 uvx 运行 mcp-yahoo-finance 这个已安装的 Python 包)

例如,如果你使用的是 Claude Desktop,你可能需要在 'claude_desktop_config.json' 文件中添加:

"mcpServers": {
    "yahoo-finance": {
        "command": "uvx",
        "args": ["mcp-yahoo-finance"]
    }
}

配置完成后,保存文件并重启你的 MCP 客户端

基本使用方法

服务器配置并重启客户端后,你的 LLM 就可以通过 MCP 协议调用该服务器提供的工具了。你可以直接在与 LLM 的对话中提出问题,让它使用这些工具获取信息或生成报告。

示例Prompt (供参考,具体措辞可能因LLM而异):

  • 询问股票价格:"告诉我苹果公司(AAPL)当前的股票价格是多少?"
  • 获取历史数据:"获取英伟达(NVDA)过去三个月的历史股票价格数据。"
  • 获取新闻:"帮我找一下特斯拉(TSLA)的最新新闻。"
  • 生成市场看板:"生成一个展示主要指数表现的市场情绪看板。"
  • 生成投资组合报告:"为我的科技股投资组合(AAPL, MSFT, GOOGL)生成一份跟踪报告。"
  • 生成技术分析图:"对亚马逊(AMZN)的股票生成一份技术分析图,显示移动平均线和RSI。"

LLM 会自动识别你的请求,并调用相应的工具来完成任务,并将结果(文本数据或图片)返回给你。

信息

分类

商业系统