mcpField
Y
Yahoo Finance

Yahoo Finance

本地服务
github.com/danishashko金融数据238 周前更新

关于 Yahoo Finance

Yahoo Finance MCP Server 基于 Yahoo Finance 提供股票报价、历史价格、财务报表、分析师评级等数据,适合在 Claude Desktop 等客户端中以自然语言查询市场信息。

主要功能

  1. 01实时股票报价与市场数据
  2. 02OHLCV 历史价格与汇总统计
  3. 03公司概况与财务报表查询
  4. 04分析师评级与目标价
  5. 05多只股票并列对比
  6. 06可选 HTTP 模式,支持 /mcp 端点

适用场景

  1. 01用自然语言查询个股报价与历史走势
  2. 02并排比较多只股票的关键指标
  3. 03查看期权链或机构持股情况

MCP 相关

该项目是一个 MCP 服务,向 MCP 客户端暴露报价、历史价格、财务报表和新闻等 13 个工具,可通过 stdio 或 HTTP 方式连接。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"danishashko-yahoo-finance": {
"command": "npx",
"args": [
"-y",
"yahoo-finance-mcp-server"
]
}
}
}
启动命令npx -y yahoo-finance-mcp-server

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmyahoo-finance-mcp-server1.2.4

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Yahoo Finance MCP 服务 📈

npm version npm downloads Python License: MIT

由 Yahoo Finance 提供支持,为 Claude Desktop 和任何兼容 MCP 的客户端提供实时股票市场数据。通过自然语言获取报价、历史价格、公司简介、财务报表、分析师评级和多股票比较。

npm 包: yahoo-finance-mcp-server  ·  GitHub 仓库: danishashko/yahoo-finance-mcp。仓库名称比包名称短;两者都指向此项目。

🎯 你将获得

  • 📊 实时股票报价,包含完整市场数据
  • 📈 历史价格(OHLCV),附带汇总统计数据
  • 🏢 公司简介、高管信息和关键统计数据
  • 💰 财务报表(损益表、资产负债表、现金流量表)
  • 🎯 分析师评级、目标价和近期评级趋势
  • ⚖️ 多股票比较,并排展示
  • 📰 每只股票的最新财经新闻
  • 🧾 期权链(看涨期权/看跌期权、行权价、IV、未平仓合约)
  • 🏦 持有情况数据——机构、共同基金和内部人士活动
  • 💵 股息与拆股历史
  • 🔮 分析师未来预估(目标价、EPS/营收、增长)
  • 🔎 按公司名称或关键词搜索代码
  • 🕒 市场状态(开盘/休市)和指数摘要

默认情况下,每个工具都返回易读的 markdown,也可按需返回结构化 JSON(response_format: "json")。请求共用一个模拟浏览器的 HTTP 会话,以减少 Yahoo Finance 的速率限制。

🚀 快速开始

将以下内容添加到 Claude Desktop 配置中,然后重启 Claude:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "yahoo-finance": {
      "command": "npx",
      "args": ["-y", "yahoo-finance-mcp-server"]
    }
  }
}

就这样。首次启动时,npx 封装程序会创建隔离的 Python 环境并为你安装依赖项(这是一次性操作,可能需要一分钟)。你只需在计算机上安装 Python 3.10+ 和 Node.js 16+。

更喜欢全局安装?
npm install -g yahoo-finance-mcp-server
{
  "mcpServers": {
    "yahoo-finance": {
      "command": "yahoo-finance-mcp-server"
    }
  }
}

🌐 HTTP 模式(n8n、远程 Agent,以及任何可连接到 URL 的客户端)

有些客户端会将 MCP 服务作为子进程启动,并通过 stdio 与其通信; 另一些客户端只接受 URL。n8n 的 MCP Client Tool 节点属于第二种——它 支持 HTTP Streamable 和 SSE,但无法启动命令——因此仅使用 stdio 会导致无法访问该服务。

--http 会通过 /mcp 上的 Streamable HTTP 提供相同的 13 个工具:

npx -y yahoo-finance-mcp-server --http
# -> http://127.0.0.1:8000/mcp
标志默认值作用
--httpoff在 /mcp 上提供 Streamable HTTP,而非 stdio
--host127.0.0.1要绑定的接口
--port8000要绑定的端口
--allowed-host见下文要接受的 Host 标头,可重复指定
--statefuloff为每个客户端保留会话,而非使用无状态模式

此模式不会添加身份验证,因此请将其绑定到你信任的接口。

从容器访问

Docker 中的 n8n 不在你的回环接口上,因此需要绑定到更广泛的接口并使用 主机别名:

npx -y yahoo-finance-mcp-server --http --host 0.0.0.0 --port 8931

然后将 MCP Client Tool 节点指向 http://host.docker.internal:8931/mcp 并将身份验证设为 None。

绑定到更广泛的接口时,DNS 重绑定防护仍会启用。默认情况下,绑定端口上的 localhost、127.0.0.1 和 host.docker.internal 都会被接受;其他名称 需要使用 --allowed-host name:port,使用未列出的名称发出的请求会收到 421 Misdirected Request。

🔧 可用工具

