guangxiangdebizi
TradingAgents-MCPmode
Python

TradingAgents-MCPmode 是一个创新的多智能体交易分析系统,集成了 Model Context Protocol (MCP) 工具,实现了智能化的股票分析和交易决策流程。系统通过多个专业化智能体的协作,提供全面的市场分析、投资建议和风险管理。

Last updated Jul 9, 2026
325
Stars
72
Forks
7
Issues
0
Stars/day
Attention Score
87
Language breakdown
No language data available.
Files click to expand
README

TradingAgents-MCPmode

基于MCP工具的多智能体交易分析系统

🌟 项目概述

TradingAgents-MCPmode 是一个创新的多智能体交易分析系统,集成了 Model Context Protocol (MCP) 工具,实现了智能化的股票分析和交易决策流程。系统通过15个专业化智能体的协作,提供全面的市场分析、投资建议和风险管理。

🎯 核心特性

  • 🤖 多智能体协作: 15个专业化智能体分工合作
  • ⚡ 并行处理: 分析师团队采用并行架构,显著提升分析效率
  • 🔧 MCP工具集成: 支持外部数据源和实时信息获取
  • 📊 全面分析: 公司概述、市场、情绪、新闻、基本面、股东结构、产品业务七维度分析
  • 💭 智能辩论: 看涨/看跌研究员辩论机制,可配置辩论轮次
  • ⚠️ 风险管理: 三层风险分析和管理决策,支持动态风险辩论
  • 🎛️ 智能体控制: 前端可动态启用/禁用特定智能体,灵活定制工作流
  • 🌀 辩论轮次配置: 前端实时设置投资和风险辩论轮次,精确控制分析深度
  • 🔧 灵活配置: 通过环境变量控制智能体MCP权限
  • 🌍 多市场支持: 美股(US)、A股(CN)、港股(HK)
  • 🗣️ 自然语言: 支持自然语言查询,无需指定市场和日期
  • 📈 实时决策: 基于最新数据的交易建议
  • 🌐 Web前端: 完整的Streamlit Web界面,支持实时分析和历史管理

🏗️ 系统架构

智能体组织结构

┌─────────────────────────────────────────────────────────────┐
│                    TradingAgents-MCPmode                   │
├─────────────────────────────────────────────────────────────┤
│  📊 分析师团队 (Analysts) - 并行执行                         │
│  ├── CompanyOverviewAnalyst (公司概述分析师)               │
│  ├── MarketAnalyst      (市场分析师)        ┐               │
│  ├── SentimentAnalyst   (情绪分析师)        │ 并行处理       │
│  ├── NewsAnalyst        (新闻分析师)        │ 6个分析师      │
│  ├── FundamentalsAnalyst(基本面分析师)      │ 同时执行       │
│  ├── ShareholderAnalyst (股东分析师)        │               │
│  └── ProductAnalyst     (产品分析师)        ┘               │
├─────────────────────────────────────────────────────────────┤
│  🔬 研究员团队 (Researchers)                                │
│  ├── BullResearcher     (看涨研究员)                        │
│  └── BearResearcher     (看跌研究员)                        │
├─────────────────────────────────────────────────────────────┤
│  👔 管理层 (Managers)                                       │
│  ├── ResearchManager    (研究经理)                          │
│  └── Trader             (交易员)                            │
├─────────────────────────────────────────────────────────────┤
│  ⚠️ 风险管理团队 (Risk Management)                          │
│  ├── AggressiveRiskAnalyst (激进风险分析师)                 │
│  ├── SafeRiskAnalyst       (保守风险分析师)                 │
│  ├── NeutralRiskAnalyst    (中性风险分析师)                 │
│  └── RiskManager           (风险经理)                       │
└─────────────────────────────────────────────────────────────┘

🚀 并行化工作流程

