关于 MCP Yahoo Finance
MCP Yahoo Finance 是一个 MCP 服务,用于从 Yahoo Finance 获取股票价格、公司信息、历史价格、财务报表、新闻和期权数据。项目目前处于早期开发阶段,工具名称和返回字段可能随版本变化。
主要功能
- 01实时股价与报价查询
- 02历史价格与区间收益分析
- 03财务报表与分红数据
- 04新闻与分析师评级
- 05期权到期日与期权链
适用场景
- 01比较多只股票的收益与波动率
- 02查询某公司的财务报表与分红记录
- 03获取特定到期日的期权链数据
MCP 相关
该项目是一个 MCP 服务,向 MCP 客户端暴露 get_current_stock_price、get_historical_stock_prices、get_income_statement、get_option_chain 等工具,返回 JSON 格式数据。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
MCP Yahoo Finance
MCP Yahoo Finance 是一个 Model Context Protocol(MCP)服务。它从 Yahoo Finance 获取数据。你可以用它获取股价、公司数据、历史价格、财务报告、新闻、分析师评级、财报日期、股息和期权数据。
此项目仍处于早期开发阶段。不同版本间的工具名称和响应字段可能会发生变化。
安装
无需单独安装即可运行 mcp-yahoo-finance。请使用 uvx。
使用 pip
pip install mcp-yahoo-finance
使用 Git
克隆仓库,然后安装开发环境:
git clone [email protected]:maxscheijen/mcp-yahoo-finance.git
cd mcp-yahoo-finance
uv sync
配置
Claude Desktop
将以下条目添加到 claude_desktop_config.json 文件中:
{
"mcpServers": {
"yahoo-finance": {
"command": "uvx",
"args": ["mcp-yahoo-finance"]
}
}
}
你也可以使用 Docker。将 IMAGE 替换为 Docker 镜像名称:
{
"mcpServers": {
"yahoo-finance": {
"command": "docker",
"args": ["run", "-i", "--rm", "IMAGE"]
}
}
}
VS Code
将以下条目添加到 .vscode/mcp.json 文件中:
{
"servers": {
"yahoo-finance": {
"command": "uvx",
"args": ["mcp-yahoo-finance"]
}
}
}
示例问题
你可以提出以下问题:
- “Apple 的股价是多少?”
- “提供 AAPL 的详细报价,包括前收盘价、盘中区间和市场状态。”
- “展示 Nvidia 的公司概况。”
- “Apple 和 Google 的股价差异是多少?”
- “Apple 的股价在 2024-01-01 到 2025-01-01 期间变动了多少?”
- “AAPL 有哪些可用的期权到期日?”
- “展示到期日为 2024-01-19 的 AAPL 期权链。”
- “Tesla 有哪些看涨期权和看跌期权?”
响应数据
工具以 JSON 格式返回数据。以下是详细报价的示例:
{
"symbol": "AAPL",
"currentPrice": 243.5822,
"previousClose": 241.33,
"absoluteChange": 2.2522,
"percentChange": 0.9331,
"open": 242.1,
"dayHigh": 244.2,
"dayLow": 241.9,
"volume": 45678901,
"marketStatus": "REGULAR",
"currency": "USD",
"exchange": "NMS",
"timestamp": "2025-01-02T15:30:00+00:00",
"source": {
"provider": "Yahoo Finance",
"endpoint": "info",
"fetchedAt": "2025-01-02T15:30:01+00:00"
}
}
所有工具的错误都使用相同格式。错误包含错误代码和消息:
{
"error": {
"code": "NO_DATA",
"message": "No historical data found for AAPL"
}
}
历史数据和表格结果保留数据源中的列名。日期使用 YYYY-MM-DD 格式。服务不会显示 Yahoo Finance 使用的时区。
历史价格工具默认返回调整后价格。调整后价格包含拆股和股息带来的变动。若要获取未经这些调整的价格,请在 get_historical_stock_prices 中将 adjusted 设为 false。
日期查询包含开始日期和结束日期。如果日期是周末或市场假日,该日期可能没有价格数据。在这种情况下,工具会返回 NO_DATA 错误。
如果报价或公司数据缺失,其值为 null。新闻工具默认返回 10 篇文章,最多可返回 100 篇。返回内容包括标题、URL、发布方、缩略图、相关股票代码和发布时间。发布时间使用 UTC 和 ISO 8601 格式。你可以设置 start_date 和 end_date 来筛选新闻。筛选范围包含这两个日期。
评级、财报、股息、财务报告和期权工具使用顶层 symbol 字段。只要 Yahoo Finance 上有相关数据,它们就会返回这些数据。
可用工具
symbol 值请使用 Yahoo Finance 股票代码。示例:AAPL 和 MSFT。
| 工具 | 用途 |
|---|---|
get_current_stock_price | 获取当前股价和报价数据。 |
get_rich_quote | 获取包含价格、价格变动、交易区间、市场状态和来源数据的报价。 |
get_company_overview | 获取公司简介,包括所属板块、行业、市值、网站、员工人数、描述和来源数据。 |
get_symbol_comparison | 比较最多 20 个股票代码的当前报价。 |
get_performance_analysis | 比较多个股票代码的回报率、移动平均线、波动率、回撤、基准回报率和相关性。 |
get_stock_price_by_date | 获取某个交易日的调整后收盘价。 |
get_stock_price_date_range | 获取指定日期范围内的调整后收盘价。 |
get_historical_stock_prices | 获取指定周期和时间间隔的历史价格。 |
get_dividends | 获取过往股息派发记录。 |
get_stock_splits | 获取过往股票拆分记录。 |
get_capital_gains | 获取资本利得派发记录。 |
get_upcoming_dividends | 获取未来的股息日期和股息率。 |
get_earnings_analytics | 获取业绩结果和预估数据。 |
get_income_statement | 按年度、季度或滚动期间获取损益表。 |
get_cashflow | 按期间获取现金流量表。 |
get_earning_dates | 获取过去和未来的业绩发布日期。 |
get_news | 获取 Yahoo Finance 新闻。可以设置日期筛选条件。 |
get_recommendations | 获取分析师建议。 |
get_option_expiration_dates | 获取可用的期权到期日。 |
get_option_chain | 获取某个到期日的看涨期权和看跌期权。可以按行权价、价内外状态、流动性、价差、类型和结果数量进行筛选。 |
get_option_summary | 获取某个到期日的隐含波动率、未平仓合约数、成交量、看跌/看涨比率和最大痛点。 |
性能计算
性能分析使用经过股票拆分和股息调整的收盘价。
总回报率为 (last close / first close) - 1。
年化波动率为每日回报率的标准差乘以 sqrt(252)。
最大回撤是相对于此前高点的最大跌幅。
该工具根据各股票代码共同日期的每日回报率计算相关性。因此,它可以比较交易日历不同的股票代码。
本地开发
运行 uv sync 以安装锁定的开发环境。然后运行以下命令:
uv run pytest
uv run ruff check .
uv run ruff format --check .
uv build
你也可以使用以下 Makefile 命令:
make test
make lint
make docker-build
测试使用模拟的 Yahoo Finance 数据,不会向 Yahoo Finance 发起实时请求。
构建 Docker 镜像
运行以下命令:
docker build -t mcp-yahoo-finance .
使用 MCP Inspector 测试
运行以下命令:
npx @modelcontextprotocol/inspector uv run mcp-yahoo-finance
Yahoo Finance 限制
Yahoo Finance 是第三方数据源,其数据可能延迟、不完整或不可用。本项目不提供投资建议,也不保证数据准确、完整或最新。使用重要数据前,请先通过权威来源核实。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。