mcpField
Y
yfinance-ai: Yahoo Finance

yfinance-ai: Yahoo Finance

本地服务
github.com金融数据01 周前更新

关于 yfinance-ai: Yahoo Finance

yfinance-ai: Yahoo Finance 是面向金融研究者的 MCP 服务,通过 yfinance 提供股票、基金、加密货币、外汇和商品等市场数据。它还涵盖财务报表、分析师预测、期权及市场日历,所有工具均为只读。

主要功能

  1. 01查询报价、历史价格和公司信息
  2. 02获取财务报表、比率与估值
  3. 03查看分析师预测和评级
  4. 04查询持有人、内部人及期权数据
  5. 05获取市场概览与事件日历

适用场景

  1. 01比较多只股票的指标和历史表现
  2. 02查看公司财务与分析师目标价
  3. 03追踪分红、内部人交易和持仓
  4. 04查询即将发布的财报和经济事件

MCP 相关

该 MCP 服务通过 stdio 向兼容客户端提供 Yahoo Finance 数据工具。所有工具均为只读。

配置

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

mcp.json · 通用配置
{
"mcpServers": {
"lkcair-yfinance-ai": {
"command": "uvx",
"args": [
"yfinance-ai"
]
}
}
}
启动命令uvx yfinance-ai

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

安装包
pypiyfinance-ai5.0.5

工具

68

收录的工具列表 · 更新于 1 周前

参数类型必填说明
tickersstring是以逗号分隔的股票代码列表(例如:'AAPL,MSFT,GOOGL')

详细介绍

yfinance-ai MCP 服务

PyPI License: MIT

全球首个 AI 驱动的 Yahoo Finance 集成:通过一个 Python 文件提供 68 个工具,支持股票、ETF、共同基金、加密货币、外汇和大宗商品。

🚀 在 ClawHub 和 OpenWebUI 上有数千次下载

价格和历史数据、财务报表、比率和估值历史、分析师预估和目标价、财报、股息、期权、持有人和内部人士、基金和 ETF、市场异动、板块和行业,以及财报、IPO、经济和拆股日历。

使用方式安装仓库
Claude、Cursor、VS Code、LangChain、Google ADK、Strands Agents 和其他 MCP 客户端uvx yfinance-ai@latestyfinance-ai-mcp
OpenClaw 的 ClawHub 技能 🚀 数千次下载openclaw skills install @lkcair/stocksyfinance-ai-skill
OpenWebUI 工具 🚀 数千次下载前往 openwebui.com 获取yfinance-ai
Pythonfrom yfinance_ai import Toolsyfinance-ai

安装

需要 uv。无需 API 密钥。

Claude Code:

claude mcp add yfinance-ai -- uvx yfinance-ai@latest

VS Code:

code --add-mcp '{"name":"yfinance-ai","type":"stdio","command":"uvx","args":["yfinance-ai@latest"]}'

Claude Desktop、Cursor、Windsurf 和其他客户端,请在客户端的 MCP 配置文件中添加:

{
  "mcpServers": {
    "yfinance-ai": {
      "command": "uvx",
      "args": [
        "yfinance-ai@latest"
      ]
    }
  }
}

@latest 会在客户端启动时获取新版本。不使用 uv 时:运行 pip install yfinance-ai,然后使用 "command": "yfinance-ai",无需参数。

已在 MCP Registry 中登记,名称为 io.github.lkcair/yfinance-ai。所有工具均为只读。

Agent 框架

该服务通过 stdio 使用 uvx yfinance-ai@latest 运行,因此任何支持 MCP 的框架都可以加载其中的所有工具。

LangChain:pip install "langchain[mcp]" langchain-anthropic

import asyncio
from langchain.agents import create_agent
from langchain.mcp import MCPAdapter