graph TD
    %% 用户输入
    USER[👤 用户输入<br/>user_query]
    
    %% 第0阶段:公司概述分析师
    A0[🏢 公司概述分析师<br/>📥 输入:userquery<br/>📤 输出:companydetails + companyoverviewreport]
    
    %% 第1阶段:分析师并行节点
    PARALLEL[⚡ 分析师并行节点<br/>📥 输入:userquery + companydetails<br/>🔄 并发执行6个分析师<br/>📤 输出:全部6个分析报告]
    
    %% 并行执行的6个分析师
    A1[🔍 市场分析师]
    A2[😊 情绪分析师]
    A3[📰 新闻分析师]
    A4[📊 基本面分析师]
    A5[👥 股东分析师]
    A6[🏭 产品分析师]
    
    %% 第2阶段:研究员辩论
    B1[📈 看涨研究员<br/>📥 输入:user_query + 全部7个分析师报告<br/>📤 输出:看涨论证 + 辩论历史]
    B2[📉 看跌研究员<br/>📥 输入:user_query + 全部7个分析师报告 + 辩论历史<br/>📤 输出:看跌论证 + 辩论历史]
    
    %% 第3阶段:管理层
    C1[🎯 研究经理<br/>📥 输入:userquery + 全部7个分析师报告 + 完整辩论历史<br/>📤 输出:investmentplan]
    C2[💰 交易员<br/>📥 输入:userquery + 全部7个分析师报告 + 辩论历史 + investmentplan<br/>📤 输出:traderinvestmentplan]
    
    %% 第4阶段:风险管理团队
    D1[🔥 激进风险分析师<br/>📥 输入:全部信息<br/>📤 输出:激进风险观点 + 风险辩论历史]
    D2[🛡️ 保守风险分析师<br/>📥 输入:全部信息 + 风险辩论历史<br/>📤 输出:保守风险观点 + 风险辩论历史]
    D3[⚖️ 中性风险分析师<br/>📥 输入:全部信息 + 风险辩论历史<br/>📤 输出:中性风险观点 + 风险辩论历史]
    D4[🎯 风险经理<br/>📥 输入:全部信息 + 完整风险辩论历史<br/>📤 输出:finaltradedecision]
    
    %% 主要流程连接
    USER --> A0
    A0 --> PARALLEL
    PARALLEL --> B1
    B1 --> B2
    B2 -.->|辩论循环| B1
    B1 --> C1
    C1 --> C2
    C2 --> D1
    D1 -.->|风险辩论循环| D2
    D2 -.->|风险辩论循环| D3
    D3 -.->|风险辩论循环| D1
    D1 --> D4
    D2 --> D4
    D3 --> D4
    
    %% 并行节点内部连接(虚线表示并发)
    PARALLEL -.-> A1
    PARALLEL -.-> A2
    PARALLEL -.-> A3
    PARALLEL -.-> A4
    PARALLEL -.-> A5
    PARALLEL -.-> A6
    
    %% 样式定义
    style USER fill:#f9f9f9,stroke:#333,stroke-width:2px
    style A0 fill:#e1f5fe,stroke:#0277bd
    style PARALLEL fill:#fff3e0,stroke:#ff8f00,stroke-width:3px
    style A1 fill:#e8f5e8,stroke:#4caf50
    style A2 fill:#e8f5e8,stroke:#4caf50
    style A3 fill:#e8f5e8,stroke:#4caf50
    style A4 fill:#e8f5e8,stroke:#4caf50
    style A5 fill:#e8f5e8,stroke:#4caf50
    style A6 fill:#e8f5e8,stroke:#4caf50
    style B1 fill:#e3f2fd,stroke:#1976d2
    style B2 fill:#e3f2fd,stroke:#1976d2
    style C1 fill:#fff3e0,stroke:#ef6c00
    style C2 fill:#fff3e0,stroke:#ef6c00
    style D1 fill:#fce4ec,stroke:#c2185b
    style D2 fill:#fce4ec,stroke:#c2185b
    style D3 fill:#fce4ec,stroke:#c2185b
    style D4 fill:#fce4ec,stroke:#c2185b

⚡ 并行化优势

  • 显著提升效率: 6个分析师并发执行,总耗时接近最慢分析师的执行时间
  • 资源优化: 充分利用系统资源,避免串行等待
  • 数据一致性: 每个分析师使用深拷贝状态,避免并发冲突
  • 结果合并: 智能合并各分析师的报告和执行历史

在线体验(公网地址)

  • 体验地址:http://47.79.147.241:8501
  • 说明:对外免费开放用于功能体验与演示。
  • 注意:请文明使用,务必不要进行任何形式的攻击、压力测试或恶意访问行为,以免影响服务稳定性。
image

🚀 快速开始

环境要求

  • Python 3.8+
  • 支持的操作系统:Windows、macOS、Linux

安装步骤

  • 克隆项目
