Hotdry.
ai-systems

基于MCP协议的多平台热点聚合与AI分析架构

深入解析TrendRadar如何通过MCP协议实现35个平台数据聚合、智能筛选、个性化算法排序和AI对话分析的工程化架构设计。

在信息爆炸的时代,如何从海量热点中精准获取有价值的信息成为核心挑战。TrendRadar 项目通过创新的 MCP(Model Context Protocol)协议实现多平台热点聚合与 AI 分析,为舆情监控和新闻分析提供了工程化解决方案。

技术背景与问题重构

传统信息获取模式存在两大痛点:被动算法绑架信息过载。用户被各平台的推荐算法牵着走,接收大量无关信息,同时分散在多个平台的热搜缺乏统一评估标准。TrendRadar 将问题重构为多源数据聚合 + 智能筛选 + AI 分析的三层架构。

项目数据源基于newsnow项目,支持 35 个主流平台,包括知乎、抖音、B 站、华尔街见闻、财联社等,覆盖社交媒体、新闻资讯、财经数据等多个维度。

五层架构设计

1. 数据聚合层(Data Aggregation Layer)

# 支持的平台配置示例
platforms:
  - id: "zhihu"      # 知乎
    name: "知乎"
  - id: "douyin"     # 抖音
    name: "抖音"
  - id: "weibo"      # 微博
    name: "微博"
  - id: "wallstreetcn" # 华尔街见闻
    name: "华尔街见闻"

采用模块化平台适配设计,每个平台作为独立数据源,通过统一的 API 接口获取热搜数据。关键设计原则是解耦性强,新增平台只需配置相应适配器,不影响整体架构。

2. 智能筛选引擎(Intelligent Filtering Engine)

实现三层关键词过滤机制:

基础语法规则:

  • 普通词:包含任意匹配即捕获(如 "华为")
  • 必须词 +关键词:必须同时包含(如 "+ 发布" 限制新品发布)
  • 过滤词 !关键词:包含即排除(如 "! 广告" 排除营销内容)

** 词组化功能:** 通过空行分隔实现多主题独立统计

# 示例配置
iPhone          # 第一组:手机新品类
华为
OPPO
+发布

A股             # 第二组:股市行情类
上证
深证
+涨跌
!预测

世界杯          # 第三组:足球赛事类
欧洲杯
亚洲杯
+比赛

3. 个性化算法层(Personalized Algorithm Layer)

基于多因子权重模型重新排序各平台热搜:

核心权重公式:

  • 排名权重(rank_weight):60% - 看重平台热搜位置
  • 频次权重(frequency_weight):30% - 关注持续热度
  • 质量权重(hotness_weight):10% - 考虑排名稳定性

场景化配置:

# 追实时热点型(自媒体/营销)
weight:
  rank_weight: 0.8
  frequency_weight: 0.1
  hotness_weight: 0.1

# 追深度话题型(投资/研究)
weight:
  rank_weight: 0.4
  frequency_weight: 0.5
  hotness_weight: 0.1

4. MCP AI 分析层(MCP AI Analysis Layer)

基于标准 MCP 协议实现 13 种分析工具:

工具分类架构:

  • 基础查询:get_latest_news、get_news_by_date、get_trending_topics
  • 智能检索:search_news、search_related_news_history
  • 高级分析:analyze_topic_trend、analyze_data_insights、analyze_sentiment、find_similar_news、generate_summary_report
  • 系统管理:get_current_config、get_system_status、trigger_crawl

传输层实现:

  • HTTP 模式:标准 HTTP 服务(端口 3333),适合远程客户端
  • STDIO 模式:本地进程间通信,适合桌面 IDE 集成

5. 多渠道推送层(Multi-Channel Push Layer)

支持 6 种推送渠道的工程化集成:

推送配置矩阵:

  • 企业微信 / 飞书 / 钉钉:基于 Webhook 的即时推送
  • Telegram:Bot API 集成,支持分批推送
  • 邮件:支持主流邮箱服务商,SMTP 自动识别
  • ntfy:开源推送方案,支持自托管部署

时间窗口控制:

push_window:
  enabled: true
  time_range:
    start: "09:00"  # 工作时间推送
    end: "18:00"
  daily_only: true  # 每天仅推送一次

部署与工程化参数

Docker 环境变量覆盖机制

# 核心配置项环境变量
ENABLE_CRAWLER=true              # 启用爬虫
REPORT_MODE=filtered             # 报告模式
PUSH_WINDOW_ENABLED=true         # 推送时间窗口
PUSH_WINDOW_START=09:00          # 推送开始时间
PUSH_WINDOW_END=18:00           # 推送结束时间

MCP 客户端集成配置

Claude Desktop 配置:

{
  "mcpServers": {
    "trendradar": {
      "command": "uv",
      "args": ["--directory", "/path/to/TrendRadar", "run", "python", "-m", "mcp_server.server"],
      "env": {},
      "disabled": false
    }
  }
}

HTTP 模式(推荐):

# 启动服务
./start-http.sh
# 服务地址:http://localhost:3333/mcp

技术价值与架构创新

TrendRadar 的核心价值在于将被动信息消费转化为主动精准获取。通过跨平台统一算法,解决了各平台热搜无法横向比较的问题。AI 对话分析功能让复杂的新闻数据挖掘变得自然直观,用户可以用 "分析最近 7 天特斯拉的热度变化趋势" 这样的自然语言查询历史数据。

工程化亮点:

  • 解耦架构:数据源、算法、分析三层独立演进
  • 配置驱动:通过配置文件而非代码修改实现个性化
  • 多协议支持:HTTP/STDIO 双模式适配不同使用场景
  • 快速部署:30 秒 GitHub Pages + 1 分钟手机通知的工程化体验

这种基于 MCP 协议的多平台聚合架构为 AI 辅助的信息分析提供了新的范式,展示了 AI 在解决信息过载问题上的工程化路径。随着 MCP 协议的普及,类似架构将成为 AI 驱动的数据分析平台的标准模式。


参考资料:

查看归档