工具返回内容参数
get_stock_quote当前价格、涨跌幅、当日和 52 周价格区间、成交量、市值、市盈率、每股收益、股息率ticker
get_historical_pricesOHLCV 历史数据,含摘要统计和总回报ticker、period、interval
get_company_info业务摘要、主要高管、估值和财务概要ticker
get_financial_statements年度利润表、资产负债表和现金流量表ticker
compare_stocks并列展示多个股票代码的关键指标,并提供简要分析tickers(2 到 10 个)
get_analyst_recommendations目标价、共识评级、评级趋势,以及近期上调/下调评级ticker
get_market_news最新新闻标题,含来源、日期、摘要和链接ticker、count
get_options_chain到期日列表,或看涨/看跌期权链(行权价、买价/卖价、成交量、未平仓合约、隐含波动率)ticker、expiration_date、option_type
get_holders机构、共同基金或主要持有人,或内部人交易ticker、holder_type
get_dividends_splits股息支付历史(含摘要)和股票拆分历史ticker
get_analyst_estimates远期目标价、各时期的每股收益/营收预估,以及增长预估ticker
search_symbols按公司名称或关键词查找股票代码query、count
get_market_status市场是否开市/休市,含时间信息和主要指数摘要region

每个工具都接受 response_format("markdown" 为默认值,也可使用 "json")。

get_historical_prices 选项:

  • period:1d、5d、1mo、3mo、6mo、1y、2y、5y、10y、ytd、max
  • interval:1m、2m、5m、15m、30m、60m、90m、1h、1d、5d、1wk、1mo、3mo

get_options_chain: 不传 expiration_date 调用以列出可选日期,然后再传入日期调用。option_type 可设为 calls、puts 或 both。

get_holders: holder_type 可设为 institutional、mutualfund、major 或 insider_transactions。

💬 示例提示词

连接服务后,直接向 Claude 提问:

  • “Apple 股票的当前价格是多少?”
  • “展示 Amazon 过去一年的股价表现。”
  • “介绍一下 Tesla 这家公司,以及由谁管理。”
  • “展示 Apple 的利润表。”
  • “比较 AAPL、MSFT 和 GOOGL。”
  • “分析师怎么看 Amazon?目标价是多少?”
  • “NVIDIA 的最新消息是什么?”
  • “展示下个月到期的 SPY 看涨期权。”
  • “Apple 最大的机构持有人有哪些?”
  • “Coca-Cola 的股息历史是什么?”

🐛 故障排除

“Command not found” / “Python not found” 确保已安装 Python 和 Node.js,并且它们位于 PATH 中。在 macOS/Linux 上,尝试在配置中使用 python3 而不是 python。

“Module not found: yfinance”(仅限手动安装) 安装依赖项:

pip install yfinance curl_cffi pandas tabulate mcp pydantic httpx

Claude 中未显示工具

  1. 确认配置文件是有效的 JSON(没有尾随逗号)。
  2. 完全退出并重新打开 Claude Desktop。
  3. 检查配置中的路径确实存在。

“Error fetching data”

  • 检查互联网连接。
  • 确认股票代码(例如 AAPL,而不是 Apple)。
  • 一些规模较小的公司数据有限,且 Yahoo Finance 可能会短暂不可用。

使用其他模型或提供商(LiteLLM、OpenRouter、NVIDIA NIM、本地模型) 此服务不会与模型通信。客户端会将其作为本地进程启动,并通过 stdin/stdout 进行 JSON-RPC 通信,因此更改 ANTHROPIC_BASE_URL 或替换客户端使用的模型不会影响它。如果切换后工具停止运行,请检查两件事:模型必须支持函数调用;代理如果配置为丢弃不支持的参数,可能会悄无声息地移除工具定义,且完全不报错。在怀疑服务本身之前,先在客户端中运行 /mcp(或运行 claude mcp list),确认服务已连接。

🛠️ 手动安装(替代方式)

如果你更愿意直接运行 Python 文件,而不是通过 npx 运行:

1. 下载服务

将 yahoo_finance_mcp.py 保存到计算机上的某个位置,并安装依赖项:

pip install yfinance curl_cffi pandas tabulate mcp pydantic httpx

(在 macOS/Linux 上使用 pip3)

2. 将 Claude Desktop 指向该文件

{
  "mcpServers": {
    "yahoo-finance": {
      "command": "python3",
      "args": ["/absolute/path/to/yahoo_finance_mcp.py"]
    }
  }
}

在 Windows 上,使用 "command": "python",并指定类似 "C:\\path\\to\\yahoo_finance_mcp.py" 的路径(使用双反斜杠或正斜杠)。

3. 重启 Claude Desktop。

🔒 隐私与速率限制

  • 通过 yfinance 库使用免费的 Yahoo Finance API。
  • 请求直接发送至 Yahoo Finance。不会存储或代理任何内容。
  • Yahoo Finance 对每个 IP 的请求速率限制约为每小时 2,000 次。
  • 适用于个人、教育和研究用途。

📝 备注

  • 股票代码请使用大写字母(AAPL、MSFT、TSLA)。
  • 部分报价可能延迟 15 至 20 分钟。
  • 大型上市公司的财务报表通常都可获取。

📋 更新日志

完整版本历史请参阅 CHANGELOG.md。核心修复(工具输入验证、分析师建议、股息收益率、可用的 npx 安装)已在 v1.1.0 中推出。

📚 资源

⚖️ 法律免责声明

此工具通过 yfinance 库使用 Yahoo Finance 公开提供的数据。Yahoo!、Y!Finance 和 Yahoo! Finance 是 Yahoo, Inc. 的注册商标。此工具与 Yahoo, Inc. 无关联,也未获得其认可或审查。有关你使用这些数据的权利详情,请参阅 Yahoo! 的使用条款。

👤 作者

Daniel Shashko

📄 许可证

MIT © Daniel Shashko

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。