git clone https://github.com/guangxiangdebizi/TradingAgents-MCPmode.git
cd TradingAgents-MCPmode
  • 安装依赖
pip install -r requirements.txt
  • 配置环境变量
cp env.example .env

编辑 .env 文件,配置你的API密钥和工作流参数

  • 配置MCP工具
# 编辑 mcp_config.json 文件,配置MCP服务器

🌐 Web前端使用

推荐使用方式 - 通过Web界面进行交互:

streamlit run web_app.py

然后在浏览器中访问:http://localhost:8501 image

Web前端功能

  • 🏠 首页: 系统概览和快速导航
  • ⚙️ 系统配置: 在线编辑.env和MCP配置
  • 🔍 实时分析: 输入查询并实时监控分析进度
  • 🤖 智能体控制: 动态启用/禁用特定智能体,按团队组织的复选框界面
  • 🌀 辩论配置: 实时调整投资和风险辩论轮次,精确控制分析深度
  • 📊 智能体页面: 按团队查看各智能体的详细分析结果
  • 📚 历史报告: 管理历史会话,支持Markdown、PDF、DOCX导出

🎛️ 前端智能体控制特性

智能体启用控制

  • 分组管理: 按分析师、研究员、管理层、风险管理四大团队组织
  • 实时选择: 复选框界面,支持全选/全不选快速操作
  • 动态计数: 实时显示已启用智能体数量 (如: 已启用 12/15)
  • 智能跳过: 禁用的智能体会自动跳过,不影响工作流连续性
辩论轮次配置
  • 🔄 投资辩论: 滑块设置看涨/看跌研究员辩论轮次 (每轮=双方各发言1次)
  • ⚖️ 风险辩论: 滑块设置激进/保守/中性风险分析师辩论轮次 (每轮=三方各发言1次)
  • 📊 实时预览: 显示当前设置及预计发言次数
  • 🚀 自动应用: 开始分析时自动应用前端设置,无需手动确认

💻 命令行使用

如果你偏好命令行方式:

python main.py -c "分析苹果公司股票"

交互模式

python main.py

然后按提示输入你的查询,例如:

  • "分析特斯拉股票"
  • "给我分析一下600036招商银行"
  • "分析NVDA的投资价值"

📊 数据流转机制

🎯 关键设计特点

  • company_details占位符系统
- 🏢 公司概述分析师首先获取公司基础信息 - 📥 仅传递给分析师团队:6个专业分析师都能获得准确的公司背景 - 🚫 不传递给后续智能体:研究员及之后的智能体专注于分析报告综合评估
  • 信息累积效应
- 第0阶段:仅用户查询 - 第1阶段:用户查询 + 公司详细信息(并行处理) - 第2阶段:用户查询 + 全部7个分析师报告 - 第3阶段:用户查询 + 分析师报告 + 辩论历史 + 投资决策 - 第4阶段:用户查询 + 所有信息 + 风险观点
  • 双重辩论机制
- 投资辩论:看涨 ↔ 看跌研究员循环辩论 - 风险辩论:激进 ↔ 保守 ↔ 中性风险分析师循环辩论

💡 实际应用示例

用户输入:"分析特斯拉股票"

  • 🏢 公司概述分析师:获取Tesla Inc.、TSLA、NASDAQ、电动汽车行业等基础信息
  • ⚡ 分析师并行节点:6个分析师同时基于准确的"Tesla Inc."信息进行专业分析
  • 📈 看涨研究员:综合所有7个专业分析报告,构建Tesla的看涨投资论证
  • 🎯 风险经理:基于所有信息和辩论结果,做出Tesla投资的最终风险决策
这种设计确保了信息的精准传递逐步精炼,每个智能体都能在最适合的信息环境中发挥专业能力!

🎯 使用示例

📱 前端操作示例

场景: 快速分析苹果公司股票,仅启用核心分析师并设置简化辩论

  • 启动系统:
streamlit run web_app.py
  • 配置智能体 (在"🤖 本轮启用智能体"展开):
- ✅ 分析师团队: 全选 (7个智能体) - ✅ 研究员团队: 仅选择看涨研究员 - ❌ 管理层: 全不选 (快速分析) - ❌ 风险管理: 全不选 (快速分析) - 📊 显示: 已启用 8/15
  • 设置辩论轮次 (在"🌀 辩论轮次设置"展开):
