S

StockMCP 股知助手

@Shak2000/StockMCP
0 Stars 452 次浏览 Shak2000 更新于 2026-08-23

将Yahoo Finance API与LLaMA 3.2 3B集成,使用户能够在保持模型原有功能的同时,获取实时股票价格、公司信息、历史数据和市场新闻。

该服务暂未提供标准配置,请参考 README 手动接入

服务介绍

Yahoo Finance 模型上下文协议 (MCP) 用于 LLaMA 3.2 3B

此仓库包含一个模型上下文协议 (MCP) 实现,该实现将 Yahoo Finance API 与 LLaMA 3.2 3B 集成在一起。MCP 允许模型在保留 LLaMA 所有常规功能的同时检索实时金融数据、股票信息和市场新闻。

特性

  • 在 LLaMA 3.2 3B 中直接获取实时股票价格
  • 检索详细的公司信息(行业、市场资本等)
  • 获取具有可定制时间段和间隔的历史股票数据
  • 获取最新的市场新闻头条
  • 无缝增强 LLaMA 的能力而不干扰非金融查询

要求

  • Python 3.8+
  • Ollama - 用于本地运行 LLaMA 3.2 3B
  • 通过 Ollama 拉取的 LLaMA 3.2 3B 模型
  • Python 包:
    • ollama
    • yfinance
    • requests
    • pandas

安装

  1. https://ollama.ai/ 安装 Ollama

  2. 使用 Ollama 拉取 LLaMA 3.2 3B 模型:

    ollama pull llama3.2:3b
    
  3. 克隆此仓库:

    git clone <repository-url>
    cd mcp_yahoo_finance
    
  4. 安装所需的 Python 依赖项:

    pip install -r requirements.txt
    

使用

运行带有 Ollama 集成的 MCP

要通过 Ollama 使用 Yahoo Finance MCP 与 LLaMA 3.2 3B:

python mcp_ollama_integration.py

这将启动一个交互会话,在其中您可以:

  • 提出财务问题,这些问题将通过 Yahoo Finance 数据进行丰富
  • 提出任何其他问题,这些问题将由 LLaMA 3.2 3B 正常处理

示例查询

财务查询(通过 Yahoo Finance 数据增强)

  • "苹果股票当前的价格是多少?"
  • "告诉我特斯拉公司的信息"
  • "微软股票在过去一个月的表现如何?"
  • "最新的市场新闻头条是什么?"
  • "亚马逊的52周最高价是多少?"
  • "Nvidia 属于哪个行业?"
  • "标普500指数今年表现如何?"

非财务查询(由 LLaMA 正常处理)

  • "法国的首都是什么?"
  • "解释量子计算"
  • "写一首关于秋天的诗"
  • "什么是勾股定理?"

使用不同的 LLaMA 模型

您可以通过 --model 参数指定不同的模型:

python mcp_ollama_integration.py --model llama3.2:8b

工作原理

  1. MCP 分析每个用户查询以确定其是否与财务相关
  2. 对于财务查询,它:
    • 识别相关的财务函数调用(价格、信息、历史、新闻)
    • 通过 MCP 调用 Yahoo Finance API
    • 格式化实时数据并将其作为上下文提供给 LLaMA 3.2 3B
    • LLaMA 3.2 3B 结合财务数据提供自然响应
  3. 对于非财务查询,它直接传递给 LLaMA 3.2 3B 而不做任何修改

这种方法无缝地增强了 LLaMA 的能力,并结合了实时财务数据,同时保留了其所有原始功能。

高级使用

直接 API 函数

如果你想在代码中直接使用Yahoo Finance MCP函数:

from yahoo_finance_mcp import YahooFinanceMCP

# Initialize the MCP
mcp = YahooFinanceMCP()

# Get stock price
price_data = mcp.execute_function("get_stock_price", {"symbol": "AAPL"})

# Get company information
company_data = mcp.execute_function("get_stock_info", {"symbol": "TSLA"})

# Get historical data
history_data = mcp.execute_function("get_stock_history", {"symbol": "MSFT", "period": "1mo"})

# Get market news
news_data = mcp.execute_function("get_market_news", {"limit": 5})

故障排除

  • "连接Ollama时出错":请确保Ollama已安装并正在运行
  • 找不到公司:尝试使用官方的股票代码而不是公司名称
  • 找不到LLaMA 3.2 3B模型:运行ollama pull llama3.2:3b来下载模型

致谢

本项目使用yfinance库来获取Yahoo Finance数据,并使用Ollama在本地运行LLaMA 3.2 3B。

相关 MCP 服务