项目简介
TrendRadar 是一款功能强大的新闻热点聚合工具,能够从知乎、抖音、微博、百度等11+主流平台自动抓取和整合热点新闻。通过 Model Context Protocol (MCP) 服务器,TrendRadar 将这些丰富的实时和历史新闻数据、以及高级分析能力以标准化的方式暴露给大语言模型(LLM)客户端。这意味着你可以通过自然语言与LLM交互,让LLM调用TrendRadar提供的工具进行对话式查询、深度分析和趋势追踪,从而告别手动数据翻阅。
主要功能点
- 全网热点聚合: 自动从知乎、抖音、B站、微博、百度热搜、华尔街见闻、财联社、澎湃新闻、凤凰网、今日头条、贴吧等11个主流平台抓取热点新闻,并支持自定义添加更多平台。
- 智能分析工具: 提供13种AI分析工具,涵盖基础查询(如获取最新新闻、指定日期新闻)、智能检索(如关键词搜索、历史相关新闻)、高级分析(如话题热度趋势、新闻生命周期、爆火话题检测、趋势预测、平台数据对比、关键词共现、情感分析、相似新闻查找、摘要报告生成)以及系统管理(如获取系统配置、手动触发爬取任务)。
- 个性化筛选与追踪: 支持通过设置个人关键词(普通词、必须词'+'、过滤词'!')精准筛选新闻内容,并实时追踪新闻的热度变化、生命周期和演变趋势。
- 多模式数据推送: 提供“当日汇总”、“当前榜单”和“增量监控”三种推送模式,并支持通过企业微信、飞书、钉钉、Telegram、邮件、ntfy 等多种渠道实时推送消息到你的手机或邮箱。
- AI 对话能力: LLM客户端能够通过标准的MCP协议与服务器进行自然语言交互,调用其提供的丰富工具进行数据查询和复杂分析,极大地提升了新闻信息获取和理解的效率。
安装步骤
- 克隆或Fork仓库:
- 首先将 TrendRadar 项目克隆或 Fork 到你的本地计算机。
git clone https://github.com/bobkingdom/TrendRadar.git cd TrendRadar - 安装Python依赖:
- 进入项目根目录,根据你的操作系统运行相应的安装脚本。这会安装Python及其相关的依赖(包括运行MCP服务器所需的'uv'和'fastmcp'库)。
- Windows用户:
setup-windows.bat - Linux/macOS用户:
./setup-mac.sh
- 配置基础参数:
- 主配置文件: 编辑 'config/config.yaml' 文件,调整如 'platforms'(监控平台列表)、'weight'(热点算法权重)、'report'(报告模式)等参数。
- 关键词设置: 编辑 'config/frequency_words.txt' 文件,添加你关心的关键词。你可以使用普通词、必须词(前加'+')、过滤词(前加'!')来精确匹配你想要追踪的新闻。
服务器配置
TrendRadar MCP服务器支持 STDIO 和 HTTP 两种传输模式,以适应不同的客户端集成场景。MCP客户端需要知道如何启动此服务器并与其通信。
HTTP模式(推荐用于远程、容器化部署或跨进程通信):
- 启动命令:
'uv run python mcp_server/server.py --transport http --port 3333'
- '--transport http': 指定MCP服务器使用HTTP协议进行通信。
- '--port 3333': 指定MCP服务器监听的端口号,你可以更换为其他未被占用的端口。
- '--host 0.0.0.0' (可选): 指定MCP服务器监听所有可用的网络接口。
- MCP客户端配置示例:
当你在MCP客户端(如Cursor、Cline、MCP Inspector等)中配置连接信息时,通常需要提供服务器的URL和类型。例如,在JSON配置中,它可能看起来像这样:
请根据你的实际部署地址和端口修改 'url' 字段。{ "name": "TrendRadar", "url": "http://localhost:3333/mcp", "type": "http", "description": "新闻热点聚合分析服务" }
STDIO模式(推荐用于本地集成客户端如Cherry Studio、Claude Desktop):
- 启动命令:
'uv run python mcp_server/server.py'
- '--project-root [你的项目根目录路径]' (可选): 如果你的客户端或'uv'命令的运行环境不在TrendRadar项目的根目录,请指定项目的绝对路径。
- MCP客户端配置示例:
当你在MCP客户端中配置连接信息时,通常需要提供启动服务器的命令和参数。例如,在JSON配置中,它可能看起来像这样:
请将 '/path/to/TrendRadar' 替换为你的TrendRadar项目在系统中的实际绝对路径。{ "name": "TrendRadar", "command": "uv", "args": [ "--directory", "/path/to/TrendRadar", // 请替换为你的TrendRadar项目实际路径 "run", "python", "-m", "mcp_server.server" ], "type": "stdio", "description": "新闻热点聚合分析服务" }
基本使用方法
- 生成新闻数据:
- 确保 'main.py' 程序至少运行一次,以便生成初始新闻数据文件(位于 'output/' 目录)。你可以通过以下方式:
- GitHub Actions: Fork项目后会自动定时运行,是最推荐的方式。
- Docker部署: 使用提供的 'docker-compose.yml' 启动容器,它会按计划自动运行。
- 手动运行: 在项目根目录执行 'python main.py'。
- 确保 'main.py' 程序至少运行一次,以便生成初始新闻数据文件(位于 'output/' 目录)。你可以通过以下方式:
- 启动MCP服务器:
- 根据你选择的传输模式(HTTP或STDIO),在命令行中执行上述相应的MCP服务器启动命令。服务器将在后台运行,等待客户端连接。
- 连接MCP客户端:
- 打开你偏好的LLM客户端(如Cherry Studio, Claude Desktop, Cursor, Cline等),并按照其指引配置TrendRadar MCP服务器的连接信息。确保填写的命令、参数或URL与你的服务器启动方式匹配。
- 与AI对话:
- 一旦客户端成功连接到TrendRadar MCP服务器,你就可以通过自然语言向LLM提问,让它调用TrendRadar的工具来获取和分析新闻数据。例如:
- "查询今天知乎和微博的热点新闻,并给我前10条"
- "分析'比特币'这个话题最近7天的热度变化趋势"
- "生成一份昨天的热点摘要报告"
- "搜索所有包含'人工智能'关键词的新闻,并找出情绪积极的"
- "手动触发一次所有平台的爬取任务,并保存到本地"
- "我想了解一下当前系统的配置信息"
- 一旦客户端成功连接到TrendRadar MCP服务器,你就可以通过自然语言向LLM提问,让它调用TrendRadar的工具来获取和分析新闻数据。例如:
信息
分类
网页与API