- 🔄 投资辩论轮次: 1轮 (仅看涨研究员发言1次) - ⚖️ 风险辩论轮次: 0轮 (跳过风险辩论)
  • 执行分析:
- 输入: "分析苹果公司股票的投资价值" - 点击"🚀 开始分析" - 系统自动应用前端设置并开始执行
  • 预期结果:
- ⚡ 快速执行: 仅8个智能体参与,显著减少分析时间 - 📊 核心报告: 获得7份专业分析师报告 - 🎯 投资建议: 看涨研究员基于分析师报告提供投资建议

🎛️ 动态配置优势

  • 🚀 快速体验: 禁用非核心智能体,1-2分钟获得分析结果
  • 🔬 深度分析: 启用全部智能体+多轮辩论,获得完整决策支持
  • 🎯 定制化: 根据分析需求灵活选择智能体组合
  • 💡 实时调整: 无需重启服务,前端实时调整参数

🛠️ 配置说明

环境变量配置

.env 文件中配置以下参数:

# 大模型配置
OPENAIAPIKEY=youropenaiapi_key
OPENAIBASEURL=https://api.openai.com/v1
MODEL_NAME=gpt-4

工作流配置

MAXDEBATEROUNDS=1 # 投资辩论默认轮次(可在前端动态调整) MAXRISKDEBATE_ROUNDS=1 # 风险辩论默认轮次(可在前端动态调整) DEBUG_MODE=true # 调试模式,显示详细日志 VERBOSE_LOGGING=true # 详细日志输出

智能体MCP权限配置

分析师团队 - 建议开启MCP以获取实时数据

COMPANYOVERVIEWANALYST_MCP=true MARKETANALYSTMCP=true SENTIMENTANALYSTMCP=true NEWSANALYSTMCP=true FUNDAMENTALSANALYSTMCP=true SHAREHOLDERANALYSTMCP=true PRODUCTANALYSTMCP=true

研究员/管理/风险团队 - 建议关闭MCP专注综合分析

BULLRESEARCHERMCP=false BEARRESEARCHERMCP=false RESEARCHMANAGERMCP=false TRADER_MCP=false AGGRESSIVERISKANALYST_MCP=false SAFERISKANALYST_MCP=false NEUTRALRISKANALYST_MCP=false RISKMANAGERMCP=false

任务数量并发限制

MAXCONCURRENTANALYSIS=2 # 同时运行的分析任务数量
💡 提示: 环境变量中的 MAXDEBATEROUNDSMAXRISKDEBATE_ROUNDS 仅为默认值,实际运行时可在前端实时调整。建议设为1以获得快速体验,如需深度分析可在前端增加轮次。

MCP工具配置

mcp_config.json 文件中配置MCP服务器:

{
  "mcpServers": {
    "finance-mcp": {
      "disabled": false,
      "timeout": 600,
      "transport": "streamable_http",
      "url": "https://finvestai.top/mcp",
      "headers": {
        "X-Tushare-Token": "您的tushare令牌"
      }
    }
  }
}

配置说明

  • disabled: 是否禁用该MCP服务器(false表示启用)
  • timeout: 请求超时时间(秒),默认600秒
  • transport: 传输协议,使用 streamable_http
  • url: MCP服务器地址 https://finvestai.top/mcp
  • X-Tushare-Token: 请替换为你的真实 Tushare API Key
💡 提示: 修改配置后,请重启应用或热重载 MCP 客户端使配置生效。

📈 性能优化

并行处理优势

  • 原串行架构: 6个分析师顺序执行,总耗时 = Σ(各分析师耗时)
  • 新并行架构: 6个分析师并发执行,总耗时 ≈ max(各分析师耗时)
  • 性能提升: 理论上可提升5-6倍效率,实际提升取决于各分析师的耗时分布

资源管理

  • 使用深拷贝避免状态竞争
  • 智能合并执行历史和工具调用记录
  • 优化内存使用,避免状态冗余

🤝 贡献指南

欢迎提交Issue和Pull Request来改进项目!

📄 许可证

本项目采用 MIT 许可证。详见 LICENSE 文件。


TradingAgents-MCPmode - 让AI智能体团队为你的投资决策保驾护航! 🚀📈

📬 联系方式

🔗 More in this category

© 2026 GitRepoTrend · guangxiangdebizi/TradingAgents-MCPmode · Updated daily from GitHub