Yahoo金融数据服务

一个基于yfinance的金融数据服务器,提供股票数据、新闻和其他金融信息获取工具。

  • by bald-newcomer
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 bald-newcomer/yfinance-mcp

使用说明

雅虎金融MCP服务器

一个用于雅虎财经的简单MCP服务器 y融资此服务器提供一组工具来获取股票数据、新闻和其他财务信息。

工具

  • get_ticker_info

    • 检索股票数据,包括公司信息、财务、交易指标和治理数据。
    • 输入:
      • symbol (string):股票代码。
  • get_ticker_news

    • 获取与特定股票代码相关的最新新闻文章,包括标题、内容和来源详细信息。
    • 输入:
      • symbol (string):股票代码。
  • 搜索

    • 从雅虎财经获取并组织搜索结果,包括股票报价和新闻文章。
    • 输入:
      • query (string):搜索查询(股票代码或公司名称)。
      • search_type (string):要检索的搜索结果类型(选项:“全部”、“引号”、“新闻”)。
  • get_top

    • 获得某个行业的顶级实体(ETF、共同基金、公司、成长型公司或表现良好的公司)。
    • 输入:
      • sector (string):要得到的部门。
      • top_type (string):要检索的顶级公司的类型(选项:“top_etfs”、“top_mutual_funds”、“top_companys”、”top_growth_companys“、”top_performing_companys“)。
      • top_n (number,可选):要检索的顶级实体的数量(默认值为10)。
  • get_price_history

    • 获取指定时间段和时间间隔内给定股票代码的历史价格数据。可以以降价表的形式返回数据,也可以使用mplfinance生成专业的财务图表,包括带有交易量条的烛台图、VWAP覆盖图和交易量概况分析。
    • 输入:
      • symbol (string):股票代码。
      • period (字符串,可选):检索数据的时间段(例如“1d”、“1mo”、“1y”)。默认值为“1mo”。
      • interval (字符串,可选):数据间隔频率(例如“1d”、“1h”、“1m”)。默认值为“1d”。
      • chart_type (字符串,可选):要生成的图表类型。如果未指定,则以降价表的形式返回价格数据。选项:
        • “price_volume”:带音量条的烛台图
        • “vwap”:带有vwap叠加的成交量加权平均价格图
        • “volume_profile”:带有交易量分布的烛台图,按价格水平显示交易量分布(在右侧显示为直方图)
    • 输出:
      • 如果 chart_type 未指定:以降价表的形式返回历史价格数据
      • 如果 chart_type 指定:返回base64编码的WebP图像,以实现有效的令牌使用

用法

您可以通过uv(Python包安装程序)、Docker或本地开发使用此MCP服务器。

通过紫外线

  1. 安装uv
  2. 将以下配置添加到MCP服务器配置文件中:
{
  "mcpServers": {
    "yfmcp": {
      "command": "uvx",
      "args": ["yfmcp@latest"]
    }
  }
}

通过Docker

将以下配置添加到MCP服务器配置文件中:

{
  "mcpServers": {
    "yfmcp": {
      "command": "docker",
      "args": ["run", "-i", "--rm", "narumi/yfinance-mcp"]
    }
  }
}

本地开发

对于本地开发,请将以下配置添加到MCP服务器配置文件中:

{
  "mcpServers": {
    "yfmcp": {
      "command": "uv",
      "args": [
        "run",
        "--directory",
        "/path/to/yfinance-mcp",
        "yfmcp"
      ]
    }
  }
}

替换 /path/to/yfinance-mcp 使用本地存储库的实际路径。

演示聊天机器人

此存储库包括一个使用以下组件构建的演示聊天机器人 Chainlit 它为雅虎财经MCP服务器提供了一个对话界面。

特性

  • 用于查询股票信息的交互式聊天界面
  • 自动显示财务图表和数据可视化
  • 支持OpenAI和LiteLLM后端
  • 工具调用与MCP服务器的集成

设置

  1. 安装演示依赖项:
uv sync --extra dev
  1. 配置环境变量(创建 .env 文件):
# For OpenAI
OPENAI_API_KEY=your_openai_api_key
DEFAULT_MODEL=gpt-4.1

# For LiteLLM (alternative)
LITELLM_API_KEY=your_litellm_api_key
LITELLM_BASE_URL=your_litellm_base_url
DEFAULT_MODEL=gpt-4.1
  1. 运行演示:
uv run chainlit run demo.py

聊天机器人将在 http://localhost:8000.

查询示例

  • “获取AAPL股票信息”
  • “显示TSLA最近的新闻”
  • “显示过去一个月的NVDA价格历史记录”
  • “给我看过去3个月微软的烛台图”