股票分析工具

一个基于自定义MCP协议和Groq OSS-120B模型的本地股票分析工具,提供市场数据获取、工作流协调、审计跟踪和交互式UI功能。

  • by VivekMohape
  • Python
  • 本地部署
  • 更新于
在 GitHub 查看 VivekMohape/MCP-Stock-Analyzer

使用说明

MCP库存分析仪

定制MCP•Groq OSS-120•流光灯

完全本地化 自定义MCP(模型上下文协议) 股票分析工作流程由以下驱动:

  • OpenAI OSS-120B (通过 GROQ_API_KEY)
  • 本地MCP风格编排器
  • 基于工具的执行管道
  • 完整来源记录(SQLite)
  • 交互式流媒体用户界面

现场演示

https://mcp-stock-analyzer.streamlit.app/


这个项目展示了什么

此存储库是一个紧凑的、可用于生产的演示 定制MCP系统,其中:

  • 工具获取市场数据
  • 编排器协调所有步骤
  • 上下文被组装并发送到LLM
  • 记录结构化审计跟踪
  • UI可视化整个MCP管道

自定义MCP架构

这是MCP的一个纯粹的、最小的实现:

✔ 工具

定义于 tools_registry.py

  • quote_tool()
  • history_tool()
  • fundamentals_tool()

✔ 编排器

定义于 local_orchestrator.py

执行MCP管道:

  1. 按顺序调用工具
  2. 收集结果
  3. 撰写提示
  4. 呼叫Groq OSS-120型号
  5. 记录每一步

✔ 来源/审计

audit_model.py 记录每个MCP步骤:

  • 运行ID
  • 步骤索引
  • 工具名称
  • 输入JSON
  • 输出JSON
  • 持续时间
  • 时间戳

✔ LLM客户端

llm_client.py

  • 仅限Groq
  • 支持探测/调试
  • 使用型号: openai/gpt-oss-120b

✔ UI/检查器

streamlit_app.py
交互式仪表板,显示:

  • LLM最终输出
  • MCP分步跟踪
  • 调试信息
  • 结论总结
  • 过去的跑步记录(可滚动面板)

此应用程序如何实现“自定义MCP”

MCP(模型上下文协议)=LLM使用工具执行工作流的结构化方法。

本项目使用MCP概念:

MCP概念 实施
工具 独立微功能(tools_registry.py)
控制器 确定性编排器(local_orchestrator.py)
上下文组装 包含工具输出的聚合提示
来源 每个工具+LLM调用的SQLite日志
LLM解析器 Groq OSS-120B llm_client.py
检查器UI 显示完整跟踪的流式仪表板
可重复性 list_runs() 和 get_trace()

特性

  • 自定义MCP执行管道
  • Groq OSS-120B集成
  • 多步骤工具工作流程
  • 逐步审计跟踪(输入+输出)
  • 历史窗口选择:1m、3m、6m、1y、5y
  • 可滚动的往绩侧栏
  • 自动结论提取
  • 按键检测调试面板+LLM探头
  • 完全可在Streamlit Cloud上部署

入门(本地)

1.克隆仓库

git clone https://github.com/<your-user>/MCP-Stock-Analyzer.git
cd MCP-Stock-Analyzer

2.安装依赖项

pip install -r requirements.txt

3.设置Groq API密钥

export GROQ_API_KEY="your_key_here"

4.运行Streamlit用户界面

streamlit run streamlit_app.py

在Streamlit云上部署

  1. 将此存储库推送到 GitHub

  2. 首选 https://share.streamlit.io → 新应用程序

  3. 选择:

    • 回购:您的GitHub回购
    • 分行: main
    • 文件: streamlit_app.py
  4. 添加您的秘密(在“应用程序”下→ 设置→ 秘密”):

    GROQ_API_KEY = "your_key_here"
    
  5. 点击 部署


用真实市场数据取代模拟工具

您可以从模拟数据切换到 y融资 或实际市场API。

例子:

import yfinance as yf

def quote_tool(ticker):
    return yf.Ticker(ticker).fast_info

添加:

  • OHLC数据
  • 财务报表
  • 分析师评级
  • 新闻情绪

如何扩展MCP工作流程

您可以添加任何步骤:

  • 新闻刮刀
  • 情绪分析器
  • 风险评分
  • 日间信号
  • 期权流程
  • 多模型LLM推理
  • 人在循环确认

每个步骤都成为编排器+审计日志中的另一个MCP“步骤”。


贡献

PR欢迎! 打开以下问题:

  • 附加MCP图案
  • 更好的工具集成
  • Groq费率限制处理
  • 持久数据库存储
  • 增强图表