async def main():
    config = {"mcpServers": {"yfinance-ai": {
        "command": "uvx", "args": ["yfinance-ai@latest"],
    }}}
    async with MCPAdapter(config) as adapter:
        tools = await adapter.list_tools()
        agent = create_agent("claude-sonnet-5", tools)
        result = await agent.ainvoke({"messages": [{"role": "user", "content": "What is Apple's P/E, and how does it compare with Microsoft and Google?"}]})
        print(result["messages"][-1].content)

asyncio.run(main())

Google ADK:pip install "google-adk[mcp]"

from google.adk.agents import LlmAgent
from google.adk.tools.mcp_tool import McpToolset
from google.adk.tools.mcp_tool.mcp_session_manager import StdioConnectionParams
from mcp import StdioServerParameters

root_agent = LlmAgent(
    model="gemini-flash-latest",
    name="yfinance_ai",
    instruction="Answer with the yfinance-ai tools.",
    tools=[McpToolset(connection_params=StdioConnectionParams(
        server_params=StdioServerParameters(command="uvx", args=["yfinance-ai@latest"]),
        timeout=60,
    ))],
)

Strands Agents:pip install strands-agents

from mcp import stdio_client, StdioServerParameters
from strands import Agent
from strands.tools.mcp import MCPClient

yfinance_ai = MCPClient(lambda: stdio_client(StdioServerParameters(
    command="uvx", args=["yfinance-ai@latest"],
)))
agent = Agent(tools=[yfinance_ai])
agent("What is Apple's P/E, and how does it compare with Microsoft and Google?")

示例问题

  • Apple 的市盈率是多少?与 Microsoft 和 Google 相比如何?
  • 分析师对 NVIDIA 有何看法?目标价和近期评级上调情况如何?
  • 本周有哪些公司发布财报?
  • 今天的比特币价格、EUR/USD 汇率和黄金价格是多少?

MCP 工具(68 个)

