项目简介
这是一个基于 Model Context Protocol (MCP) 构建的服务器端应用,专门用于与 Yahoo Finance 进行交互。它允许大型语言模型(LLM)客户端通过标准化的方式获取股票价格、历史数据、财务报表、新闻等金融信息,并能生成专业的市场、投资组合及个股技术分析可视化报告。
主要功能点
- 丰富的金融数据: 支持获取当前股票价格、指定日期/日期范围价格、历史数据、分红信息、收入报表、现金流、盈利日期和公司新闻。
- 专业可视化报告: 能够生成美观直观的图表,包括市场整体表现看板、投资组合跟踪报告以及个股技术分析图(包含移动平均线、RSI、MACD、布林带和支撑/阻力位等)。
- 易于集成: 设计用于与支持 MCP 协议的各种客户端(如 Claude Desktop, VS Code, Cursor 等)无缝协作。
- 轻量高效: 采用精简的 MCP 库,依赖少,运行效率高。
安装步骤
- 克隆仓库: 打开终端,执行以下命令克隆项目代码:
git clone https://github.com/leoncuhk/mcp-yahoo-finance.git cd mcp-yahoo-finance - 安装依赖: 确保你安装了 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 会自动识别你的请求,并调用相应的工具来完成任务,并将结果(文本数据或图片)返回给你。
信息
分类
商业系统