报价和历史数据
工具参数描述
get_stock_priceticker获取股票代码对应的当前股价和关键指标
get_stock_quoteticker获取详细报价,包含买卖价、当日区间和交易信息
get_fast_infoticker快速获取股票代码信息(轻量、响应迅速)
get_historical_dataticker, period="1y", interval="1d"获取股票的历史价格数据
get_historical_price_on_dateticker, date获取指定日期的历史价格
download_multiple_tickerstickers, period="1mo", interval="1d"一次获取多个股票代码的历史数据
公司
工具参数描述
get_company_infoticker获取详细的公司信息和业务描述
get_company_overviewticker获取公司概览,并提供每项指标的背景说明
get_company_officersticker获取公司高管和关键管理人员信息
get_isinticker获取股票代码对应的国际证券识别码(ISIN)
财务数据
工具参数说明
get_income_statementticker, period="annual"获取利润表数据
get_balance_sheetticker, period="annual"获取资产负债表数据
get_cash_flowticker, period="annual"获取现金流量表数据
get_ttm_financialsticker获取过去 12 个月(TTM)的利润表和现金流数据
get_key_ratiosticker获取关键财务比率和估值指标
get_valuation_historyticker获取当前及过去几个季度的估值指标(市值、EV、P/E、PEG、P/S、P/B、EV/EBITDA)
get_financial_summaryticker获取股票全面的一页式财务摘要
get_shares_historyticker, years=3获取随时间变化的流通股数(稀释或回购)
盈利和预测
工具参数说明
get_earnings_datesticker获取即将公布和过去的财报日期及预测数据
get_earnings_historyticker获取历史盈利数据,包括年度和季度数据
get_earnings_calendarticker获取财报日历,包括下一次财报发布日期和股息日期
get_analyst_estimatesticker获取分析师对盈利、营收和 EPS 的预测
get_growth_estimatesticker获取分析师的增长预测
get_eps_trendticker获取 EPS(每股收益)趋势数据,展示预测值的变化
get_eps_revisionsticker获取 EPS 修正数据,展示分析师预测的变化
分析师
工具参数说明
get_analyst_recommendationsticker获取分析师的建议和评级
get_analyst_price_targetsticker获取分析师对股票的详细目标价
get_upgrades_downgradesticker, limit=20获取分析师评级上调和下调的详细历史记录
持有人和内部人士
工具参数说明
get_institutional_holdersticker获取主要机构持有人及其持股情况
get_major_holdersticker获取主要持有人摘要(机构、内部人士、公众持股)
get_mutualfund_holdersticker获取共同基金持有人
get_insider_transactionsticker获取近期内部人士交易活动
get_insider_purchasesticker仅获取内部人士买入记录(筛选买入交易)
get_insider_roster_holdersticker获取内部人士名册(公司内部人士列表)
股息和公司行动
工具参数说明
get_dividendsticker, period="5y"获取股息支付历史和当前指标
get_stock_splitsticker获取股票拆分历史
get_corporate_actionsticker获取所有公司行动(合并股息和股票拆分)
get_capital_gainsticker获取资本利得分配(主要针对基金和 ETF)
期权
工具参数说明
get_options_chainticker, expiration=""获取期权链数据(看涨期权和看跌期权)
get_options_expirationsticker获取所有可用的期权到期日
全市场
工具参数描述
get_market_status检查美国股市当前是否开市
get_market_summaryregion="US"获取某个地区的市场概览:开市/休市状态,以及主要指数、期货、债券和外汇
get_market_indices获取主要市场指数的当前价格
get_market_moverscategory="day_gainers", count=10从 Yahoo Finance 筛选器获取今日市场异动股
get_trending_tickerscount=10获取今日交易最活跃(热门)的美国股票代码
get_sector_performance获取主要市场板块的表现
get_sector_overviewsector="technology"获取板块概览:规模、权重、最大公司、行业和板块 ETF
get_industry_overviewindustry="semiconductors"获取行业概览:规模最大、表现最佳和增长最快的公司
日历
工具参数描述
get_upcoming_earningsdays=7, limit=25获取全市场财报日历(未来 N 天发布财报的公司)
get_ipo_calendardays=14, limit=25获取即将进行的 IPO(交易所、预计日期、价格区间、股数)
get_economic_calendardays=7, limit=30获取即将发生的经济事件(CPI、就业、GDP、利率决议)及预期值和前值
get_splits_calendardays=14, limit=25获取即将进行的股票拆分
基金和 ETF
工具参数描述
get_fund_overviewticker获取 ETF 或共同基金的概览数据
get_fund_holdingsticker, limit=25获取 ETF 或共同基金的主要持仓
get_fund_sector_weightsticker获取 ETF 或共同基金的板块配置/权重
加密货币、外汇和大宗商品
工具参数描述
get_crypto_pricesymbol获取加密货币价格和市场数据
get_forex_ratepair获取货币对的外汇汇率
get_commodity_pricecommodity获取大宗商品/期货价格数据
比较
工具参数描述
compare_stockstickers比较多只股票的关键指标
get_peer_comparisonticker, peers=null按关键指标将一只股票与同业公司进行比较
get_historical_comparisontickers, period="1y"比较多只股票的历史价格表现
get_complete_analysisticker, peers=""对一只股票进行完整分析,并调用所有相关工具
新闻和文件
工具参数描述
get_stock_newsticker, limit=10获取有关某只股票的近期新闻文章
get_sec_filingsticker获取近期 SEC 文件(10-K、10-Q、8-K 等)
实用工具
工具参数描述
search_tickerquery按公司名称或关键词搜索股票代码
validate_tickerticker验证股票代码是否存在且可交易
get_api_status获取 API 状态和使用信息
run_self_testticker="SPY"对 yfinance-ai 工具运行全面自测(64 项检查)

许可证

MIT。数据通过 yfinance 来自 Yahoo Finance,可能存在延迟。与 Yahoo 无关联。仅供研究和教育使用,不构成投资建议。

评论

支持 Markdown

第一次接触 MCP?

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

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